License: This documentation system (PRD, FIP template, guides, and copilot-instructions) is © 2026 Ángel Asensio and licensed under CC BY 4.0.
This folder contains all product and planning documentation for the project.
docs/
├── prd/
│ └── PRD.md # product-level source of truth (own projects)
├── briefs/
│ ├── FB-TEMPLATE.md # feature brief template (corporate / sprint-based)
│ └── FB-XXX-<slug>.md # one per feature brief
├── plan/
│ ├── FIP-TEMPLATE.md # feature implementation plan template
│ └── FIP-XXX-<slug>.md # one per feature implementation plan
└── guides/
└── GUIDE-<topic>.md # manual setup steps, external service config
Start with Prepare Santoro Releases and Deploy to Internal Testing. This is the single didactic setup and operating guide: it explains what each service/control does, why Santoro needs it, the UI steps, expected outcomes, credential inventory, rehearsals, Play testing and manual Production promotion.
The approved development flow allows ordinary direct pushes to main. Branch rules protect history without requiring PRs; same-commit release checks prevent failed code from reaching Internal. A manual GitHub button starts automated delivery to Internal, and Production remains a manual decision after testing the same artifact.
The guide itself contains the preparation checklist, implementation requirements and release-evidence record. The previous release/Internal guides and separate release FIP have been removed. Workflow and external setup remain pending; reading the guide does not enable publishing.
New non-trivial pilot changes use openspec/changes/<change>/ with proposal, delta specs, design, and tasks. The first pilot is F-29 person exploration; its implementation and focused emulator checks are complete, with final validation/manual gates recorded in the evidence report.
Use OpenSpec 1.12.0 with the default spec-driven schema. Install the CLI globally with npm install -g @fission-ai/openspec@1.12.0. Reusable skills and commands live at user level; project context stays in openspec/config.yaml, specifications in openspec/specs/, and active plans in openspec/changes/.
Use the global OpenSpec propose/apply skills to plan and implement a change. Inspect progress with openspec status --change <name> and validate artifacts with openspec validate <name> --strict. Follow the testing guide during implementation and record validation evidence alongside the change. After implementation, required checks and human review are complete, sync delta specs and archive the change. OpenSpec validation complements the repository tests and external gates.
Existing FIPs, including FIP-023 validation, retain the workflows below. Release preparation is tracked directly in the unified release guide instead of a separate FIP. Keep one plan per change; current specs grow from validated archived changes rather than inferred coverage of untouched code.
New features and behavior fixes follow the testing and TDD guide. It defines test boundaries, observable red/green evidence, Compose interaction tests, screenshots, and navigation checks. Existing behavior receives regression coverage without being relabeled as test-first work.
Use when you own the product and control the full roadmap.
PRD.md → FIP-<feature>.md → execute phase by phase → mark checkboxes
PRD.md.docs/guides/ — read the guide first.Use when you join an existing project and work task-by-task from a sprint backlog.
Sprint ticket → FB-<feature>.md → FIP-<feature>.md → execute → mark checkboxes
FB-XXX-<slug>.md) from the template — document current state, requested change, constraints, and acceptance criteria.A Feature Brief replaces the PRD when you don’t own the product. It captures just enough context for one feature.
prd/PRD.md)F-XX ID sequence.## Changelog entry at the bottom for every meaningful update.briefs/FB-XXX-<feature-slug>.md)FB-001-search-filters.md).plan/FIP-XXX-<feature-slug>.md)FIP-003-firebase-sync.md).Version field inside the document is informational metadata only.§F-XX) or a Feature Brief (FB-XXX).## Out of Scope / Follow-ups section — not as a new file.[x] (or the Definition of Done in the metadata is met).When a FIP transitions to ✅ Done:
Status field to ✅ Done.Status row to ✅ Shipped and add a link to the FIP.Status field to ✅ Done.guides/GUIDE-<topic>.md)This project uses two specialised agents. Both must read AGENTS.md before any work.
| Agent | What it does | What it does NOT do |
|---|---|---|
| planner | Creates/updates FBs and FIPs in docs/ |
Write production code or tests |
| executor | Implements code following a FIP | Create or modify planning documents |
docs/README.md + the relevant template (FB-TEMPLATE.md or FIP-TEMPLATE.md) + AGENTS.md before writing.AGENTS.md + the full FIP before writing any code.| Situation | Document | Why |
|---|---|---|
| Own project, planning the full product | PRD | Single source of truth for all features and gaps |
| Own project, implementing a feature | FIP (refs PRD §F-XX) | Execution plan with phases, tasks, and checkboxes |
| Corporate project, picking up a sprint task | FB → FIP | FB captures context you don’t own; FIP plans the work |
| Corporate project, small task (< 4h) | FIP only | Use §1 Context & Motivation for the brief context |
| Corporate project, fixing a bug | FB (Type: Bug) → FIP | FB documents repro steps + expected behaviour; FIP plans the fix |
| Manual setup or external config needed | Guide | Referenced from FIP §0 Prerequisites |