Initialize Manifest for a new or existing codebase.
Steps
- •
Check if already initialized:
- •Call
list_projectswithdirectory_pathset to the current working directory - •If a project is found, tell the user:
code
This directory is already linked to project "[Name]". Use /manifest:tree to see features or /manifest:plan to add new ones.
- •Exit early if already initialized
- •Call
- •
Analyze the codebase:
- •Call
init_projectwithdirectory_pathset to the current working directory - •This creates the project and links the directory
- •Call
- •
Determine if this is a new or existing codebase:
- •Check the analysis results for existing code/commits
- •Ask the user:
code
Is this: 1. A new project (starting fresh) 2. An existing codebase (has features already built)
- •
Ask for version naming:
codeWhat version are you working toward? Examples: - "0.1.0" or "v0.1.0" (semantic versioning) - "1.0" (simple numbering) - "MVP" or "Beta" (milestone names) This will be your "Now" version - the current focus.
- •
Create default versions:
For new projects (3 versions):
- •Create versions in this order (order matters for Now/Next/Later):
- •
[user input]- "Now" (current focus) - •
[next version]- "Next" (e.g., if user said "0.1.0", create "0.2.0") - •
Backlog- "Later" (catch-all for future ideas)
- •
For existing codebases (4 versions):
- •Ask: "What version represents the features already built?"
- •Suggest:
v0.0.xorShippedorLegacy
- •Suggest:
- •Create versions in order:
- •
[existing version]- For already-implemented features (mark as released immediately) - •
[user input]- "Now" (current focus) - •
[next version]- "Next" - •
Backlog- "Later"
- •
- •Create versions in this order (order matters for Now/Next/Later):
- •
Display summary:
codeProject initialized: [Name] Versions created: [If existing]: ✓ [existing] (released) - for existing features ◇ [now] (Now) - current focus ◇ [next] (Next) - up next ◇ Backlog (Later) - future ideas Next steps: - /manifest:plan to design your feature tree - /manifest:tree to see what exists
Version Naming Helpers
When creating the "Next" version, apply these heuristics:
- •
0.1.0→0.2.0 - •
1.0→1.1 - •
v1→v2 - •
MVP→Post-MVP - •
Beta→v1.0 - •If unsure, ask the user
Notes
- •The first unreleased version becomes "Now" (current focus)
- •The second unreleased version becomes "Next"
- •Order matters: create versions in chronological order
- •For existing codebases, the "existing features" version should be released immediately so it doesn't show as "Now"