Agents read this for direction; docs/specs/ turns it into concrete, prioritized work. Humans start owning this file. Delete or comment out the docs/plan.md entry in [tool.harness.gate] forbidden_files at pyproject.toml if you want agents to take over managing the vision.
Code will go in src/
Prose to describe the intended outcome, e.g. a one page web app that does X for Y users. e.g. email will always be clear of junk mail. Use affirmative phrasing in non-contradictory detail.
Detail the objective outcome.
EXAMPLE:
- User experience is like {this}
- Data Storage {stores X like Y}
- Cost is kept to {#}
- Page X does Y, Page A does B
- Links to wireframes or mockups
- Schema contract
- Tests to include to enforce functionality
- Project will be deployed at {place}
- API integrations include {A}, {B}, {C}
- Local tasks are {X}, {Y}, {Z}
Describe the high-level steps for completing the project. Prefer concrete direction over vague quality words. For example, describe user experience deliverables, data flows, or things the project must avoid, in the ontext of timing.
EXAMPLE:
- User description
- Major technical choices
- Workflows
- Libraries and architecture
- Storage choices
- APIs
- Services
- Data sources
- Performanec targets
- UX expectations
- Compatibility requirements
EXAMPLE:
- Dependencies installed: FastAPI, Numpy, Requests, Supabase
- FastAPI Backend working with health endponit.
- User can see blank homepage.
- API
/dataendpoint reurns user info. React/Vite homepage shows raw html. ... {FINAL}. The one page web app is styled like mockup and ... (This item should be a mirror of the Objective at the top)
Similar to 'Approach', with concrete deliverables in a timeline
- First major milestone and its concrete description
- Second major milestone and its concrete description
- Third major milestone and its concrete description
- {fill in additional milestones}
- Release or handoff milestone
- {item the project will NOT do}
- {item the project will NOT do}