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.
- package/README.md +719 -0
- package/VERSION +1 -0
- package/docs/ANVIL-REPO-IMPLEMENTATION-PLAN.md +441 -0
- package/docs/FIRST-SKILL-TUTORIAL.md +408 -0
- package/docs/INSTALLATION-RETRO-NOTES.md +458 -0
- package/docs/INSTALLATION.md +984 -0
- package/docs/anvil-hud.md +469 -0
- package/docs/anvil-init.md +255 -0
- package/docs/anvil-state.md +210 -0
- package/docs/boris-cherny-ralph-wiggum-insights.md +608 -0
- package/docs/command-reference.md +2022 -0
- package/docs/hooks-tts.md +368 -0
- package/docs/implementation-guide.md +810 -0
- package/docs/linear-github-integration.md +247 -0
- package/docs/local-issues.md +677 -0
- package/docs/patterns/README.md +419 -0
- package/docs/planning-responsibilities.md +139 -0
- package/docs/session-workflow.md +573 -0
- package/docs/simplification-plan-template.md +297 -0
- package/docs/simplification-principles.md +129 -0
- package/docs/specifications/CCS-RALPH-INTEGRATION-DESIGN.md +633 -0
- package/docs/specifications/CCS-RESEARCH-REPORT.md +169 -0
- package/docs/specifications/PLAN-ANV-verification-ralph-wiggum.md +403 -0
- package/docs/specifications/PLAN-parallel-tracks-anvil-memory-ccs.md +494 -0
- package/docs/specifications/SPEC-ANV-VRW/component-01-verify.md +208 -0
- package/docs/specifications/SPEC-ANV-VRW/component-02-stop-gate.md +226 -0
- package/docs/specifications/SPEC-ANV-VRW/component-03-posttooluse.md +209 -0
- package/docs/specifications/SPEC-ANV-VRW/component-04-ralph-wiggum.md +604 -0
- package/docs/specifications/SPEC-ANV-VRW/component-05-atomic-actions.md +311 -0
- package/docs/specifications/SPEC-ANV-VRW/component-06-verify-subagent.md +264 -0
- package/docs/specifications/SPEC-ANV-VRW/component-07-claude-md.md +363 -0
- package/docs/specifications/SPEC-ANV-VRW/index.md +182 -0
- package/docs/specifications/SPEC-ANV-anvil-memory.md +573 -0
- package/docs/specifications/SPEC-ANV-context-checkpoints.md +781 -0
- package/docs/specifications/SPEC-ANV-verification-ralph-wiggum.md +789 -0
- package/docs/sync.md +122 -0
- package/global/CLAUDE.md +140 -0
- package/global/agents/verify-app.md +164 -0
- package/global/commands/anvil-settings.md +527 -0
- package/global/commands/anvil-sync.md +121 -0
- package/global/commands/change.md +197 -0
- package/global/commands/clarify.md +252 -0
- package/global/commands/cleanup.md +292 -0
- package/global/commands/commit-push-pr.md +207 -0
- package/global/commands/decay-review.md +127 -0
- package/global/commands/discover.md +158 -0
- package/global/commands/doc-coverage.md +122 -0
- package/global/commands/evidence.md +307 -0
- package/global/commands/explore.md +121 -0
- package/global/commands/force-exit.md +135 -0
- package/global/commands/handoff.md +191 -0
- package/global/commands/healthcheck.md +302 -0
- package/global/commands/hud.md +84 -0
- package/global/commands/insights.md +319 -0
- package/global/commands/linear-setup.md +184 -0
- package/global/commands/lint-fix.md +198 -0
- package/global/commands/orient.md +510 -0
- package/global/commands/plan.md +228 -0
- package/global/commands/ralph.md +346 -0
- package/global/commands/ready.md +182 -0
- package/global/commands/release.md +305 -0
- package/global/commands/retro.md +96 -0
- package/global/commands/shard.md +166 -0
- package/global/commands/spec.md +227 -0
- package/global/commands/sprint.md +184 -0
- package/global/commands/tasks.md +228 -0
- package/global/commands/test-and-commit.md +151 -0
- package/global/commands/validate.md +132 -0
- package/global/commands/verify.md +251 -0
- package/global/commands/weekly-review.md +156 -0
- package/global/hooks/__pycache__/ralph_context_monitor.cpython-314.pyc +0 -0
- package/global/hooks/__pycache__/statusline_agent_sync.cpython-314.pyc +0 -0
- package/global/hooks/anvil_memory_observe.ts +322 -0
- package/global/hooks/anvil_memory_session.ts +166 -0
- package/global/hooks/anvil_memory_stop.ts +187 -0
- package/global/hooks/parse_transcript.py +116 -0
- package/global/hooks/post_merge_cleanup.sh +132 -0
- package/global/hooks/post_tool_format.sh +215 -0
- package/global/hooks/ralph_context_monitor.py +240 -0
- package/global/hooks/ralph_stop.sh +502 -0
- package/global/hooks/statusline.sh +1110 -0
- package/global/hooks/statusline_agent_sync.py +224 -0
- package/global/hooks/stop_gate.sh +250 -0
- package/global/lib/.claude/anvil-state.json +21 -0
- package/global/lib/__pycache__/agent_registry.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/claim_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/coderabbit_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/config_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/coordination_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/doc_coverage_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/gate_logger.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/github_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/hygiene_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/issue_models.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/issue_provider.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/linear_data_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/linear_provider.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/local_provider.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/quality_service.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/ralph_state.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/state_manager.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/transcript_parser.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/verification_runner.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/verify_iteration.cpython-314.pyc +0 -0
- package/global/lib/__pycache__/verify_subagent.cpython-314.pyc +0 -0
- package/global/lib/agent_registry.py +995 -0
- package/global/lib/anvil-state.sh +435 -0
- package/global/lib/claim_service.py +515 -0
- package/global/lib/coderabbit_service.py +314 -0
- package/global/lib/config_service.py +423 -0
- package/global/lib/coordination_service.py +331 -0
- package/global/lib/doc_coverage_service.py +1305 -0
- package/global/lib/gate_logger.py +316 -0
- package/global/lib/github_service.py +310 -0
- package/global/lib/handoff_generator.py +775 -0
- package/global/lib/hygiene_service.py +712 -0
- package/global/lib/issue_models.py +257 -0
- package/global/lib/issue_provider.py +339 -0
- package/global/lib/linear_data_service.py +210 -0
- package/global/lib/linear_provider.py +987 -0
- package/global/lib/linear_provider.py.backup +671 -0
- package/global/lib/local_provider.py +486 -0
- package/global/lib/orient_fast.py +457 -0
- package/global/lib/quality_service.py +470 -0
- package/global/lib/ralph_prompt_generator.py +563 -0
- package/global/lib/ralph_state.py +1202 -0
- package/global/lib/state_manager.py +417 -0
- package/global/lib/transcript_parser.py +597 -0
- package/global/lib/verification_runner.py +557 -0
- package/global/lib/verify_iteration.py +490 -0
- package/global/lib/verify_subagent.py +250 -0
- package/global/skills/README.md +155 -0
- package/global/skills/quality-gates/SKILL.md +252 -0
- package/global/skills/skill-template/SKILL.md +109 -0
- package/global/skills/testing-strategies/SKILL.md +337 -0
- package/global/templates/CHANGE-template.md +105 -0
- package/global/templates/HANDOFF-template.md +63 -0
- package/global/templates/PLAN-template.md +111 -0
- package/global/templates/SPEC-template.md +93 -0
- package/global/templates/ralph/PROMPT.md.template +89 -0
- package/global/templates/ralph/fix_plan.md.template +31 -0
- package/global/templates/ralph/progress.txt.template +23 -0
- package/global/tests/__pycache__/test_doc_coverage.cpython-314.pyc +0 -0
- package/global/tests/test_doc_coverage.py +520 -0
- package/global/tests/test_issue_models.py +299 -0
- package/global/tests/test_local_provider.py +323 -0
- package/global/tools/README.md +178 -0
- package/global/tools/__pycache__/anvil-hud.cpython-314.pyc +0 -0
- package/global/tools/anvil-hud.py +3622 -0
- package/global/tools/anvil-hud.py.bak +3318 -0
- package/global/tools/anvil-issue.py +432 -0
- package/global/tools/anvil-memory/CLAUDE.md +49 -0
- package/global/tools/anvil-memory/README.md +42 -0
- package/global/tools/anvil-memory/bun.lock +25 -0
- package/global/tools/anvil-memory/bunfig.toml +9 -0
- package/global/tools/anvil-memory/package.json +23 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/context-monitor.test.ts +535 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/edge-cases.test.ts +645 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/fixtures.ts +363 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/index.ts +8 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/integration.test.ts +417 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/prompt-generator.test.ts +571 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/ralph-stop.test.ts +440 -0
- package/global/tools/anvil-memory/src/__tests__/ccs/test-utils.ts +252 -0
- package/global/tools/anvil-memory/src/__tests__/commands.test.ts +657 -0
- package/global/tools/anvil-memory/src/__tests__/db.test.ts +641 -0
- package/global/tools/anvil-memory/src/__tests__/hooks.test.ts +272 -0
- package/global/tools/anvil-memory/src/__tests__/performance.test.ts +427 -0
- package/global/tools/anvil-memory/src/__tests__/test-utils.ts +113 -0
- package/global/tools/anvil-memory/src/commands/checkpoint.ts +197 -0
- package/global/tools/anvil-memory/src/commands/get.ts +115 -0
- package/global/tools/anvil-memory/src/commands/init.ts +94 -0
- package/global/tools/anvil-memory/src/commands/observe.ts +163 -0
- package/global/tools/anvil-memory/src/commands/search.ts +112 -0
- package/global/tools/anvil-memory/src/db.ts +638 -0
- package/global/tools/anvil-memory/src/index.ts +205 -0
- package/global/tools/anvil-memory/src/types.ts +122 -0
- package/global/tools/anvil-memory/tsconfig.json +29 -0
- package/global/tools/ralph-loop.sh +359 -0
- package/package.json +45 -0
- package/scripts/anvil +822 -0
- package/scripts/extract_patterns.py +222 -0
- package/scripts/init-project.sh +541 -0
- package/scripts/install.sh +229 -0
- package/scripts/postinstall.js +41 -0
- package/scripts/rollback.sh +188 -0
- package/scripts/sync.sh +623 -0
- package/scripts/test-statusline.sh +248 -0
- package/scripts/update_claude_md.py +224 -0
- package/scripts/verify.sh +255 -0
package/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.1.6.0
|
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
# Anvil Repo Implementation Plan
|
|
2
|
+
|
|
3
|
+
> Based on INSTALLATION-RETRO-NOTES.md from 2025-12-17 installation
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
This plan addresses all findings from the baby-gift-garden installation. Work is prioritized by impact and organized into logical commits.
|
|
10
|
+
|
|
11
|
+
**Repo location**: `/Users/alexandercahiz/Projects/anvil-dev-framework/`
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Phase 1: Commit Current Fixes (Already Done)
|
|
16
|
+
|
|
17
|
+
These fixes were made during installation. Just need to commit.
|
|
18
|
+
|
|
19
|
+
### Files to commit:
|
|
20
|
+
```
|
|
21
|
+
global/commands/orient.md
|
|
22
|
+
global/commands/ready.md
|
|
23
|
+
global/commands/discover.md
|
|
24
|
+
global/commands/tasks.md
|
|
25
|
+
global/commands/decay-review.md
|
|
26
|
+
quality-gates/.pre-commit-config.yaml
|
|
27
|
+
quality-gates/.semgrep/rules/anvil-rules.yaml
|
|
28
|
+
project/coordination.md
|
|
29
|
+
docs/INSTALLATION-RETRO-NOTES.md
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Commit message:
|
|
33
|
+
```
|
|
34
|
+
fix: apply learnings from baby-gift-garden installation
|
|
35
|
+
|
|
36
|
+
- Linear CLI: Use explicit bash syntax in commands (list-issues --status)
|
|
37
|
+
- Pre-commit: Fix deprecated stage names (commit → pre-commit)
|
|
38
|
+
- Semgrep: Simplify rules to reduce false positives (187 → 99 lines)
|
|
39
|
+
- Add coordination.md template for parallel instance tracking
|
|
40
|
+
- Add comprehensive installation retro notes
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Phase 2: Update INSTALLATION.md (High Priority)
|
|
46
|
+
|
|
47
|
+
### 2.1 Split Installation Paths
|
|
48
|
+
|
|
49
|
+
**Current**: Single linear path assumes migration from multi-agent
|
|
50
|
+
**New**: Two paths based on starting point
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Installation Paths
|
|
54
|
+
|
|
55
|
+
### Path A: Fresh Install (No Existing Setup)
|
|
56
|
+
- Phase 0: Prerequisites
|
|
57
|
+
- Phase 1: Global Installation
|
|
58
|
+
- Phase 2: Project Installation
|
|
59
|
+
- Phase 3: Create Your First Skill (NEW)
|
|
60
|
+
- Phase 4: Quality Gates
|
|
61
|
+
- Phase 5: Validation
|
|
62
|
+
|
|
63
|
+
### Path B: Migration (From Multi-Agent System)
|
|
64
|
+
- Phase 0: Prerequisites
|
|
65
|
+
- Phase 1: Global Installation
|
|
66
|
+
- Phase 2: Project Installation
|
|
67
|
+
- Phase 3: Archive Multi-Agent System (RENAMED)
|
|
68
|
+
- Phase 4: Quality Gates
|
|
69
|
+
- Phase 5: Validation
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 2.2 Add Linear Team Discovery Step
|
|
73
|
+
|
|
74
|
+
**Location**: Phase 0, Prerequisites
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
### Verify Linear Connection
|
|
78
|
+
|
|
79
|
+
1. First, discover your team name:
|
|
80
|
+
```bash
|
|
81
|
+
# Using Linear CLI
|
|
82
|
+
python3 ~/.claude/skills/linear-skill/scripts/linear.py list-teams
|
|
83
|
+
|
|
84
|
+
# Or via Linear MCP (in Claude.ai)
|
|
85
|
+
# Use Linear:list_teams tool
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
2. Note your team name (e.g., "MyTeam") — you'll need it for commands
|
|
89
|
+
|
|
90
|
+
3. Verify connection:
|
|
91
|
+
```bash
|
|
92
|
+
python3 ~/.claude/skills/linear-skill/scripts/linear.py whoami
|
|
93
|
+
```
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 2.3 Add Hooks Merge Strategy
|
|
97
|
+
|
|
98
|
+
**Location**: Phase 2, Project Installation
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
### Hooks Installation
|
|
102
|
+
|
|
103
|
+
If your project already has `.claude/hooks/`:
|
|
104
|
+
1. Compare existing hooks with Anvil's defaults
|
|
105
|
+
2. Keep whichever is more complete
|
|
106
|
+
3. Anvil hooks are minimal starting points — your custom hooks likely have more functionality
|
|
107
|
+
|
|
108
|
+
If no existing hooks:
|
|
109
|
+
1. Copy Anvil hooks to `.claude/hooks/`
|
|
110
|
+
2. Customize as needed for your project
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 2.4 Add Validation Checklist
|
|
114
|
+
|
|
115
|
+
**Location**: Phase 5
|
|
116
|
+
|
|
117
|
+
```markdown
|
|
118
|
+
### Quick Validation
|
|
119
|
+
|
|
120
|
+
Run these commands to verify installation:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Global commands (should be 14+)
|
|
124
|
+
ls ~/.claude/commands/*.md | wc -l
|
|
125
|
+
|
|
126
|
+
# Templates (should be 4)
|
|
127
|
+
ls ~/.claude/templates/*-template.md | wc -l
|
|
128
|
+
|
|
129
|
+
# Project structure
|
|
130
|
+
ls .claude/{specs,changes,handoffs,examples,skills}
|
|
131
|
+
|
|
132
|
+
# Quality gates
|
|
133
|
+
pre-commit run --all-files
|
|
134
|
+
|
|
135
|
+
# Linear CLI
|
|
136
|
+
python3 ~/.claude/skills/linear-skill/scripts/linear.py whoami
|
|
137
|
+
```
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 2.5 Add JSONC Note
|
|
141
|
+
|
|
142
|
+
**Location**: Phase 4, Quality Gates
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
### Note on JSON Check
|
|
146
|
+
|
|
147
|
+
The `check-json` pre-commit hook will fail on TypeScript config files (tsconfig.json) because they use JSONC (JSON with Comments). This is expected.
|
|
148
|
+
|
|
149
|
+
The Anvil config excludes these files:
|
|
150
|
+
```yaml
|
|
151
|
+
- id: check-json
|
|
152
|
+
exclude: '(tsconfig.*\.json$|COPY_.*\.json$)'
|
|
153
|
+
```
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Phase 3: Add Role vs Parallel Coordination Section (High Priority)
|
|
159
|
+
|
|
160
|
+
### Location: New section in INSTALLATION.md or separate ARCHITECTURE.md
|
|
161
|
+
|
|
162
|
+
### Content:
|
|
163
|
+
|
|
164
|
+
```markdown
|
|
165
|
+
## Understanding Coordination Types
|
|
166
|
+
|
|
167
|
+
### What We Removed: Role-Based Agents
|
|
168
|
+
|
|
169
|
+
Traditional multi-agent systems assign roles:
|
|
170
|
+
- Backend Agent handles database/API work
|
|
171
|
+
- Frontend Agent handles UI/components
|
|
172
|
+
- etc.
|
|
173
|
+
|
|
174
|
+
**Problems:**
|
|
175
|
+
- Overhead deciding "is this backend or frontend?"
|
|
176
|
+
- Artificial boundaries between modules
|
|
177
|
+
- Complexity without proportional value for solo developers
|
|
178
|
+
|
|
179
|
+
**Anvil approach**: Single generalist agent with domain skills loaded on-demand.
|
|
180
|
+
|
|
181
|
+
### What We Kept: Parallel Instance Coordination
|
|
182
|
+
|
|
183
|
+
When running multiple Claude Code terminals simultaneously, you need:
|
|
184
|
+
- Know what each terminal is working on
|
|
185
|
+
- Prevent two terminals editing the same file
|
|
186
|
+
- Share new API contracts before implementation
|
|
187
|
+
- Record what each session accomplished
|
|
188
|
+
|
|
189
|
+
**This is NOT about agent roles — it's about multiple instances.**
|
|
190
|
+
|
|
191
|
+
### coordination.md
|
|
192
|
+
|
|
193
|
+
Use `.claude/coordination.md` when running multiple terminals:
|
|
194
|
+
|
|
195
|
+
```markdown
|
|
196
|
+
## Active Sessions
|
|
197
|
+
| Session ID | Started | Working On | Status |
|
|
198
|
+
|------------|---------|------------|--------|
|
|
199
|
+
|
|
200
|
+
## Current Work
|
|
201
|
+
| Session ID | Files/Areas | Issue |
|
|
202
|
+
|------------|-------------|-------|
|
|
203
|
+
|
|
204
|
+
## Interface Contracts
|
|
205
|
+
[New APIs posted here before implementation]
|
|
206
|
+
|
|
207
|
+
## Session Log
|
|
208
|
+
[Append-only activity record]
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**When to use:**
|
|
212
|
+
- Multiple Claude Code terminals open
|
|
213
|
+
- Pair programming with AI
|
|
214
|
+
- Parallel feature development
|
|
215
|
+
|
|
216
|
+
**When NOT needed:**
|
|
217
|
+
- Single terminal workflow
|
|
218
|
+
- Sequential work sessions
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Phase 4: Create Phase 3A - First Skill Tutorial (Medium Priority)
|
|
224
|
+
|
|
225
|
+
### Location: New file `docs/FIRST-SKILL-TUTORIAL.md`
|
|
226
|
+
|
|
227
|
+
### Content outline:
|
|
228
|
+
|
|
229
|
+
```markdown
|
|
230
|
+
# Creating Your First Skill
|
|
231
|
+
|
|
232
|
+
## When to Create a Skill vs Sub-Agent
|
|
233
|
+
|
|
234
|
+
**Create a SKILL when:**
|
|
235
|
+
- Domain knowledge needs to be referenced repeatedly
|
|
236
|
+
- Information is relatively static (conventions, patterns, references)
|
|
237
|
+
- Multiple sub-agents might need this knowledge
|
|
238
|
+
|
|
239
|
+
**Create a SUB-AGENT when:**
|
|
240
|
+
- Task requires multi-step execution
|
|
241
|
+
- Work involves tool calls and decisions
|
|
242
|
+
- Task is self-contained with clear completion
|
|
243
|
+
|
|
244
|
+
## Skill Structure
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
.claude/skills/
|
|
248
|
+
└── my-first-skill/
|
|
249
|
+
├── SKILL.md # Overview and when to use
|
|
250
|
+
├── conventions.md # Patterns and standards
|
|
251
|
+
├── references/ # Reference documentation
|
|
252
|
+
└── examples/ # Code examples
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Example: Creating a "Testing Patterns" Skill
|
|
256
|
+
|
|
257
|
+
[Step-by-step walkthrough]
|
|
258
|
+
|
|
259
|
+
## Triggering Skills
|
|
260
|
+
|
|
261
|
+
Skills are triggered from the generalist agent when keywords match:
|
|
262
|
+
- "write tests" → testing-strategies skill
|
|
263
|
+
- "API endpoint" → api-contract-design skill
|
|
264
|
+
|
|
265
|
+
Update SKILLS-INVENTORY.md with your new skill's triggers.
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Phase 5: Enhance Templates (Medium Priority)
|
|
271
|
+
|
|
272
|
+
### 5.1 product.md Questionnaire
|
|
273
|
+
|
|
274
|
+
**Location**: `project/product.md`
|
|
275
|
+
|
|
276
|
+
Add guided questions:
|
|
277
|
+
|
|
278
|
+
```markdown
|
|
279
|
+
# Product Context
|
|
280
|
+
|
|
281
|
+
## Mission
|
|
282
|
+
> What does this project do in one sentence?
|
|
283
|
+
|
|
284
|
+
[Your answer]
|
|
285
|
+
|
|
286
|
+
## Users
|
|
287
|
+
> Who are the primary users? What problems do they have?
|
|
288
|
+
|
|
289
|
+
[Your answer]
|
|
290
|
+
|
|
291
|
+
## Tech Stack
|
|
292
|
+
> What technologies and why? What constraints drove these choices?
|
|
293
|
+
|
|
294
|
+
[Your answer]
|
|
295
|
+
|
|
296
|
+
## Current Focus
|
|
297
|
+
> What are you working on RIGHT NOW?
|
|
298
|
+
|
|
299
|
+
[Your answer]
|
|
300
|
+
|
|
301
|
+
## Future Roadmap
|
|
302
|
+
> What comes after current focus? What's explicitly out of scope?
|
|
303
|
+
|
|
304
|
+
[Your answer]
|
|
305
|
+
|
|
306
|
+
## Success Metrics
|
|
307
|
+
> How do you know if this project is successful?
|
|
308
|
+
|
|
309
|
+
[Your answer]
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### 5.2 constitution.md Questionnaire
|
|
313
|
+
|
|
314
|
+
**Location**: `project/constitution.md`
|
|
315
|
+
|
|
316
|
+
Add guided questions:
|
|
317
|
+
|
|
318
|
+
```markdown
|
|
319
|
+
# Project Constitution
|
|
320
|
+
|
|
321
|
+
## Security Non-Negotiables
|
|
322
|
+
> What security rules are absolute? (e.g., "Never store plaintext passwords")
|
|
323
|
+
|
|
324
|
+
- [ ]
|
|
325
|
+
- [ ]
|
|
326
|
+
|
|
327
|
+
## Code Quality Rules
|
|
328
|
+
> What code quality standards matter most?
|
|
329
|
+
|
|
330
|
+
- [ ]
|
|
331
|
+
- [ ]
|
|
332
|
+
|
|
333
|
+
## Things We Never Do
|
|
334
|
+
> What patterns or practices are forbidden?
|
|
335
|
+
|
|
336
|
+
- [ ]
|
|
337
|
+
- [ ]
|
|
338
|
+
|
|
339
|
+
## Performance Requirements
|
|
340
|
+
> What performance constraints exist?
|
|
341
|
+
|
|
342
|
+
- [ ]
|
|
343
|
+
|
|
344
|
+
## Compliance Requirements
|
|
345
|
+
> Any regulatory or compliance requirements?
|
|
346
|
+
|
|
347
|
+
- [ ]
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Phase 6: Update README.md (Medium Priority)
|
|
353
|
+
|
|
354
|
+
### Add sections:
|
|
355
|
+
|
|
356
|
+
1. **Architecture Overview** — Single agent + skills model
|
|
357
|
+
2. **When to Use Anvil** — Solo developers, small teams, AI-assisted development
|
|
358
|
+
3. **Key Concepts** — Skills vs Sub-agents vs Coordination
|
|
359
|
+
4. **Quick Start** — Link to installation paths
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## Phase 7: Nice-to-Have Scripts (Low Priority)
|
|
364
|
+
|
|
365
|
+
### 7.1 install.sh
|
|
366
|
+
|
|
367
|
+
Single command installation script that:
|
|
368
|
+
- Detects fresh install vs migration
|
|
369
|
+
- Runs appropriate phases
|
|
370
|
+
- Provides progress feedback
|
|
371
|
+
|
|
372
|
+
### 7.2 verify.sh
|
|
373
|
+
|
|
374
|
+
Validation script that:
|
|
375
|
+
- Runs Phase 5 checklist
|
|
376
|
+
- Reports pass/fail for each item
|
|
377
|
+
- Suggests fixes for failures
|
|
378
|
+
|
|
379
|
+
### 7.3 rollback.sh
|
|
380
|
+
|
|
381
|
+
Restoration script that:
|
|
382
|
+
- Takes backup path as argument
|
|
383
|
+
- Restores global and project configs
|
|
384
|
+
- Verifies restoration
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Commit Strategy
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
# Commit 1: Current fixes (Phase 1)
|
|
392
|
+
git add global/commands/*.md quality-gates/ project/coordination.md docs/
|
|
393
|
+
git commit -m "fix: apply learnings from installation"
|
|
394
|
+
|
|
395
|
+
# Commit 2: Installation doc updates (Phases 2-3)
|
|
396
|
+
git add docs/INSTALLATION.md
|
|
397
|
+
git commit -m "docs: split installation paths, add validation checklist"
|
|
398
|
+
|
|
399
|
+
# Commit 3: First skill tutorial (Phase 4)
|
|
400
|
+
git add docs/FIRST-SKILL-TUTORIAL.md
|
|
401
|
+
git commit -m "docs: add first skill creation tutorial"
|
|
402
|
+
|
|
403
|
+
# Commit 4: Template enhancements (Phase 5)
|
|
404
|
+
git add project/product.md project/constitution.md
|
|
405
|
+
git commit -m "feat: add questionnaire format to templates"
|
|
406
|
+
|
|
407
|
+
# Commit 5: README updates (Phase 6)
|
|
408
|
+
git add README.md
|
|
409
|
+
git commit -m "docs: update README with architecture overview"
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Verification
|
|
415
|
+
|
|
416
|
+
After all changes, test by:
|
|
417
|
+
1. Creating a fresh test project
|
|
418
|
+
2. Following "Path A: Fresh Install"
|
|
419
|
+
3. Verifying all phases complete without errors
|
|
420
|
+
4. Testing `/orient` command
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Files Summary
|
|
425
|
+
|
|
426
|
+
| File | Action | Priority |
|
|
427
|
+
|------|--------|----------|
|
|
428
|
+
| `global/commands/*.md` (5) | Already fixed, commit | High |
|
|
429
|
+
| `quality-gates/.pre-commit-config.yaml` | Already fixed, commit | High |
|
|
430
|
+
| `quality-gates/.semgrep/rules/anvil-rules.yaml` | Already fixed, commit | High |
|
|
431
|
+
| `project/coordination.md` | Already created, commit | High |
|
|
432
|
+
| `docs/INSTALLATION-RETRO-NOTES.md` | Already created, commit | High |
|
|
433
|
+
| `docs/INSTALLATION.md` | Update per Phase 2 | High |
|
|
434
|
+
| `docs/ARCHITECTURE.md` or section | Create per Phase 3 | High |
|
|
435
|
+
| `docs/FIRST-SKILL-TUTORIAL.md` | Create per Phase 4 | Medium |
|
|
436
|
+
| `project/product.md` | Enhance per Phase 5 | Medium |
|
|
437
|
+
| `project/constitution.md` | Enhance per Phase 5 | Medium |
|
|
438
|
+
| `README.md` | Update per Phase 6 | Medium |
|
|
439
|
+
| `scripts/install.sh` | Create per Phase 7 | Low |
|
|
440
|
+
| `scripts/verify.sh` | Create per Phase 7 | Low |
|
|
441
|
+
| `scripts/rollback.sh` | Create per Phase 7 | Low |
|