Manage Project State
Purpose
Provide a script-driven workflow to maintain .ai/project/state.json as a small, non-secret SSOT for project stage/config.
When to use
Use this skill when you need to:
- record the project stage (
prototype,mvp,production, ...) - switch context strategy (
contractvssnapshot) - keep CI gates consistent with the intended stage
Do NOT use this skill to store secrets (passwords, tokens, private keys).
Inputs
- Stage value:
prototype | mvp | production | maintenance | archived - Context mode:
contract | snapshot
Outputs
- Updated
.ai/project/state.json - A verification result from
projectctl verify
Steps
Initialize state (idempotent):
node .ai/scripts/projectctl.js init
Set stage:
node .ai/scripts/projectctl.js set-stage <stage>
Set context mode:
node .ai/scripts/projectctl.js set-context-mode <contract|snapshot>
Verify:
node .ai/scripts/projectctl.js verify
Boundaries
- You MUST NOT store secrets in
.ai/project/state.json. - You SHOULD store only references (for example env var names).
- You MUST keep
state.jsonschema-valid.
References
reference.md
Converted and distributed by TomeVault — claim your Tome and manage your conversions.