anvil-dev-framework 0.1.6

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 (190) hide show
  1. package/README.md +719 -0
  2. package/VERSION +1 -0
  3. package/docs/ANVIL-REPO-IMPLEMENTATION-PLAN.md +441 -0
  4. package/docs/FIRST-SKILL-TUTORIAL.md +408 -0
  5. package/docs/INSTALLATION-RETRO-NOTES.md +458 -0
  6. package/docs/INSTALLATION.md +984 -0
  7. package/docs/anvil-hud.md +469 -0
  8. package/docs/anvil-init.md +255 -0
  9. package/docs/anvil-state.md +210 -0
  10. package/docs/boris-cherny-ralph-wiggum-insights.md +608 -0
  11. package/docs/command-reference.md +2022 -0
  12. package/docs/hooks-tts.md +368 -0
  13. package/docs/implementation-guide.md +810 -0
  14. package/docs/linear-github-integration.md +247 -0
  15. package/docs/local-issues.md +677 -0
  16. package/docs/patterns/README.md +419 -0
  17. package/docs/planning-responsibilities.md +139 -0
  18. package/docs/session-workflow.md +573 -0
  19. package/docs/simplification-plan-template.md +297 -0
  20. package/docs/simplification-principles.md +129 -0
  21. package/docs/specifications/CCS-RALPH-INTEGRATION-DESIGN.md +633 -0
  22. package/docs/specifications/CCS-RESEARCH-REPORT.md +169 -0
  23. package/docs/specifications/PLAN-ANV-verification-ralph-wiggum.md +403 -0
  24. package/docs/specifications/PLAN-parallel-tracks-anvil-memory-ccs.md +494 -0
  25. package/docs/specifications/SPEC-ANV-VRW/component-01-verify.md +208 -0
  26. package/docs/specifications/SPEC-ANV-VRW/component-02-stop-gate.md +226 -0
  27. package/docs/specifications/SPEC-ANV-VRW/component-03-posttooluse.md +209 -0
  28. package/docs/specifications/SPEC-ANV-VRW/component-04-ralph-wiggum.md +604 -0
  29. package/docs/specifications/SPEC-ANV-VRW/component-05-atomic-actions.md +311 -0
  30. package/docs/specifications/SPEC-ANV-VRW/component-06-verify-subagent.md +264 -0
  31. package/docs/specifications/SPEC-ANV-VRW/component-07-claude-md.md +363 -0
  32. package/docs/specifications/SPEC-ANV-VRW/index.md +182 -0
  33. package/docs/specifications/SPEC-ANV-anvil-memory.md +573 -0
  34. package/docs/specifications/SPEC-ANV-context-checkpoints.md +781 -0
  35. package/docs/specifications/SPEC-ANV-verification-ralph-wiggum.md +789 -0
  36. package/docs/sync.md +122 -0
  37. package/global/CLAUDE.md +140 -0
  38. package/global/agents/verify-app.md +164 -0
  39. package/global/commands/anvil-settings.md +527 -0
  40. package/global/commands/anvil-sync.md +121 -0
  41. package/global/commands/change.md +197 -0
  42. package/global/commands/clarify.md +252 -0
  43. package/global/commands/cleanup.md +292 -0
  44. package/global/commands/commit-push-pr.md +207 -0
  45. package/global/commands/decay-review.md +127 -0
  46. package/global/commands/discover.md +158 -0
  47. package/global/commands/doc-coverage.md +122 -0
  48. package/global/commands/evidence.md +307 -0
  49. package/global/commands/explore.md +121 -0
  50. package/global/commands/force-exit.md +135 -0
  51. package/global/commands/handoff.md +191 -0
  52. package/global/commands/healthcheck.md +302 -0
  53. package/global/commands/hud.md +84 -0
  54. package/global/commands/insights.md +319 -0
  55. package/global/commands/linear-setup.md +184 -0
  56. package/global/commands/lint-fix.md +198 -0
  57. package/global/commands/orient.md +510 -0
  58. package/global/commands/plan.md +228 -0
  59. package/global/commands/ralph.md +346 -0
  60. package/global/commands/ready.md +182 -0
  61. package/global/commands/release.md +305 -0
  62. package/global/commands/retro.md +96 -0
  63. package/global/commands/shard.md +166 -0
  64. package/global/commands/spec.md +227 -0
  65. package/global/commands/sprint.md +184 -0
  66. package/global/commands/tasks.md +228 -0
  67. package/global/commands/test-and-commit.md +151 -0
  68. package/global/commands/validate.md +132 -0
  69. package/global/commands/verify.md +251 -0
  70. package/global/commands/weekly-review.md +156 -0
  71. package/global/hooks/__pycache__/ralph_context_monitor.cpython-314.pyc +0 -0
  72. package/global/hooks/__pycache__/statusline_agent_sync.cpython-314.pyc +0 -0
  73. package/global/hooks/anvil_memory_observe.ts +322 -0
  74. package/global/hooks/anvil_memory_session.ts +166 -0
  75. package/global/hooks/anvil_memory_stop.ts +187 -0
  76. package/global/hooks/parse_transcript.py +116 -0
  77. package/global/hooks/post_merge_cleanup.sh +132 -0
  78. package/global/hooks/post_tool_format.sh +215 -0
  79. package/global/hooks/ralph_context_monitor.py +240 -0
  80. package/global/hooks/ralph_stop.sh +502 -0
  81. package/global/hooks/statusline.sh +1110 -0
  82. package/global/hooks/statusline_agent_sync.py +224 -0
  83. package/global/hooks/stop_gate.sh +250 -0
  84. package/global/lib/.claude/anvil-state.json +21 -0
  85. package/global/lib/__pycache__/agent_registry.cpython-314.pyc +0 -0
  86. package/global/lib/__pycache__/claim_service.cpython-314.pyc +0 -0
  87. package/global/lib/__pycache__/coderabbit_service.cpython-314.pyc +0 -0
  88. package/global/lib/__pycache__/config_service.cpython-314.pyc +0 -0
  89. package/global/lib/__pycache__/coordination_service.cpython-314.pyc +0 -0
  90. package/global/lib/__pycache__/doc_coverage_service.cpython-314.pyc +0 -0
  91. package/global/lib/__pycache__/gate_logger.cpython-314.pyc +0 -0
  92. package/global/lib/__pycache__/github_service.cpython-314.pyc +0 -0
  93. package/global/lib/__pycache__/hygiene_service.cpython-314.pyc +0 -0
  94. package/global/lib/__pycache__/issue_models.cpython-314.pyc +0 -0
  95. package/global/lib/__pycache__/issue_provider.cpython-314.pyc +0 -0
  96. package/global/lib/__pycache__/linear_data_service.cpython-314.pyc +0 -0
  97. package/global/lib/__pycache__/linear_provider.cpython-314.pyc +0 -0
  98. package/global/lib/__pycache__/local_provider.cpython-314.pyc +0 -0
  99. package/global/lib/__pycache__/quality_service.cpython-314.pyc +0 -0
  100. package/global/lib/__pycache__/ralph_state.cpython-314.pyc +0 -0
  101. package/global/lib/__pycache__/state_manager.cpython-314.pyc +0 -0
  102. package/global/lib/__pycache__/transcript_parser.cpython-314.pyc +0 -0
  103. package/global/lib/__pycache__/verification_runner.cpython-314.pyc +0 -0
  104. package/global/lib/__pycache__/verify_iteration.cpython-314.pyc +0 -0
  105. package/global/lib/__pycache__/verify_subagent.cpython-314.pyc +0 -0
  106. package/global/lib/agent_registry.py +995 -0
  107. package/global/lib/anvil-state.sh +435 -0
  108. package/global/lib/claim_service.py +515 -0
  109. package/global/lib/coderabbit_service.py +314 -0
  110. package/global/lib/config_service.py +423 -0
  111. package/global/lib/coordination_service.py +331 -0
  112. package/global/lib/doc_coverage_service.py +1305 -0
  113. package/global/lib/gate_logger.py +316 -0
  114. package/global/lib/github_service.py +310 -0
  115. package/global/lib/handoff_generator.py +775 -0
  116. package/global/lib/hygiene_service.py +712 -0
  117. package/global/lib/issue_models.py +257 -0
  118. package/global/lib/issue_provider.py +339 -0
  119. package/global/lib/linear_data_service.py +210 -0
  120. package/global/lib/linear_provider.py +987 -0
  121. package/global/lib/linear_provider.py.backup +671 -0
  122. package/global/lib/local_provider.py +486 -0
  123. package/global/lib/orient_fast.py +457 -0
  124. package/global/lib/quality_service.py +470 -0
  125. package/global/lib/ralph_prompt_generator.py +563 -0
  126. package/global/lib/ralph_state.py +1202 -0
  127. package/global/lib/state_manager.py +417 -0
  128. package/global/lib/transcript_parser.py +597 -0
  129. package/global/lib/verification_runner.py +557 -0
  130. package/global/lib/verify_iteration.py +490 -0
  131. package/global/lib/verify_subagent.py +250 -0
  132. package/global/skills/README.md +155 -0
  133. package/global/skills/quality-gates/SKILL.md +252 -0
  134. package/global/skills/skill-template/SKILL.md +109 -0
  135. package/global/skills/testing-strategies/SKILL.md +337 -0
  136. package/global/templates/CHANGE-template.md +105 -0
  137. package/global/templates/HANDOFF-template.md +63 -0
  138. package/global/templates/PLAN-template.md +111 -0
  139. package/global/templates/SPEC-template.md +93 -0
  140. package/global/templates/ralph/PROMPT.md.template +89 -0
  141. package/global/templates/ralph/fix_plan.md.template +31 -0
  142. package/global/templates/ralph/progress.txt.template +23 -0
  143. package/global/tests/__pycache__/test_doc_coverage.cpython-314.pyc +0 -0
  144. package/global/tests/test_doc_coverage.py +520 -0
  145. package/global/tests/test_issue_models.py +299 -0
  146. package/global/tests/test_local_provider.py +323 -0
  147. package/global/tools/README.md +178 -0
  148. package/global/tools/__pycache__/anvil-hud.cpython-314.pyc +0 -0
  149. package/global/tools/anvil-hud.py +3622 -0
  150. package/global/tools/anvil-hud.py.bak +3318 -0
  151. package/global/tools/anvil-issue.py +432 -0
  152. package/global/tools/anvil-memory/CLAUDE.md +49 -0
  153. package/global/tools/anvil-memory/README.md +42 -0
  154. package/global/tools/anvil-memory/bun.lock +25 -0
  155. package/global/tools/anvil-memory/bunfig.toml +9 -0
  156. package/global/tools/anvil-memory/package.json +23 -0
  157. package/global/tools/anvil-memory/src/__tests__/ccs/context-monitor.test.ts +535 -0
  158. package/global/tools/anvil-memory/src/__tests__/ccs/edge-cases.test.ts +645 -0
  159. package/global/tools/anvil-memory/src/__tests__/ccs/fixtures.ts +363 -0
  160. package/global/tools/anvil-memory/src/__tests__/ccs/index.ts +8 -0
  161. package/global/tools/anvil-memory/src/__tests__/ccs/integration.test.ts +417 -0
  162. package/global/tools/anvil-memory/src/__tests__/ccs/prompt-generator.test.ts +571 -0
  163. package/global/tools/anvil-memory/src/__tests__/ccs/ralph-stop.test.ts +440 -0
  164. package/global/tools/anvil-memory/src/__tests__/ccs/test-utils.ts +252 -0
  165. package/global/tools/anvil-memory/src/__tests__/commands.test.ts +657 -0
  166. package/global/tools/anvil-memory/src/__tests__/db.test.ts +641 -0
  167. package/global/tools/anvil-memory/src/__tests__/hooks.test.ts +272 -0
  168. package/global/tools/anvil-memory/src/__tests__/performance.test.ts +427 -0
  169. package/global/tools/anvil-memory/src/__tests__/test-utils.ts +113 -0
  170. package/global/tools/anvil-memory/src/commands/checkpoint.ts +197 -0
  171. package/global/tools/anvil-memory/src/commands/get.ts +115 -0
  172. package/global/tools/anvil-memory/src/commands/init.ts +94 -0
  173. package/global/tools/anvil-memory/src/commands/observe.ts +163 -0
  174. package/global/tools/anvil-memory/src/commands/search.ts +112 -0
  175. package/global/tools/anvil-memory/src/db.ts +638 -0
  176. package/global/tools/anvil-memory/src/index.ts +205 -0
  177. package/global/tools/anvil-memory/src/types.ts +122 -0
  178. package/global/tools/anvil-memory/tsconfig.json +29 -0
  179. package/global/tools/ralph-loop.sh +359 -0
  180. package/package.json +45 -0
  181. package/scripts/anvil +822 -0
  182. package/scripts/extract_patterns.py +222 -0
  183. package/scripts/init-project.sh +541 -0
  184. package/scripts/install.sh +229 -0
  185. package/scripts/postinstall.js +41 -0
  186. package/scripts/rollback.sh +188 -0
  187. package/scripts/sync.sh +623 -0
  188. package/scripts/test-statusline.sh +248 -0
  189. package/scripts/update_claude_md.py +224 -0
  190. package/scripts/verify.sh +255 -0
@@ -0,0 +1,93 @@
1
+ ---
2
+ spec_id: SPEC-[NUMBER]
3
+ title: [Feature Name]
4
+ status: draft
5
+ created: YYYY-MM-DD
6
+ updated: YYYY-MM-DD
7
+ linear_issue: [Issue Key]
8
+ ---
9
+
10
+ # [Feature Name] Specification
11
+
12
+ ## Overview
13
+ [2-3 sentence description of what this feature does and why it matters]
14
+
15
+ ## Problem Statement
16
+ [What problem does this solve? What's the current pain point?]
17
+
18
+ ## Requirements
19
+
20
+ ### Functional Requirements
21
+ 1. **[REQ-001]**: [Requirement description]
22
+ 2. **[REQ-002]**: [Requirement description]
23
+ 3. **[REQ-003]**: [Requirement description]
24
+
25
+ ### Non-Functional Requirements
26
+ - **Performance**: [Any performance requirements]
27
+ - **Security**: [Any security considerations]
28
+ - **Accessibility**: [Any a11y requirements]
29
+
30
+ ## User Stories
31
+
32
+ ### [Story 1 Title]
33
+ **As a** [user type]
34
+ **I want** [goal]
35
+ **So that** [benefit]
36
+
37
+ ## Acceptance Criteria
38
+
39
+ ### Scenario: [Happy Path]
40
+ ```gherkin
41
+ GIVEN [precondition]
42
+ AND [additional precondition]
43
+ WHEN [action]
44
+ THEN [expected result]
45
+ AND [additional result]
46
+ ```
47
+
48
+ ### Scenario: [Edge Case]
49
+ ```gherkin
50
+ GIVEN [precondition]
51
+ WHEN [action]
52
+ THEN [expected behavior]
53
+ ```
54
+
55
+ ### Scenario: [Error Case]
56
+ ```gherkin
57
+ GIVEN [precondition]
58
+ WHEN [invalid action]
59
+ THEN [error handling behavior]
60
+ ```
61
+
62
+ ## Technical Considerations
63
+
64
+ ### Affected Components
65
+ | Component | Change Type | Notes |
66
+ |-----------|-------------|-------|
67
+ | [Component] | New/Modified | [Details] |
68
+
69
+ ### Data Model Changes
70
+ [Any database or state changes needed]
71
+
72
+ ### API Changes
73
+ [Any API endpoints added or modified]
74
+
75
+ ### Dependencies
76
+ - [Dependency on other features/systems]
77
+
78
+ ## Out of Scope
79
+ - [Explicitly excluded item]
80
+ - [Future consideration, not this iteration]
81
+
82
+ ## Open Questions
83
+ - [ ] [Question needing resolution]
84
+ - [ ] [Decision needed]
85
+
86
+ ## Risks and Mitigations
87
+ | Risk | Impact | Mitigation |
88
+ |------|--------|------------|
89
+ | [Risk] | High/Med/Low | [Mitigation strategy] |
90
+
91
+ ## References
92
+ - [Link to related documentation]
93
+ - [Link to design mocks]
@@ -0,0 +1,89 @@
1
+ # Task: {{task_name}}
2
+
3
+ ## Objective
4
+ {{objective}}
5
+
6
+ ## Current State
7
+ - **Iteration**: {{iteration_count}}
8
+ - **Last action**: {{last_action}}
9
+ - **Remaining items**: {{remaining_count}} of {{total_items}}
10
+ - **Started**: {{started_at}}
11
+
12
+ ---
13
+
14
+ ## Instructions
15
+
16
+ ### Step 1: Review Progress
17
+ 1. **Read `progress.txt`** first - learn from what previous iterations attempted
18
+ 2. Read `fix_plan.md` for the current TODO list
19
+
20
+ ### Step 2: Execute ONE Item
21
+ 3. Find the **first unchecked item** in fix_plan.md
22
+ 4. Complete **ONLY that one item** - do not attempt multiple items
23
+ 5. Run tests after completion
24
+
25
+ ### Step 3: Update State
26
+ 6. If tests pass, mark the item complete in fix_plan.md: `- [x]`
27
+ 7. **Update `progress.txt`** with what you did this iteration
28
+
29
+ ### Step 4: Check Completion
30
+ 8. If ALL items are complete and tests pass, output:
31
+ ```
32
+ <promise>{{completion_promise}}</promise>
33
+ ```
34
+
35
+ ---
36
+
37
+ ## Progress Tracking (REQUIRED)
38
+
39
+ After each iteration, **append** to `progress.txt`:
40
+
41
+ ```markdown
42
+ ## Iteration {{iteration_count}} - {{timestamp}}
43
+
44
+ ### Completed
45
+ - [What you finished this iteration]
46
+
47
+ ### Attempted (if any failed)
48
+ - [What you tried but couldn't complete]
49
+
50
+ ### Next
51
+ - [What the next iteration should focus on]
52
+
53
+ ### Blockers
54
+ - [Anything blocking progress, or "None"]
55
+ ```
56
+
57
+ ---
58
+
59
+ ## Constraints
60
+
61
+ | Rule | Reason |
62
+ |------|--------|
63
+ | **ONE item per iteration** | Prevents context overflow |
64
+ | **Always update progress.txt** | Prevents repeated mistakes |
65
+ | **Run tests before marking complete** | Ensures quality |
66
+ | **Commit on successful item** | Preserves progress |
67
+ | **Use subagents for research** | Keeps main context clean |
68
+
69
+ ---
70
+
71
+ ## Completion Signal
72
+
73
+ When ALL items are done and tests pass:
74
+ ```
75
+ <promise>{{completion_promise}}</promise>
76
+ ```
77
+
78
+ ## Fatal Error Signal
79
+
80
+ If stuck or unrecoverable after multiple attempts:
81
+ ```
82
+ <fatal>Description of the blocking issue</fatal>
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Context
88
+
89
+ {{additional_context}}
@@ -0,0 +1,31 @@
1
+ # Fix Plan: {{task_name}}
2
+
3
+ > Generated: {{timestamp}}
4
+ > Task: {{objective}}
5
+
6
+ ---
7
+
8
+ ## TODO Items
9
+
10
+ Complete these items **one at a time**, in order:
11
+
12
+ {{todo_items}}
13
+
14
+ ---
15
+
16
+ ## Completion Criteria
17
+
18
+ All items must be checked AND:
19
+ - [ ] All tests passing
20
+ - [ ] All lint checks passing
21
+ - [ ] Code reviewed for quality
22
+
23
+ When complete, output: `<promise>{{completion_promise}}</promise>`
24
+
25
+ ---
26
+
27
+ ## Notes
28
+
29
+ - Mark items complete with `- [x]` when done
30
+ - Do NOT skip items - complete in order
31
+ - If stuck on an item for 3+ iterations, output `<fatal>reason</fatal>`
@@ -0,0 +1,23 @@
1
+ # Ralph Wiggum Progress Log
2
+
3
+ > Task: {{task_name}}
4
+ > Started: {{started_at}}
5
+ > Objective: {{objective}}
6
+
7
+ ---
8
+
9
+ ## Iteration 0 - Initialization
10
+
11
+ ### Completed
12
+ - Created fix_plan.md with {{total_items}} items
13
+ - Initialized progress tracking
14
+
15
+ ### Next
16
+ - Begin with first TODO item
17
+
18
+ ### Blockers
19
+ - None
20
+
21
+ ---
22
+
23
+ <!-- Each iteration should append a new section below -->