One Project. One source of truth.
A Project keeps your goal, constitution, AI roles and work together. The team has one agreed reference to return to, even when the models or tasks change.
Start with work, not a form
Chat and vibe coding do not require a formal Project. Create one when you want a shared constitution and persistent handoffs. The planned browser app will require account sign-in, but creating a Project will still be optional after login.
Local, cloud or both
Cloud workspaces are in preparation. Local Projects remain available while we validate the cloud rollout. Full folder synchronization remains planned.
| Location | How it works | Status |
|---|---|---|
| Local | Your declared folder is authoritative. A good fit for large codebases and local tools. Provider calls still send prompts and selected context over the network. | Local Project loading is available. |
| Supabase cloud | One versioned Project and its files in your Vault, reopened across devices without a local folder. | Complete cloud workspaces are planned. |
| Hybrid | Choose local or cloud as the authority; synchronize the other copy with explicit conflict handling. | Synchronization is planned. |
Local remains a first-class choice. The goal of cloud storage is to make local folders optional for supported work, not force every repository into the cloud. Cloud storage alone does not run your code.
The Vault stores Projects or other work, including documents and source files. It is not provider-key storage. Storage allowances in account tiers do not mean the complete cloud experience is already delivered.
Know where source writes land
With a Project loaded, the current extension places source under that Project’s workspace/ folder. Without a Project, authorized source writes use the open folder. A constitution that names another repository does not automatically redirect those writes. Verify the source location before editing an existing codebase.
Choose Project Source Folder is in the current extension. It binds a local Project to a source folder inside the same open workspace, keeps PLAN.md beside Project.md, and refuses a folder outside that workspace.
What gets written
PLAN.md— the living plan. Required sections: Goal, Scope, Milestones (with acceptance criteria per milestone), Risks, and per-role Roles.EXECUTION.md— emitted by/freeze. The ordered manifest you chair the Drafter through. Emitting it does not execute the assignments.memory/— audit trail, session handoff, and validation reports. Append-only.
Freezing a plan
/freeze is a gate, not a formality. It refuses with PlanIncomplete if a required section is missing, and refuses while any BLOCKER raise is still open. The error names the missing piece, so the fix is mechanical.
A frozen plan is the handoff artifact. If you stop working for a week, EXECUTION.md plus the trail in memory/ is enough to resume without re-deriving the argument.
Proving it works on your stack
Run the concept test once on something small — about fifty lines of a feature you actually want. Choose roles within your seat capacity, start in brainstorm, describe the feature in a paragraph, and watch for two signals: did a read-only seat raise something the Drafter missed, and did admitting it change PLAN.md? If both fire once, the concept holds for you.