@cluesmith/codev 1.1.0 → 1.1.1

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 (137) hide show
  1. package/dist/agent-farm/cli.d.ts.map +1 -1
  2. package/dist/agent-farm/cli.js +19 -0
  3. package/dist/agent-farm/cli.js.map +1 -1
  4. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  5. package/dist/agent-farm/commands/cleanup.js +18 -1
  6. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  7. package/dist/agent-farm/commands/consult.d.ts +16 -0
  8. package/dist/agent-farm/commands/consult.d.ts.map +1 -0
  9. package/dist/agent-farm/commands/consult.js +51 -0
  10. package/dist/agent-farm/commands/consult.js.map +1 -0
  11. package/dist/agent-farm/commands/open.js +6 -6
  12. package/dist/agent-farm/commands/open.js.map +1 -1
  13. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  14. package/dist/agent-farm/commands/spawn.js +48 -42
  15. package/dist/agent-farm/commands/spawn.js.map +1 -1
  16. package/dist/agent-farm/commands/start.d.ts.map +1 -1
  17. package/dist/agent-farm/commands/start.js +8 -14
  18. package/dist/agent-farm/commands/start.js.map +1 -1
  19. package/dist/agent-farm/commands/util.js +2 -2
  20. package/dist/agent-farm/commands/util.js.map +1 -1
  21. package/dist/agent-farm/db/errors.d.ts +4 -0
  22. package/dist/agent-farm/db/errors.d.ts.map +1 -1
  23. package/dist/agent-farm/db/errors.js +8 -0
  24. package/dist/agent-farm/db/errors.js.map +1 -1
  25. package/dist/agent-farm/servers/dashboard-server.js +113 -71
  26. package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
  27. package/dist/agent-farm/servers/open-server.d.ts +9 -0
  28. package/dist/agent-farm/servers/open-server.d.ts.map +1 -0
  29. package/dist/agent-farm/servers/{annotate-server.js → open-server.js} +17 -15
  30. package/dist/agent-farm/servers/open-server.js.map +1 -0
  31. package/dist/agent-farm/servers/tower-server.js +4 -7
  32. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  33. package/dist/agent-farm/state.d.ts +5 -0
  34. package/dist/agent-farm/state.d.ts.map +1 -1
  35. package/dist/agent-farm/state.js +17 -0
  36. package/dist/agent-farm/state.js.map +1 -1
  37. package/dist/agent-farm/types.d.ts +1 -1
  38. package/dist/agent-farm/types.d.ts.map +1 -1
  39. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  40. package/dist/agent-farm/utils/config.js +13 -7
  41. package/dist/agent-farm/utils/config.js.map +1 -1
  42. package/dist/agent-farm/utils/port-registry.d.ts +1 -1
  43. package/dist/agent-farm/utils/port-registry.d.ts.map +1 -1
  44. package/dist/agent-farm/utils/port-registry.js +1 -1
  45. package/dist/agent-farm/utils/port-registry.js.map +1 -1
  46. package/dist/agent-farm/utils/shell.d.ts +19 -0
  47. package/dist/agent-farm/utils/shell.d.ts.map +1 -1
  48. package/dist/agent-farm/utils/shell.js +28 -0
  49. package/dist/agent-farm/utils/shell.js.map +1 -1
  50. package/dist/cli.d.ts.map +1 -1
  51. package/dist/cli.js +18 -0
  52. package/dist/cli.js.map +1 -1
  53. package/dist/commands/adopt.d.ts +3 -0
  54. package/dist/commands/adopt.d.ts.map +1 -1
  55. package/dist/commands/adopt.js +31 -25
  56. package/dist/commands/adopt.js.map +1 -1
  57. package/dist/commands/consult/index.d.ts +3 -2
  58. package/dist/commands/consult/index.d.ts.map +1 -1
  59. package/dist/commands/consult/index.js +128 -54
  60. package/dist/commands/consult/index.js.map +1 -1
  61. package/dist/commands/doctor.d.ts.map +1 -1
  62. package/dist/commands/doctor.js +30 -34
  63. package/dist/commands/doctor.js.map +1 -1
  64. package/dist/commands/eject.d.ts +18 -0
  65. package/dist/commands/eject.d.ts.map +1 -0
  66. package/dist/commands/eject.js +149 -0
  67. package/dist/commands/eject.js.map +1 -0
  68. package/dist/commands/init.d.ts +3 -0
  69. package/dist/commands/init.d.ts.map +1 -1
  70. package/dist/commands/init.js +32 -27
  71. package/dist/commands/init.js.map +1 -1
  72. package/dist/lib/projectlist-parser.d.ts +70 -0
  73. package/dist/lib/projectlist-parser.d.ts.map +1 -0
  74. package/dist/lib/projectlist-parser.js +200 -0
  75. package/dist/lib/projectlist-parser.js.map +1 -0
  76. package/dist/lib/skeleton.d.ts +41 -0
  77. package/dist/lib/skeleton.d.ts.map +1 -0
  78. package/dist/lib/skeleton.js +110 -0
  79. package/dist/lib/skeleton.js.map +1 -0
  80. package/dist/lib/templates.d.ts +2 -1
  81. package/dist/lib/templates.d.ts.map +1 -1
  82. package/dist/lib/templates.js +11 -10
  83. package/dist/lib/templates.js.map +1 -1
  84. package/package.json +4 -3
  85. package/{templates → skeleton}/DEPENDENCIES.md +2 -48
  86. package/{templates → skeleton}/agents/codev-updater.md +4 -3
  87. package/skeleton/bin/agent-farm +7 -0
  88. package/skeleton/docs/commands/agent-farm.md +469 -0
  89. package/skeleton/docs/commands/codev.md +253 -0
  90. package/skeleton/docs/commands/consult.md +286 -0
  91. package/skeleton/docs/commands/overview.md +107 -0
  92. package/{templates → skeleton}/protocols/experiment/protocol.md +2 -2
  93. package/{templates → skeleton}/protocols/spider/protocol.md +7 -7
  94. package/{templates/protocols/spider-solo → skeleton/protocols/spider}/templates/plan.md +22 -1
  95. package/{templates/protocols/spider-solo → skeleton/protocols/spider}/templates/spec.md +30 -1
  96. package/skeleton/protocols/tick/protocol.md +277 -0
  97. package/skeleton/resources/lessons-learned.md +30 -0
  98. package/skeleton/resources/workflow-reference.md +229 -0
  99. package/{templates → skeleton}/roles/architect.md +2 -0
  100. package/{templates → skeleton}/roles/builder.md +2 -0
  101. package/skeleton/roles/review-types/impl-review.md +56 -0
  102. package/skeleton/roles/review-types/integration-review.md +68 -0
  103. package/skeleton/roles/review-types/plan-review.md +59 -0
  104. package/skeleton/roles/review-types/pr-ready.md +72 -0
  105. package/skeleton/roles/review-types/spec-review.md +55 -0
  106. package/{templates → skeleton}/templates/projectlist.md +17 -16
  107. package/dist/agent-farm/servers/annotate-server.d.ts +0 -9
  108. package/dist/agent-farm/servers/annotate-server.d.ts.map +0 -1
  109. package/dist/agent-farm/servers/annotate-server.js.map +0 -1
  110. package/templates/annotate.html +0 -903
  111. package/templates/bin/agent-farm +0 -18
  112. package/templates/bin/annotate-server.js +0 -140
  113. package/templates/dashboard-split.html +0 -1679
  114. package/templates/dashboard.html +0 -149
  115. package/templates/protocols/spider/templates/plan.md +0 -169
  116. package/templates/protocols/spider/templates/review.md +0 -207
  117. package/templates/protocols/spider/templates/spec.md +0 -140
  118. package/templates/protocols/spider-solo/protocol.md +0 -619
  119. package/templates/protocols/tick/protocol.md +0 -250
  120. package/templates/tower.html +0 -1032
  121. /package/{templates/AGENTS.md → skeleton/AGENTS.md.template} +0 -0
  122. /package/{templates/CLAUDE.md → skeleton/CLAUDE.md.template} +0 -0
  123. /package/{templates → skeleton}/agents/architecture-documenter.md +0 -0
  124. /package/{templates → skeleton}/agents/spider-protocol-updater.md +0 -0
  125. /package/{templates → skeleton}/bin/codev-doctor +0 -0
  126. /package/{templates → skeleton}/builders.md +0 -0
  127. /package/{templates → skeleton}/config.json +0 -0
  128. /package/{templates → skeleton}/plans/.gitkeep +0 -0
  129. /package/{templates → skeleton}/protocols/experiment/templates/notes.md +0 -0
  130. /package/{templates → skeleton}/protocols/maintain/protocol.md +0 -0
  131. /package/{templates/protocols/spider-solo → skeleton/protocols/spider}/templates/review.md +0 -0
  132. /package/{templates → skeleton}/protocols/tick/templates/plan.md +0 -0
  133. /package/{templates → skeleton}/protocols/tick/templates/review.md +0 -0
  134. /package/{templates → skeleton}/protocols/tick/templates/spec.md +0 -0
  135. /package/{templates → skeleton}/reviews/.gitkeep +0 -0
  136. /package/{templates → skeleton}/roles/consultant.md +0 -0
  137. /package/{templates → skeleton}/specs/.gitkeep +0 -0
@@ -0,0 +1,59 @@
1
+ # Plan Review Prompt
2
+
3
+ ## Context
4
+ You are reviewing an implementation plan at Stage 2 (SPECIFIED) of the workflow. The spec has been approved - now you must evaluate whether the plan adequately describes HOW to implement it.
5
+
6
+ ## Focus Areas
7
+
8
+ 1. **Spec Coverage**
9
+ - Does the plan address all requirements in the spec?
10
+ - Are there spec requirements not covered by any phase?
11
+ - Are there phases that go beyond the spec scope?
12
+
13
+ 2. **Phase Breakdown**
14
+ - Are phases appropriately sized (not too large or too small)?
15
+ - Is the sequence logical (dependencies respected)?
16
+ - Can each phase be completed and committed independently?
17
+
18
+ 3. **Technical Approach**
19
+ - Is the implementation approach sound?
20
+ - Are the right files/modules being modified?
21
+ - Are there obvious better approaches being missed?
22
+
23
+ 4. **Testability**
24
+ - Does each phase have clear test criteria?
25
+ - Will the Defend step (writing tests) be feasible?
26
+ - Are edge cases from the spec addressable?
27
+
28
+ 5. **Risk Assessment**
29
+ - Are there potential blockers not addressed?
30
+ - Are dependencies on other systems identified?
31
+ - Is the plan realistic given constraints?
32
+
33
+ ## Verdict Format
34
+
35
+ After your review, provide your verdict in exactly this format:
36
+
37
+ ```
38
+ ---
39
+ VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
40
+ SUMMARY: [One-line summary of your assessment]
41
+ CONFIDENCE: [HIGH | MEDIUM | LOW]
42
+ ---
43
+ KEY_ISSUES:
44
+ - [Issue 1 or "None"]
45
+ - [Issue 2]
46
+ ...
47
+ ```
48
+
49
+ **Verdict meanings:**
50
+ - `APPROVE`: Plan is ready for human review
51
+ - `REQUEST_CHANGES`: Significant issues with approach or coverage
52
+ - `COMMENT`: Minor suggestions, plan is workable but could improve
53
+
54
+ ## Notes
55
+
56
+ - The spec has already been approved - don't re-litigate spec decisions
57
+ - Focus on the quality of the plan as a guide for builders
58
+ - Consider: Would a builder be able to follow this plan successfully?
59
+ - If referencing existing code, verify file paths seem accurate
@@ -0,0 +1,72 @@
1
+ # PR Ready Review Prompt
2
+
3
+ ## Context
4
+ You are performing a final self-check at Stage 5 (IMPLEMENTED) of the workflow. The builder has completed all implementation phases and is about to create a PR. This is the last check before the work goes to the architect for integration review.
5
+
6
+ ## Focus Areas
7
+
8
+ 1. **Completeness**
9
+ - Are all spec requirements implemented?
10
+ - Are all plan phases complete?
11
+ - Is the review document written (`codev/reviews/XXXX-name.md`)?
12
+ - Are all commits properly formatted (`[Spec XXXX][Phase]`)?
13
+
14
+ 2. **Test Status**
15
+ - Do all tests pass?
16
+ - Is test coverage adequate for the changes?
17
+ - Are there any skipped or flaky tests?
18
+
19
+ 3. **Code Cleanliness**
20
+ - Is there any debug code left in?
21
+ - Are there any TODO comments that should be resolved?
22
+ - Are there any `// REVIEW:` comments that weren't addressed?
23
+ - Is the code properly formatted?
24
+
25
+ 4. **Documentation**
26
+ - Are inline comments clear where needed?
27
+ - Is the review document comprehensive?
28
+ - Are any new APIs documented?
29
+
30
+ 5. **PR Readiness**
31
+ - Is the branch up to date with main?
32
+ - Are commits atomic and well-described?
33
+ - Is the change diff reasonable in size?
34
+
35
+ ## Verdict Format
36
+
37
+ After your review, provide your verdict in exactly this format:
38
+
39
+ ```
40
+ ---
41
+ VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
42
+ SUMMARY: [One-line summary of your assessment]
43
+ CONFIDENCE: [HIGH | MEDIUM | LOW]
44
+ ---
45
+ KEY_ISSUES:
46
+ - [Issue 1 or "None"]
47
+ - [Issue 2]
48
+ ...
49
+
50
+ PR_SUMMARY: |
51
+ ## Summary
52
+ [2-3 sentences describing what this PR does]
53
+
54
+ ## Key Changes
55
+ - [Change 1]
56
+ - [Change 2]
57
+
58
+ ## Test Plan
59
+ - [How to test]
60
+ ```
61
+
62
+ **Verdict meanings:**
63
+ - `APPROVE`: Ready to create PR
64
+ - `REQUEST_CHANGES`: Issues to fix before PR creation
65
+ - `COMMENT`: Minor items, can create PR but note feedback
66
+
67
+ ## Notes
68
+
69
+ - This is the builder's final self-review before hand-off
70
+ - The PR_SUMMARY in your output can be used as the PR description
71
+ - Focus on "is this ready for someone else to review" not "is this perfect"
72
+ - Any issues found here are cheaper to fix than during integration review
@@ -0,0 +1,55 @@
1
+ # Specification Review Prompt
2
+
3
+ ## Context
4
+ You are reviewing a feature specification at Stage 1 (CONCEIVED) of the workflow. Your role is to ensure the spec is complete, correct, and feasible before it moves to human approval.
5
+
6
+ ## Focus Areas
7
+
8
+ 1. **Completeness**
9
+ - Are all requirements clearly stated?
10
+ - Are success criteria defined?
11
+ - Are edge cases considered?
12
+ - Is scope well-bounded (not too broad or vague)?
13
+
14
+ 2. **Correctness**
15
+ - Do requirements make sense technically?
16
+ - Are there contradictions?
17
+ - Is the problem statement accurate?
18
+
19
+ 3. **Feasibility**
20
+ - Can this be implemented with available tools/constraints?
21
+ - Are there obvious technical blockers?
22
+ - Is the scope realistic for a single spec?
23
+
24
+ 4. **Clarity**
25
+ - Would a builder understand what to build?
26
+ - Are acceptance criteria testable?
27
+ - Is terminology consistent?
28
+
29
+ ## Verdict Format
30
+
31
+ After your review, provide your verdict in exactly this format:
32
+
33
+ ```
34
+ ---
35
+ VERDICT: [APPROVE | REQUEST_CHANGES | COMMENT]
36
+ SUMMARY: [One-line summary of your assessment]
37
+ CONFIDENCE: [HIGH | MEDIUM | LOW]
38
+ ---
39
+ KEY_ISSUES:
40
+ - [Issue 1 or "None"]
41
+ - [Issue 2]
42
+ ...
43
+ ```
44
+
45
+ **Verdict meanings:**
46
+ - `APPROVE`: Spec is ready for human review
47
+ - `REQUEST_CHANGES`: Significant issues must be fixed before proceeding
48
+ - `COMMENT`: Minor suggestions, can proceed but consider feedback
49
+
50
+ ## Notes
51
+
52
+ - You are NOT reviewing code - you are reviewing the specification document
53
+ - Focus on WHAT is being built, not HOW it will be implemented (that's for plan review)
54
+ - Be constructive - identify issues AND suggest solutions
55
+ - If the spec references other specs, note if context seems missing
@@ -2,19 +2,20 @@
2
2
 
3
3
  Centralized tracking of all projects with status, priority, and dependencies.
4
4
 
5
+ > **Quick Reference**: See `codev/resources/workflow-reference.md` for stage diagrams and common commands.
6
+
5
7
  ## Project Lifecycle
6
8
 
7
9
  Every project goes through stages. Not all projects reach completion:
8
10
 
9
11
  **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.
12
+ 1. **conceived** - Initial idea captured. Spec file may exist but is not yet approved. **AI agents must stop here after writing a spec.**
13
+ 2. **specified** - Specification approved by human. **ONLY the human can mark a project as specified.**
14
+ 3. **planned** - Implementation plan created (codev/plans/NNNN-name.md exists)
15
+ 4. **implementing** - Actively being worked on (one or more phases in progress)
16
+ 5. **implemented** - Code complete, tests passing, PR created and awaiting review
17
+ 6. **committed** - PR merged to main branch
18
+ 7. **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
 
19
20
  **Terminal States:**
20
21
  - **abandoned** - Project canceled/rejected, will not be implemented (explain reason in notes)
@@ -27,7 +28,7 @@ projects:
27
28
  - id: "NNNN" # Four-digit project number
28
29
  title: "Brief title"
29
30
  summary: "One-sentence description of what this project does"
30
- status: conceived|spec-draft|specified|planned|implementing|implemented|committed|integrated|abandoned|on-hold
31
+ status: conceived|specified|planned|implementing|implemented|committed|integrated|abandoned|on-hold
31
32
  priority: high|medium|low
32
33
  files:
33
34
  spec: codev/specs/NNNN-name.md # Required after "specified"
@@ -57,16 +58,16 @@ Add a project entry when:
57
58
  ### Status Transitions
58
59
 
59
60
  ```
60
- conceived → spec-draft → [HUMAN] → specified → planned → implementing → implemented → committed → [HUMAN] → integrated
61
-
62
- Human approves Human approves
63
- the spec production deploy
61
+ conceived → [HUMAN] → specified → planned → implementing → implemented → committed → [HUMAN] → integrated
62
+
63
+ Human approves Human approves
64
+ the spec production deploy
64
65
 
65
66
  Any status can transition to: abandoned, on-hold
66
67
  ```
67
68
 
68
69
  **Human approval gates:**
69
- - `spec-draft` → `specified`: Human must approve the specification
70
+ - `conceived` → `specified`: Human must approve the specification
70
71
  - `committed` → `integrated`: Human must validate production deployment
71
72
 
72
73
  ### Priority Guidelines
@@ -124,6 +125,6 @@ To see high-priority work, search for `priority: high`.
124
125
  Before starting a project, verify its dependencies are at least `implemented`.
125
126
 
126
127
  ### Protocol Selection
127
- - **SPIDER/SPIDER-SOLO**: Most projects (formal spec → plan → implement → review)
128
- - **TICK**: Small, well-defined tasks (< 300 lines)
128
+ - **SPIDER**: Most projects (formal spec → plan → implement → review)
129
+ - **TICK**: Small, well-defined tasks (< 300 lines) or amendments to existing specs
129
130
  - **EXPERIMENT**: Research/prototyping before committing to a project
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Annotation server for file review.
4
- * Serves the annotation viewer and handles file saves.
5
- *
6
- * Usage: node annotate-server.js <port> <filepath>
7
- */
8
- export {};
9
- //# sourceMappingURL=annotate-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotate-server.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/servers/annotate-server.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotate-server.js","sourceRoot":"","sources":["../../../src/agent-farm/servers/annotate-server.ts"],"names":[],"mappings":"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"}