@cluesmith/codev 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/bin/af.js +8 -0
  2. package/bin/codev.js +4 -0
  3. package/bin/consult.js +7 -0
  4. package/dist/agent-farm/cli.d.ts +11 -0
  5. package/dist/agent-farm/cli.d.ts.map +1 -0
  6. package/dist/agent-farm/cli.js +359 -0
  7. package/dist/agent-farm/cli.js.map +1 -0
  8. package/dist/agent-farm/commands/cleanup.d.ts +12 -0
  9. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -0
  10. package/dist/agent-farm/commands/cleanup.js +154 -0
  11. package/dist/agent-farm/commands/cleanup.js.map +1 -0
  12. package/dist/agent-farm/commands/db.d.ts +38 -0
  13. package/dist/agent-farm/commands/db.d.ts.map +1 -0
  14. package/dist/agent-farm/commands/db.js +133 -0
  15. package/dist/agent-farm/commands/db.js.map +1 -0
  16. package/dist/agent-farm/commands/index.d.ts +11 -0
  17. package/dist/agent-farm/commands/index.d.ts.map +1 -0
  18. package/dist/agent-farm/commands/index.js +11 -0
  19. package/dist/agent-farm/commands/index.js.map +1 -0
  20. package/dist/agent-farm/commands/open.d.ts +15 -0
  21. package/dist/agent-farm/commands/open.d.ts.map +1 -0
  22. package/dist/agent-farm/commands/open.js +118 -0
  23. package/dist/agent-farm/commands/open.js.map +1 -0
  24. package/dist/agent-farm/commands/rename.d.ts +13 -0
  25. package/dist/agent-farm/commands/rename.d.ts.map +1 -0
  26. package/dist/agent-farm/commands/rename.js +33 -0
  27. package/dist/agent-farm/commands/rename.js.map +1 -0
  28. package/dist/agent-farm/commands/send.d.ts +9 -0
  29. package/dist/agent-farm/commands/send.d.ts.map +1 -0
  30. package/dist/agent-farm/commands/send.js +282 -0
  31. package/dist/agent-farm/commands/send.js.map +1 -0
  32. package/dist/agent-farm/commands/spawn.d.ts +15 -0
  33. package/dist/agent-farm/commands/spawn.d.ts.map +1 -0
  34. package/dist/agent-farm/commands/spawn.js +575 -0
  35. package/dist/agent-farm/commands/spawn.js.map +1 -0
  36. package/dist/agent-farm/commands/start.d.ts +9 -0
  37. package/dist/agent-farm/commands/start.d.ts.map +1 -0
  38. package/dist/agent-farm/commands/start.js +175 -0
  39. package/dist/agent-farm/commands/start.js.map +1 -0
  40. package/dist/agent-farm/commands/status.d.ts +8 -0
  41. package/dist/agent-farm/commands/status.d.ts.map +1 -0
  42. package/dist/agent-farm/commands/status.js +123 -0
  43. package/dist/agent-farm/commands/status.js.map +1 -0
  44. package/dist/agent-farm/commands/stop.d.ts +8 -0
  45. package/dist/agent-farm/commands/stop.d.ts.map +1 -0
  46. package/dist/agent-farm/commands/stop.js +76 -0
  47. package/dist/agent-farm/commands/stop.js.map +1 -0
  48. package/dist/agent-farm/commands/tower.d.ts +19 -0
  49. package/dist/agent-farm/commands/tower.d.ts.map +1 -0
  50. package/dist/agent-farm/commands/tower.js +125 -0
  51. package/dist/agent-farm/commands/tower.js.map +1 -0
  52. package/dist/agent-farm/commands/tutorial.d.ts +10 -0
  53. package/dist/agent-farm/commands/tutorial.d.ts.map +1 -0
  54. package/dist/agent-farm/commands/tutorial.js +49 -0
  55. package/dist/agent-farm/commands/tutorial.js.map +1 -0
  56. package/dist/agent-farm/commands/util.d.ts +15 -0
  57. package/dist/agent-farm/commands/util.d.ts.map +1 -0
  58. package/dist/agent-farm/commands/util.js +108 -0
  59. package/dist/agent-farm/commands/util.js.map +1 -0
  60. package/dist/agent-farm/db/errors.d.ts +17 -0
  61. package/dist/agent-farm/db/errors.d.ts.map +1 -0
  62. package/dist/agent-farm/db/errors.js +46 -0
  63. package/dist/agent-farm/db/errors.js.map +1 -0
  64. package/dist/agent-farm/db/index.d.ts +41 -0
  65. package/dist/agent-farm/db/index.d.ts.map +1 -0
  66. package/dist/agent-farm/db/index.js +168 -0
  67. package/dist/agent-farm/db/index.js.map +1 -0
  68. package/dist/agent-farm/db/migrate.d.ts +15 -0
  69. package/dist/agent-farm/db/migrate.d.ts.map +1 -0
  70. package/dist/agent-farm/db/migrate.js +137 -0
  71. package/dist/agent-farm/db/migrate.js.map +1 -0
  72. package/dist/agent-farm/db/schema.d.ts +16 -0
  73. package/dist/agent-farm/db/schema.d.ts.map +1 -0
  74. package/dist/agent-farm/db/schema.js +103 -0
  75. package/dist/agent-farm/db/schema.js.map +1 -0
  76. package/dist/agent-farm/db/types.d.ts +87 -0
  77. package/dist/agent-farm/db/types.d.ts.map +1 -0
  78. package/dist/agent-farm/db/types.js +65 -0
  79. package/dist/agent-farm/db/types.js.map +1 -0
  80. package/dist/agent-farm/index.d.ts +7 -0
  81. package/dist/agent-farm/index.d.ts.map +1 -0
  82. package/dist/agent-farm/index.js +373 -0
  83. package/dist/agent-farm/index.js.map +1 -0
  84. package/dist/agent-farm/servers/annotate-server.d.ts +9 -0
  85. package/dist/agent-farm/servers/annotate-server.d.ts.map +1 -0
  86. package/dist/agent-farm/servers/annotate-server.js +136 -0
  87. package/dist/agent-farm/servers/annotate-server.js.map +1 -0
  88. package/dist/agent-farm/servers/dashboard-server.d.ts +9 -0
  89. package/dist/agent-farm/servers/dashboard-server.d.ts.map +1 -0
  90. package/dist/agent-farm/servers/dashboard-server.js +939 -0
  91. package/dist/agent-farm/servers/dashboard-server.js.map +1 -0
  92. package/dist/agent-farm/servers/tower-server.d.ts +9 -0
  93. package/dist/agent-farm/servers/tower-server.d.ts.map +1 -0
  94. package/dist/agent-farm/servers/tower-server.js +463 -0
  95. package/dist/agent-farm/servers/tower-server.js.map +1 -0
  96. package/dist/agent-farm/state.d.ts +93 -0
  97. package/dist/agent-farm/state.d.ts.map +1 -0
  98. package/dist/agent-farm/state.js +253 -0
  99. package/dist/agent-farm/state.js.map +1 -0
  100. package/dist/agent-farm/tutorial/index.d.ts +8 -0
  101. package/dist/agent-farm/tutorial/index.d.ts.map +1 -0
  102. package/dist/agent-farm/tutorial/index.js +8 -0
  103. package/dist/agent-farm/tutorial/index.js.map +1 -0
  104. package/dist/agent-farm/tutorial/prompts.d.ts +57 -0
  105. package/dist/agent-farm/tutorial/prompts.d.ts.map +1 -0
  106. package/dist/agent-farm/tutorial/prompts.js +147 -0
  107. package/dist/agent-farm/tutorial/prompts.js.map +1 -0
  108. package/dist/agent-farm/tutorial/runner.d.ts +52 -0
  109. package/dist/agent-farm/tutorial/runner.d.ts.map +1 -0
  110. package/dist/agent-farm/tutorial/runner.js +204 -0
  111. package/dist/agent-farm/tutorial/runner.js.map +1 -0
  112. package/dist/agent-farm/tutorial/state.d.ts +26 -0
  113. package/dist/agent-farm/tutorial/state.d.ts.map +1 -0
  114. package/dist/agent-farm/tutorial/state.js +89 -0
  115. package/dist/agent-farm/tutorial/state.js.map +1 -0
  116. package/dist/agent-farm/tutorial/steps/first-spec.d.ts +7 -0
  117. package/dist/agent-farm/tutorial/steps/first-spec.d.ts.map +1 -0
  118. package/dist/agent-farm/tutorial/steps/first-spec.js +136 -0
  119. package/dist/agent-farm/tutorial/steps/first-spec.js.map +1 -0
  120. package/dist/agent-farm/tutorial/steps/implementation.d.ts +7 -0
  121. package/dist/agent-farm/tutorial/steps/implementation.d.ts.map +1 -0
  122. package/dist/agent-farm/tutorial/steps/implementation.js +76 -0
  123. package/dist/agent-farm/tutorial/steps/implementation.js.map +1 -0
  124. package/dist/agent-farm/tutorial/steps/index.d.ts +10 -0
  125. package/dist/agent-farm/tutorial/steps/index.d.ts.map +1 -0
  126. package/dist/agent-farm/tutorial/steps/index.js +10 -0
  127. package/dist/agent-farm/tutorial/steps/index.js.map +1 -0
  128. package/dist/agent-farm/tutorial/steps/planning.d.ts +7 -0
  129. package/dist/agent-farm/tutorial/steps/planning.d.ts.map +1 -0
  130. package/dist/agent-farm/tutorial/steps/planning.js +143 -0
  131. package/dist/agent-farm/tutorial/steps/planning.js.map +1 -0
  132. package/dist/agent-farm/tutorial/steps/review.d.ts +7 -0
  133. package/dist/agent-farm/tutorial/steps/review.d.ts.map +1 -0
  134. package/dist/agent-farm/tutorial/steps/review.js +78 -0
  135. package/dist/agent-farm/tutorial/steps/review.js.map +1 -0
  136. package/dist/agent-farm/tutorial/steps/setup.d.ts +7 -0
  137. package/dist/agent-farm/tutorial/steps/setup.d.ts.map +1 -0
  138. package/dist/agent-farm/tutorial/steps/setup.js +126 -0
  139. package/dist/agent-farm/tutorial/steps/setup.js.map +1 -0
  140. package/dist/agent-farm/tutorial/steps/welcome.d.ts +7 -0
  141. package/dist/agent-farm/tutorial/steps/welcome.d.ts.map +1 -0
  142. package/dist/agent-farm/tutorial/steps/welcome.js +50 -0
  143. package/dist/agent-farm/tutorial/steps/welcome.js.map +1 -0
  144. package/dist/agent-farm/types.d.ts +131 -0
  145. package/dist/agent-farm/types.d.ts.map +1 -0
  146. package/dist/agent-farm/types.js +5 -0
  147. package/dist/agent-farm/types.js.map +1 -0
  148. package/dist/agent-farm/utils/config.d.ts +27 -0
  149. package/dist/agent-farm/utils/config.d.ts.map +1 -0
  150. package/dist/agent-farm/utils/config.js +242 -0
  151. package/dist/agent-farm/utils/config.js.map +1 -0
  152. package/dist/agent-farm/utils/deps.d.ts +51 -0
  153. package/dist/agent-farm/utils/deps.d.ts.map +1 -0
  154. package/dist/agent-farm/utils/deps.js +194 -0
  155. package/dist/agent-farm/utils/deps.js.map +1 -0
  156. package/dist/agent-farm/utils/index.d.ts +6 -0
  157. package/dist/agent-farm/utils/index.d.ts.map +1 -0
  158. package/dist/agent-farm/utils/index.js +6 -0
  159. package/dist/agent-farm/utils/index.js.map +1 -0
  160. package/dist/agent-farm/utils/logger.d.ts +31 -0
  161. package/dist/agent-farm/utils/logger.d.ts.map +1 -0
  162. package/dist/agent-farm/utils/logger.js +58 -0
  163. package/dist/agent-farm/utils/logger.js.map +1 -0
  164. package/dist/agent-farm/utils/orphan-handler.d.ts +27 -0
  165. package/dist/agent-farm/utils/orphan-handler.d.ts.map +1 -0
  166. package/dist/agent-farm/utils/orphan-handler.js +127 -0
  167. package/dist/agent-farm/utils/orphan-handler.js.map +1 -0
  168. package/dist/agent-farm/utils/port-registry.d.ts +58 -0
  169. package/dist/agent-farm/utils/port-registry.d.ts.map +1 -0
  170. package/dist/agent-farm/utils/port-registry.js +149 -0
  171. package/dist/agent-farm/utils/port-registry.js.map +1 -0
  172. package/dist/agent-farm/utils/shell.d.ts +45 -0
  173. package/dist/agent-farm/utils/shell.d.ts.map +1 -0
  174. package/dist/agent-farm/utils/shell.js +120 -0
  175. package/dist/agent-farm/utils/shell.js.map +1 -0
  176. package/dist/cli.d.ts +10 -0
  177. package/dist/cli.d.ts.map +1 -0
  178. package/dist/cli.js +160 -0
  179. package/dist/cli.js.map +1 -0
  180. package/dist/commands/adopt.d.ts +12 -0
  181. package/dist/commands/adopt.d.ts.map +1 -0
  182. package/dist/commands/adopt.js +178 -0
  183. package/dist/commands/adopt.js.map +1 -0
  184. package/dist/commands/consult/index.d.ts +17 -0
  185. package/dist/commands/consult/index.d.ts.map +1 -0
  186. package/dist/commands/consult/index.js +405 -0
  187. package/dist/commands/consult/index.js.map +1 -0
  188. package/dist/commands/doctor.d.ts +10 -0
  189. package/dist/commands/doctor.d.ts.map +1 -0
  190. package/dist/commands/doctor.js +346 -0
  191. package/dist/commands/doctor.js.map +1 -0
  192. package/dist/commands/init.d.ts +12 -0
  193. package/dist/commands/init.d.ts.map +1 -0
  194. package/dist/commands/init.js +167 -0
  195. package/dist/commands/init.js.map +1 -0
  196. package/dist/commands/tower.d.ts +16 -0
  197. package/dist/commands/tower.d.ts.map +1 -0
  198. package/dist/commands/tower.js +21 -0
  199. package/dist/commands/tower.js.map +1 -0
  200. package/dist/commands/update.d.ts +13 -0
  201. package/dist/commands/update.d.ts.map +1 -0
  202. package/dist/commands/update.js +137 -0
  203. package/dist/commands/update.js.map +1 -0
  204. package/dist/lib/templates.d.ts +57 -0
  205. package/dist/lib/templates.d.ts.map +1 -0
  206. package/dist/lib/templates.js +205 -0
  207. package/dist/lib/templates.js.map +1 -0
  208. package/package.json +55 -0
  209. package/templates/AGENTS.md +49 -0
  210. package/templates/CLAUDE.md +47 -0
  211. package/templates/DEPENDENCIES.md +344 -0
  212. package/templates/agents/architecture-documenter.md +189 -0
  213. package/templates/agents/codev-updater.md +276 -0
  214. package/templates/agents/spider-protocol-updater.md +118 -0
  215. package/templates/annotate.html +903 -0
  216. package/templates/bin/agent-farm +18 -0
  217. package/templates/bin/annotate-server.js +140 -0
  218. package/templates/bin/codev-doctor +335 -0
  219. package/templates/builders.md +30 -0
  220. package/templates/config.json +7 -0
  221. package/templates/dashboard-split.html +1679 -0
  222. package/templates/dashboard.html +149 -0
  223. package/templates/plans/.gitkeep +0 -0
  224. package/templates/protocols/experiment/protocol.md +229 -0
  225. package/templates/protocols/experiment/templates/notes.md +97 -0
  226. package/templates/protocols/maintain/protocol.md +235 -0
  227. package/templates/protocols/spider/protocol.md +639 -0
  228. package/templates/protocols/spider/templates/plan.md +169 -0
  229. package/templates/protocols/spider/templates/review.md +207 -0
  230. package/templates/protocols/spider/templates/spec.md +140 -0
  231. package/templates/protocols/spider-solo/protocol.md +619 -0
  232. package/templates/protocols/spider-solo/templates/plan.md +169 -0
  233. package/templates/protocols/spider-solo/templates/review.md +207 -0
  234. package/templates/protocols/spider-solo/templates/spec.md +140 -0
  235. package/templates/protocols/tick/protocol.md +250 -0
  236. package/templates/protocols/tick/templates/plan.md +67 -0
  237. package/templates/protocols/tick/templates/review.md +90 -0
  238. package/templates/protocols/tick/templates/spec.md +61 -0
  239. package/templates/reviews/.gitkeep +0 -0
  240. package/templates/roles/architect.md +230 -0
  241. package/templates/roles/builder.md +175 -0
  242. package/templates/roles/consultant.md +27 -0
  243. package/templates/specs/.gitkeep +0 -0
  244. package/templates/templates/projectlist.md +129 -0
  245. package/templates/tower.html +1032 -0
@@ -0,0 +1,175 @@
1
+ # Role: Builder
2
+
3
+ A Builder is a focused implementation agent that works on a single spec in an isolated git worktree. Builders are spawned by the Architect and report their status back.
4
+
5
+ ## Output Formatting
6
+
7
+ When referencing files that the user may want to review, format them as clickable URLs using the dashboard's open-file endpoint:
8
+
9
+ ```
10
+ # Instead of:
11
+ Updated src/lib/auth.ts with the new handler.
12
+
13
+ # Use:
14
+ Updated http://localhost:4200/open-file?path=src/lib/auth.ts with the new handler.
15
+ ```
16
+
17
+ Replace `4200` with the actual dashboard port if different. This opens files in the agent-farm annotation viewer when clicked in the dashboard terminal.
18
+
19
+ ## Responsibilities
20
+
21
+ 1. **Implement a single spec** - Focus on one well-defined task
22
+ 2. **Work in isolation** - Use the assigned git worktree
23
+ 3. **Follow the assigned protocol** - SPIDER or TICK as specified
24
+ 4. **Report status** - Keep status updated (implementing/blocked/pr-ready)
25
+ 5. **Request help when blocked** - Don't spin; ask the Architect
26
+ 6. **Deliver clean PRs** - Tests passing, code reviewed
27
+
28
+ ## Execution Strategy
29
+
30
+ Builders execute the protocol assigned by the Architect:
31
+
32
+ ### For Complex Tasks: SPIDER
33
+ Full phases with self-review and testing:
34
+ - Specify → Plan → Implement → Defend → Evaluate → Review
35
+
36
+ ### For Simple Tasks: TICK
37
+ Fast autonomous implementation:
38
+ - Understand → Implement → Verify → Done
39
+
40
+ ## Status Lifecycle
41
+
42
+ ```
43
+ spawning → implementing → blocked → implementing → pr-ready → complete
44
+ ↑______________|
45
+ ```
46
+
47
+ ### Status Definitions
48
+
49
+ | Status | Meaning |
50
+ |--------|---------|
51
+ | `spawning` | Worktree created, Builder starting up |
52
+ | `implementing` | Actively working on the spec |
53
+ | `blocked` | Stuck, needs Architect help |
54
+ | `pr-ready` | Implementation complete, ready for review |
55
+ | `complete` | Merged, worktree can be cleaned up |
56
+
57
+ ### Updating Status
58
+
59
+ Status is tracked in `.agent-farm/state.json` and visible on the dashboard.
60
+
61
+ To check current status:
62
+ ```bash
63
+ af status
64
+ ```
65
+
66
+ Status updates happen automatically based on your progress. When blocked, clearly communicate the blocker in your terminal or via REVIEW comments in code.
67
+
68
+ ## Working in a Worktree
69
+
70
+ ### Understanding Your Environment
71
+ - You are in an isolated git worktree at `.builders/XXXX/`
72
+ - You have your own branch: `builder/XXXX-spec-name`
73
+ - Changes here don't affect main until merged
74
+ - You can commit freely without affecting other Builders
75
+
76
+ ### File Access
77
+ - Full access to your worktree
78
+ - Read-only conceptual access to main (for reference)
79
+ - Your spec is at `codev/specs/XXXX-spec-name.md`
80
+ - Your plan is at `codev/plans/XXXX-spec-name.md`
81
+
82
+ ### Committing
83
+ Make atomic commits as you work:
84
+ ```bash
85
+ git add <files>
86
+ git commit -m "[Spec XXXX] <description>"
87
+ ```
88
+
89
+ ## When to Report Blocked
90
+
91
+ Report `blocked` status when:
92
+ - Spec is ambiguous and you need clarification
93
+ - You discover a dependency on another spec
94
+ - You encounter an unexpected technical blocker
95
+ - You need architectural guidance
96
+ - Tests are failing for reasons outside your scope
97
+
98
+ **Do NOT stay blocked silently.** The Architect monitors status and will help.
99
+
100
+ ### How to Report Blocked
101
+
102
+ 1. Update status to `blocked`
103
+ 2. Clearly describe the blocker:
104
+ ```markdown
105
+ ## Builder 0003
106
+ - Status: blocked
107
+ - Blocker: The spec says "use the existing auth helper" but I can't find
108
+ any auth helper in the codebase. Options:
109
+ 1. Create a new auth helper
110
+ 2. Use a third-party library
111
+ 3. Spec meant something else?
112
+ ```
113
+ 3. Wait for Architect guidance
114
+ 4. Once unblocked, update status back to `implementing`
115
+
116
+ ## Deliverables
117
+
118
+ When done, a Builder should have:
119
+
120
+ 1. **Implementation** - Code that fulfills the spec
121
+ 2. **Tests** - Appropriate test coverage
122
+ 3. **Documentation** - Updated relevant docs (if needed)
123
+ 4. **Clean commits** - Atomic, well-messaged commits
124
+ 5. **PR-ready branch** - Ready for Architect to merge
125
+
126
+ ## Communication with Architect
127
+
128
+ ### Receiving Instructions
129
+ The Architect provides:
130
+ - Spec file path
131
+ - Protocol to follow (SPIDER/TICK)
132
+ - Context and constraints
133
+ - Builder prompt with project-specific info
134
+
135
+ ### Asking Questions
136
+ If you need help but aren't fully blocked:
137
+ - Add a `<!-- REVIEW(@architect): question here -->` comment
138
+ - The Architect will see it during review
139
+
140
+ ### Reporting Completion
141
+ When implementation is complete:
142
+ 1. Run all tests
143
+ 2. Self-review the code
144
+ 3. Update status to `pr-ready`
145
+ 4. The Architect will review and merge
146
+
147
+ ## Example Builder Session
148
+
149
+ ```
150
+ 1. Spawned for spec 0003-user-auth
151
+ 2. Read spec at codev/specs/0003-user-auth.md
152
+ 3. Status: implementing
153
+ 4. Follow SPIDER protocol:
154
+ - Create plan
155
+ - Implement auth routes
156
+ - Write tests
157
+ - Self-review
158
+ 5. Hit blocker: unclear which JWT library to use
159
+ 6. Status: blocked (described options)
160
+ 7. Architect responds: "Use jose library"
161
+ 8. Status: implementing
162
+ 9. Complete implementation
163
+ 10. Run tests: all passing
164
+ 11. Status: pr-ready
165
+ 12. Architect reviews and merges
166
+ 13. Status: complete
167
+ ```
168
+
169
+ ## Constraints
170
+
171
+ - **Stay in scope** - Only implement what's in your spec
172
+ - **Don't modify shared config** - Without Architect approval
173
+ - **Don't merge yourself** - The Architect handles integration
174
+ - **Don't spawn other Builders** - Only Architects spawn Builders
175
+ - **Keep worktree clean** - No untracked files, no debug code
@@ -0,0 +1,27 @@
1
+ # Role: Consultant
2
+
3
+ You are a consultant providing a second perspective to support decision-making.
4
+
5
+ ## Responsibilities
6
+
7
+ 1. **Understand context** - Grasp the problem and constraints being presented
8
+ 2. **Offer insights** - Provide alternatives or considerations that may have been missed
9
+ 3. **Be constructive** - Help improve the solution, don't just critique
10
+ 4. **Be direct** - Give honest, clear feedback without excessive hedging
11
+ 5. **Collaborate** - Work toward the best outcome alongside the primary agent
12
+
13
+ ## You Are NOT
14
+
15
+ - An adversary or gatekeeper
16
+ - A rubber stamp that just agrees
17
+ - A code generator (unless specifically asked for snippets)
18
+
19
+ ## Relationship to Other Roles
20
+
21
+ | Role | Focus |
22
+ |------|-------|
23
+ | Architect | Orchestrates, decomposes, integrates |
24
+ | Builder | Implements in isolation |
25
+ | Consultant | Provides perspective, supports decisions |
26
+
27
+ You think alongside the other agents, helping them see blind spots.
File without changes
@@ -0,0 +1,129 @@
1
+ # Project List
2
+
3
+ Centralized tracking of all projects with status, priority, and dependencies.
4
+
5
+ ## Project Lifecycle
6
+
7
+ Every project goes through stages. Not all projects reach completion:
8
+
9
+ **Active Lifecycle:**
10
+ 1. **conceived** - Initial idea captured, ready for specification
11
+ 2. **spec-draft** - Specification written by AI (codev/specs/NNNN-name.md exists), awaiting human review
12
+ 3. **specified** - Specification approved by human. **ONLY the human can mark a project as specified** - AI agents must stop at spec-draft.
13
+ 4. **planned** - Implementation plan created (codev/plans/NNNN-name.md exists)
14
+ 5. **implementing** - Actively being worked on (one or more phases in progress)
15
+ 6. **implemented** - Code complete, all phases done, tests passing locally
16
+ 7. **committed** - Merged to develop branch, ready for production deployment
17
+ 8. **integrated** - Merged to main, deployed to production, validated, reviewed (codev/reviews/NNNN-name.md exists), and **explicitly approved by project owner**. **ONLY the human can mark a project as integrated** - AI agents must never transition to this status on their own.
18
+
19
+ **Terminal States:**
20
+ - **abandoned** - Project canceled/rejected, will not be implemented (explain reason in notes)
21
+ - **on-hold** - Temporarily paused, may resume later (explain reason in notes)
22
+
23
+ ## Format
24
+
25
+ ```yaml
26
+ projects:
27
+ - id: "NNNN" # Four-digit project number
28
+ title: "Brief title"
29
+ summary: "One-sentence description of what this project does"
30
+ status: conceived|spec-draft|specified|planned|implementing|implemented|committed|integrated|abandoned|on-hold
31
+ priority: high|medium|low
32
+ files:
33
+ spec: codev/specs/NNNN-name.md # Required after "specified"
34
+ plan: codev/plans/NNNN-name.md # Required after "planned"
35
+ review: codev/reviews/NNNN-name.md # Required after "integrated"
36
+ dependencies: [] # List of project IDs this depends on
37
+ tags: [] # Categories (e.g., auth, billing, ui)
38
+ notes: "" # Optional notes about status or decisions
39
+ ```
40
+
41
+ ## Numbering Rules
42
+
43
+ 1. **Sequential**: Use next available number (0001-9999)
44
+ 2. **Reservation**: Add entry to this file FIRST before creating spec
45
+ 3. **Renumbering**: If collision detected, newer project gets renumbered
46
+ 4. **Gaps OK**: Deleted projects leave gaps (don't reuse numbers)
47
+
48
+ ## Usage Guidelines
49
+
50
+ ### When to Add a Project
51
+
52
+ Add a project entry when:
53
+ - You have a concrete idea worth tracking
54
+ - The work is non-trivial (not just a bug fix or typo)
55
+ - You want to reserve a number before writing a spec
56
+
57
+ ### Status Transitions
58
+
59
+ ```
60
+ conceived → spec-draft → [HUMAN] → specified → planned → implementing → implemented → committed → [HUMAN] → integrated
61
+ ↑ ↑
62
+ Human approves Human approves
63
+ the spec production deploy
64
+
65
+ Any status can transition to: abandoned, on-hold
66
+ ```
67
+
68
+ **Human approval gates:**
69
+ - `spec-draft` → `specified`: Human must approve the specification
70
+ - `committed` → `integrated`: Human must validate production deployment
71
+
72
+ ### Priority Guidelines
73
+
74
+ - **high**: Critical path, blocking other work, or significant business value
75
+ - **medium**: Important but not urgent, can wait for high-priority work
76
+ - **low**: Nice to have, polish, or speculative features
77
+
78
+ ### Tags
79
+
80
+ Use consistent tags across projects for filtering:
81
+ - `auth`, `security` - Authentication and security features
82
+ - `ui`, `ux` - User interface and experience
83
+ - `api`, `architecture` - Backend and system design
84
+ - `testing`, `infrastructure` - Development and deployment
85
+ - `billing`, `credits` - Payment and monetization
86
+ - `features` - New user-facing functionality
87
+
88
+ ---
89
+
90
+ ## Projects
91
+
92
+ ```yaml
93
+ projects:
94
+ # Example project entry (replace with your actual projects)
95
+ - id: "0001"
96
+ title: "Example Project"
97
+ summary: "Brief description of what this project accomplishes"
98
+ status: conceived
99
+ priority: medium
100
+ files:
101
+ spec: null
102
+ plan: null
103
+ review: null
104
+ dependencies: []
105
+ tags: [example]
106
+ notes: "Replace this with your first real project"
107
+ ```
108
+
109
+ ## Next Available Number
110
+
111
+ **0002** - Reserve this number for your next project
112
+
113
+ ---
114
+
115
+ ## Quick Reference
116
+
117
+ ### View by Status
118
+ To see all projects at a specific status, search for `status: <status>` in this file.
119
+
120
+ ### View by Priority
121
+ To see high-priority work, search for `priority: high`.
122
+
123
+ ### Check Dependencies
124
+ Before starting a project, verify its dependencies are at least `implemented`.
125
+
126
+ ### Protocol Selection
127
+ - **SPIDER/SPIDER-SOLO**: Most projects (formal spec → plan → implement → review)
128
+ - **TICK**: Small, well-defined tasks (< 300 lines)
129
+ - **EXPERIMENT**: Research/prototyping before committing to a project