@eltonssouza/development-utility-kit 1.0.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.
- package/.claude/agents/analyst.md +198 -0
- package/.claude/agents/backend-developer.md +126 -0
- package/.claude/agents/brain-keeper.md +229 -0
- package/.claude/agents/code-reviewer.md +181 -0
- package/.claude/agents/database-engineer.md +94 -0
- package/.claude/agents/devops-engineer.md +141 -0
- package/.claude/agents/frontend-developer.md +97 -0
- package/.claude/agents/gate-keeper.md +118 -0
- package/.claude/agents/migrator.md +291 -0
- package/.claude/agents/mobile-developer.md +80 -0
- package/.claude/agents/n8n-specialist.md +94 -0
- package/.claude/agents/product-owner.md +115 -0
- package/.claude/agents/qa-engineer.md +232 -0
- package/.claude/agents/release-engineer.md +204 -0
- package/.claude/agents/scaffold.md +87 -0
- package/.claude/agents/security-engineer.md +199 -0
- package/.claude/agents/sprint-runner.md +44 -0
- package/.claude/agents/stack-resolver.md +84 -0
- package/.claude/agents/tech-lead.md +182 -0
- package/.claude/agents/update-template.md +54 -0
- package/.claude/agents/ux-designer.md +118 -0
- package/.claude/settings.json +44 -0
- package/.claude/skills/README.md +332 -0
- package/.claude/skills/active-project/SKILL.md +129 -0
- package/.claude/skills/api-integration-test/SKILL.md +64 -0
- package/.claude/skills/auto-test-guard/SKILL.md +237 -0
- package/.claude/skills/auto-test-guard/resources/backend-tests.md +20 -0
- package/.claude/skills/auto-test-guard/resources/e2e-tests.md +24 -0
- package/.claude/skills/auto-test-guard/resources/execution-report.md +49 -0
- package/.claude/skills/auto-test-guard/resources/frontend-tests.md +18 -0
- package/.claude/skills/auto-test-guard/resources/initial-setup.md +108 -0
- package/.claude/skills/auto-test-guard/resources/run-suite.md +48 -0
- package/.claude/skills/auto-test-guard/resources/senior-gate.md +19 -0
- package/.claude/skills/brain-keeper/SKILL.md +60 -0
- package/.claude/skills/brain-keeper/obsidian/app.json +9 -0
- package/.claude/skills/brain-keeper/obsidian/appearance.json +4 -0
- package/.claude/skills/brain-keeper/obsidian/core-plugins.json +20 -0
- package/.claude/skills/brain-keeper/obsidian/daily-notes.json +5 -0
- package/.claude/skills/brain-keeper/obsidian/graph.json +32 -0
- package/.claude/skills/brain-keeper/obsidian/snippets/folder-colors.css +90 -0
- package/.claude/skills/brain-keeper/obsidian/templates.json +5 -0
- package/.claude/skills/brain-keeper/templates/README.md +51 -0
- package/.claude/skills/brain-keeper/templates/adr.md +40 -0
- package/.claude/skills/brain-keeper/templates/bug.md +35 -0
- package/.claude/skills/brain-keeper/templates/daily.md +38 -0
- package/.claude/skills/brain-keeper/templates/feature.md +62 -0
- package/.claude/skills/brain-keeper/templates/meeting.md +34 -0
- package/.claude/skills/brain-keeper/templates/tech-debt.md +21 -0
- package/.claude/skills/caveman/SKILL.md +187 -0
- package/.claude/skills/create-stack-pack/SKILL.md +281 -0
- package/.claude/skills/grill-me/SKILL.md +79 -0
- package/.claude/skills/honcho-memory/SKILL.md +207 -0
- package/.claude/skills/honcho-memory/docs/api-endpoints-verified.md +75 -0
- package/.claude/skills/honcho-memory/hooks/on-prompt-submit.js +221 -0
- package/.claude/skills/honcho-memory/hooks/on-stop.js +193 -0
- package/.claude/skills/honcho-memory/lib/honcho-client.js +363 -0
- package/.claude/skills/honcho-memory/lib/memory-injector.js +93 -0
- package/.claude/skills/honcho-memory/package.json +32 -0
- package/.claude/skills/honcho-memory/scripts/cli.js +370 -0
- package/.claude/skills/honcho-memory/scripts/setup.js +109 -0
- package/.claude/skills/honcho-memory/tests/t001-api-endpoints-verified.test.js +89 -0
- package/.claude/skills/honcho-memory/tests/t002-structure.test.js +97 -0
- package/.claude/skills/honcho-memory/tests/t003-honcho-client.test.js +162 -0
- package/.claude/skills/honcho-memory/tests/t004-soft-delete.test.js +259 -0
- package/.claude/skills/honcho-memory/tests/t005-memory-injector.test.js +175 -0
- package/.claude/skills/honcho-memory/tests/t006-on-prompt-submit.test.js +215 -0
- package/.claude/skills/honcho-memory/tests/t007-on-stop.test.js +165 -0
- package/.claude/skills/honcho-memory/tests/t008-cli.test.js +214 -0
- package/.claude/skills/honcho-memory/tests/t009-setup.test.js +232 -0
- package/.claude/skills/honcho-memory/tests/t010-skill-md.test.js +114 -0
- package/.claude/skills/honcho-memory/tests/t011-settings-hooks.test.js +105 -0
- package/.claude/skills/honcho-memory/tests/t012-docs-update.test.js +106 -0
- package/.claude/skills/honcho-memory/tests/t013-smoke-e2e.test.js +90 -0
- package/.claude/skills/pair-debug/SKILL.md +288 -0
- package/.claude/skills/prd-ready-check/SKILL.md +58 -0
- package/.claude/skills/project-manager/SKILL.md +167 -0
- package/.claude/skills/quality-standards/SKILL.md +201 -0
- package/.claude/skills/quick-feature/SKILL.md +264 -0
- package/.claude/skills/run-sprint/SKILL.md +342 -0
- package/.claude/skills/scaffold/SKILL.md +58 -0
- package/.claude/skills/stack-discovery/SKILL.md +159 -0
- package/.claude/skills/test-coverage-auditor/SKILL.md +59 -0
- package/.claude/skills/to-issues/SKILL.md +163 -0
- package/.claude/skills/to-prd/SKILL.md +130 -0
- package/.claude/skills/update-template/SKILL.md +254 -0
- package/.claude/stacks/CODEOWNERS +30 -0
- package/.claude/stacks/README.md +88 -0
- package/.claude/stacks/_template.md +116 -0
- package/.claude/stacks/java/spring-boot-3.md +376 -0
- package/.claude/stacks/java/spring-boot-4.md +438 -0
- package/.claude/stacks/typescript/angular-18.md +420 -0
- package/.claude/stacks/typescript/angular-19.md +397 -0
- package/.claude/stacks/typescript/angular-21.md +494 -0
- package/CLAUDE.md +453 -0
- package/README.md +391 -0
- package/bin/cli.js +773 -0
- package/bin/lib/backup.js +62 -0
- package/bin/lib/detect-stack.js +476 -0
- package/bin/lib/help.js +233 -0
- package/bin/lib/identity.js +108 -0
- package/bin/lib/local-dir.js +69 -0
- package/bin/lib/manifest.js +236 -0
- package/bin/lib/sync-all.js +394 -0
- package/bin/lib/version-check.js +398 -0
- package/dashboard/db.js +199 -0
- package/dashboard/package.json +22 -0
- package/dashboard/public/app.js +709 -0
- package/dashboard/public/content/docs/agents-reference.en.md +911 -0
- package/dashboard/public/content/docs/architecture-overview.en.md +260 -0
- package/dashboard/public/content/docs/autonomy-matrix.en.md +186 -0
- package/dashboard/public/content/docs/git-flow.en.md +525 -0
- package/dashboard/public/content/docs/honcho-memory.en.md +394 -0
- package/dashboard/public/content/docs/hooks-reference.en.md +420 -0
- package/dashboard/public/content/docs/pipeline.en.md +400 -0
- package/dashboard/public/content/docs/quality-gate.en.md +315 -0
- package/dashboard/public/content/docs/skills-reference.en.md +500 -0
- package/dashboard/public/content/docs/stack-rules.en.md +362 -0
- package/dashboard/public/content/docs/troubleshooting.en.md +637 -0
- package/dashboard/public/content/manifest.json +102 -0
- package/dashboard/public/content/manual/backend.en.md +1138 -0
- package/dashboard/public/content/manual/existing-project.en.md +831 -0
- package/dashboard/public/content/manual/frontend.en.md +1065 -0
- package/dashboard/public/content/manual/fullstack.en.md +1508 -0
- package/dashboard/public/content/manual/mobile.en.md +866 -0
- package/dashboard/public/index.html +108 -0
- package/dashboard/public/style.css +610 -0
- package/dashboard/public/vendor/marked.min.js +69 -0
- package/dashboard/rtk.js +143 -0
- package/dashboard/server-app.js +403 -0
- package/dashboard/server.js +104 -0
- package/dashboard/test/sprint1.test.js +406 -0
- package/dashboard/test/sprint2.test.js +571 -0
- package/dashboard/test/sprint3.test.js +560 -0
- package/package.json +33 -0
- package/scripts/hooks/subagent-telemetry.sh +14 -0
- package/scripts/hooks/telemetry-writer.js +250 -0
- package/scripts/latest-versions.json +56 -0
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
# Development pipeline
|
|
2
|
+
|
|
3
|
+
The canonical pipeline of the harness goes from **discovery** (understanding the problem) to **delivery** (merge with green tests and vault recording). Each stage has a responsible agent, concrete input/output artifacts, and checkpoints for the human.
|
|
4
|
+
|
|
5
|
+
This document describes the full path. For trivial changes or hotfixes, shortcuts are documented at the end.
|
|
6
|
+
|
|
7
|
+
## Macro view
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
discovery → specification → planning → architecture → execution → validation → recording
|
|
11
|
+
│
|
|
12
|
+
▼
|
|
13
|
+
gate-keeper blocks
|
|
14
|
+
if thresholds fail
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Full pipeline diagram
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
┌──────────┐ ┌────────┐ ┌──────────┐ ┌─────────┐ ┌───────────┐ ┌──────────┐
|
|
21
|
+
│ grill-me │ -> │ to-prd │ -> │to-issues │ -> │ analyst │ -> │ architect │ -> │tech-lead │
|
|
22
|
+
│(skill) │ │(skill) │ │ (skill) │ │ (agent) │ │ (agent) │ │ (approve)│
|
|
23
|
+
└──────────┘ └────────┘ └──────────┘ └─────────┘ └───────────┘ └────┬─────┘
|
|
24
|
+
│
|
|
25
|
+
▼
|
|
26
|
+
┌────────────────────────────────────────────────────────┐
|
|
27
|
+
│ sprint-runner (skill+agent) │
|
|
28
|
+
│ ├─► qa-engineer (TDD: failing tests) │
|
|
29
|
+
│ ├─► backend-developer ┐ │
|
|
30
|
+
│ ├─► frontend-developer ├─ parallel │
|
|
31
|
+
│ ├─► database-engineer ┘ │
|
|
32
|
+
│ └─► gate-keeper (validate senior+) │
|
|
33
|
+
└────────────────────────────────┬───────────────────────┘
|
|
34
|
+
│
|
|
35
|
+
▼
|
|
36
|
+
┌─────────────────────────────────┐
|
|
37
|
+
│ code-reviewer → tech-lead (rev) │
|
|
38
|
+
└────────────┬────────────────────┘
|
|
39
|
+
│
|
|
40
|
+
▼
|
|
41
|
+
┌─────────────────────────────────┐
|
|
42
|
+
│ api-integration-test (curl+MCP) │
|
|
43
|
+
└────────────┬────────────────────┘
|
|
44
|
+
│
|
|
45
|
+
▼
|
|
46
|
+
┌─────────────────────────────────┐
|
|
47
|
+
│ prd-ready-check (GO / NO-GO) │
|
|
48
|
+
└────────────┬────────────────────┘
|
|
49
|
+
│
|
|
50
|
+
▼
|
|
51
|
+
┌─────────────────────────────────┐
|
|
52
|
+
│ tech-lead (merge OR return) │
|
|
53
|
+
└────────────┬────────────────────┘
|
|
54
|
+
│
|
|
55
|
+
▼
|
|
56
|
+
┌─────────────────────────────────┐
|
|
57
|
+
│ brain-keeper (Obsidian vault) │
|
|
58
|
+
└─────────────────────────────────┘
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Stages in detail
|
|
62
|
+
|
|
63
|
+
### 1. Discovery (`grill-me`)
|
|
64
|
+
|
|
65
|
+
**When it fires**: user says "grill me", "interview me about X", "stress-test the plan". Opt-in — never auto-triggered.
|
|
66
|
+
|
|
67
|
+
**Input**: vague initial description ("I want to allow product signup").
|
|
68
|
+
|
|
69
|
+
**How it works**: the skill runs an interactive interview, one question at a time, with recommendations. Continues until requirements are clear (typically 5-15 questions).
|
|
70
|
+
|
|
71
|
+
**Output**: `docs/discovery/DISCOVERY_<feature-slug>.md` containing:
|
|
72
|
+
- Problem
|
|
73
|
+
- Personas involved
|
|
74
|
+
- Constraints (legal, technical, business)
|
|
75
|
+
- Hypotheses validated and to be validated
|
|
76
|
+
- Handoff to `analyst` or proposed ADR
|
|
77
|
+
|
|
78
|
+
**Next step**: `to-prd` (if it becomes a product) or directly to `analyst` (if it becomes an immediate sprint).
|
|
79
|
+
|
|
80
|
+
⏸️ **Checkpoint**: human confirms the DISCOVERY before continuing.
|
|
81
|
+
|
|
82
|
+
### 2. PRD (`to-prd`)
|
|
83
|
+
|
|
84
|
+
**When it fires**: "to-prd", "generate PRD", "create PRD". Opt-in — requires `grill-me` to have run first.
|
|
85
|
+
|
|
86
|
+
**Input**: `docs/discovery/DISCOVERY_<slug>.md`.
|
|
87
|
+
|
|
88
|
+
**Output**: `docs/prd/PRD_<slug>.md` with 6 mandatory sections:
|
|
89
|
+
1. Overview
|
|
90
|
+
2. Goals
|
|
91
|
+
3. User Stories (in prose, with persona + motivation)
|
|
92
|
+
4. Functional Requirements
|
|
93
|
+
5. Non-functional Requirements
|
|
94
|
+
6. Out of scope
|
|
95
|
+
|
|
96
|
+
**Next step**: `to-issues`.
|
|
97
|
+
|
|
98
|
+
Idempotent — can be re-run; overwrites with merge.
|
|
99
|
+
|
|
100
|
+
### 3. Issues (`to-issues`)
|
|
101
|
+
|
|
102
|
+
**When it fires**: "to-issues", "break into issues". Opt-in — requires an existing PRD.
|
|
103
|
+
|
|
104
|
+
**Input**: `docs/prd/PRD_<slug>.md`.
|
|
105
|
+
|
|
106
|
+
**Output**: `docs/issues/ISSUES_<slug>.md` with `[ISSUE-N]` blocks ready for `gh issue create`:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
[ISSUE-1]
|
|
110
|
+
Labels: backend, api, sprint-1
|
|
111
|
+
Body: |
|
|
112
|
+
Implement POST /api/v1/products...
|
|
113
|
+
Acceptance criteria:
|
|
114
|
+
- DTO validates required name
|
|
115
|
+
- Returns 201 with Location header
|
|
116
|
+
- Persists product + audit log
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Next step**: `analyst`.
|
|
120
|
+
|
|
121
|
+
### 4. Plan (`analyst`)
|
|
122
|
+
|
|
123
|
+
**When it fires**: direct call by `project-manager`, `sprint-runner`, or via "create plan for X".
|
|
124
|
+
|
|
125
|
+
**Input**: `DISCOVERY_*.md` + `PRD_*.md` + `ISSUES_*.md` (when present). On the human path, requires a discovery artifact (`DISCOVERY_*.md`, PLAN seed, or Proposed ADR) — see ADR-013 + ADR-017. Autonomous callers (`sprint-runner`, `release-engineer`) are exempt via `caller: sprint-runner|autonomous` in the Task prompt.
|
|
126
|
+
|
|
127
|
+
**Output**: `docs/plans/PLAN_<slug>.md` with:
|
|
128
|
+
- Goal-ready DoD (verifiable by `/goal` command)
|
|
129
|
+
- Sprints (1, 2, 3...) with tasks (T1, T2...)
|
|
130
|
+
- Dependencies between tasks
|
|
131
|
+
- Estimates (in "complexity", not hours)
|
|
132
|
+
- Definition of Done per task
|
|
133
|
+
|
|
134
|
+
**Next step**: `architect` (if there is a new macro decision) or directly to `tech-lead` (if it is only an established pattern).
|
|
135
|
+
|
|
136
|
+
⏸️ **Checkpoint**: human confirms the PLAN.
|
|
137
|
+
|
|
138
|
+
### 5. Architecture (`architect`)
|
|
139
|
+
|
|
140
|
+
**When it fires**: PLAN includes a new macro decision (new lib, new pattern, new bounded context, relevant tech choice).
|
|
141
|
+
|
|
142
|
+
**Input**: PLAN + project context + prior decisions in `docs/decisions/`.
|
|
143
|
+
|
|
144
|
+
**Output**: `docs/decisions/ADR-NNN-<slug>.md` (proposed) following the MADR template:
|
|
145
|
+
- Status: Proposed
|
|
146
|
+
- Context
|
|
147
|
+
- Decision drivers
|
|
148
|
+
- Considered options
|
|
149
|
+
- Decision outcome
|
|
150
|
+
- Consequences
|
|
151
|
+
|
|
152
|
+
**Next step**: `tech-lead` reviews and approves (Status: Accepted) or requests revision (Status: Rejected → back).
|
|
153
|
+
|
|
154
|
+
### 6. Approval (`tech-lead`)
|
|
155
|
+
|
|
156
|
+
**When it fires**: after `architect` produces an ADR; or at the end of the PLAN when there are patterns to approve.
|
|
157
|
+
|
|
158
|
+
**Input**: PLAN + proposed ADR(s).
|
|
159
|
+
|
|
160
|
+
**Output**: ADR with Status: Accepted (or Rejected with reason). Updates `CLAUDE.md` if the decision changes a stack rule.
|
|
161
|
+
|
|
162
|
+
**Next step**: `sprint-runner`.
|
|
163
|
+
|
|
164
|
+
⏸️ **Checkpoint**: human confirms ADRs before execution.
|
|
165
|
+
|
|
166
|
+
### 7. Execution (`sprint-runner`)
|
|
167
|
+
|
|
168
|
+
**When it fires**: "run sprint X", "execute the sprint". Skill that orchestrates the full execution.
|
|
169
|
+
|
|
170
|
+
**Input**: `docs/plans/PLAN_<slug>.md`, Sprint N parameter.
|
|
171
|
+
|
|
172
|
+
**How it works**: mandatory TDD cycle per task:
|
|
173
|
+
|
|
174
|
+
#### 7a. `qa-engineer` writes failing tests
|
|
175
|
+
|
|
176
|
+
For each sprint task, `qa-engineer` creates tests **before** the implementation:
|
|
177
|
+
- Backend: JUnit 5 + Mockito + Testcontainers
|
|
178
|
+
- Frontend: Jest + Testing Library + jest-axe
|
|
179
|
+
- E2E: Playwright + @axe-core/playwright
|
|
180
|
+
|
|
181
|
+
The tests fail (the implementation does not yet exist). That is correct.
|
|
182
|
+
|
|
183
|
+
#### 7b. Developers implement in parallel
|
|
184
|
+
|
|
185
|
+
`sprint-runner` dispatches in parallel (when tasks do not share files):
|
|
186
|
+
- `backend-developer` — implements controller, service, repo, security
|
|
187
|
+
- `frontend-developer` — implements component, service, route
|
|
188
|
+
- `database-engineer` — generates Flyway migration + indexes
|
|
189
|
+
|
|
190
|
+
Each developer runs the tests locally until green before marking the task done.
|
|
191
|
+
|
|
192
|
+
#### 7c. `gate-keeper` validates senior+ thresholds
|
|
193
|
+
|
|
194
|
+
After developers finish, `gate-keeper` runs the full gate (see [Quality gate](quality-gate)):
|
|
195
|
+
- JaCoCo coverage >= 85% lines, >= 80% branches
|
|
196
|
+
- PIT mutation >= 70% in `domain/`+`application/`
|
|
197
|
+
- Jest >= 85% statements, >= 80% branches
|
|
198
|
+
- SpotBugs, ESLint, npm audit, OWASP DC
|
|
199
|
+
- Playwright, jest-axe, Lighthouse
|
|
200
|
+
- E2E test pyramid <= 30%
|
|
201
|
+
|
|
202
|
+
If any fails → blocks + returns to the responsible task.
|
|
203
|
+
|
|
204
|
+
**Output**: implemented code + green tests + GREEN gate.
|
|
205
|
+
|
|
206
|
+
### 8. Code review (`code-reviewer`)
|
|
207
|
+
|
|
208
|
+
**When it fires**: after sprint-runner finishes a task or sprint.
|
|
209
|
+
|
|
210
|
+
**Input**: branch diff.
|
|
211
|
+
|
|
212
|
+
**Output**: structured feedback: bugs, edge cases, questions, refactor suggestions.
|
|
213
|
+
|
|
214
|
+
**Next step**: developer fixes (or `tech-lead` decides whether feedback is valid).
|
|
215
|
+
|
|
216
|
+
### 9. Integration test (`api-integration-test`)
|
|
217
|
+
|
|
218
|
+
**When it fires**: "test integration", "smoke", or auto-triggered at the end of sprint-runner.
|
|
219
|
+
|
|
220
|
+
**Input**: local backend + frontend deploy.
|
|
221
|
+
|
|
222
|
+
**How it works**:
|
|
223
|
+
- Boots backend (`./mvnw spring-boot:run` or via Docker Compose)
|
|
224
|
+
- Boots frontend (`npm run dev` or via Docker Compose)
|
|
225
|
+
- Runs critical flow via:
|
|
226
|
+
- `curl` to validate API (status, schema, headers)
|
|
227
|
+
- Chrome MCP to validate UI (navigation, console errors, form submit)
|
|
228
|
+
|
|
229
|
+
**Output**: smoke report with real errors (not mocks).
|
|
230
|
+
|
|
231
|
+
⏸️ **Checkpoint**: human reads the report.
|
|
232
|
+
|
|
233
|
+
### 10. Final gate (`prd-ready-check`)
|
|
234
|
+
|
|
235
|
+
**When it fires**: "PRD-ready?", "can we deploy?", "DoD". Terminal skill.
|
|
236
|
+
|
|
237
|
+
**Input**: full project state.
|
|
238
|
+
|
|
239
|
+
**How it works**: runs everything again (build, test, lint, E2E, security scan) + checks:
|
|
240
|
+
- No `@Disabled` / `.skip()` in tests
|
|
241
|
+
- No `// TODO` in production code
|
|
242
|
+
- No hardcoded secrets
|
|
243
|
+
- Coverage maintained above thresholds
|
|
244
|
+
- ADRs referenced by the PLAN are accepted
|
|
245
|
+
|
|
246
|
+
**Output**: GO or NO-GO. NO-GO includes exact list of what needs to be fixed.
|
|
247
|
+
|
|
248
|
+
### 11. Final review (`tech-lead`)
|
|
249
|
+
|
|
250
|
+
**When it fires**: after prd-ready-check GREEN.
|
|
251
|
+
|
|
252
|
+
**Output**: approves merge OR returns with reason.
|
|
253
|
+
|
|
254
|
+
⏸️ **Checkpoint**: human triggers the merge on GitHub/GitLab.
|
|
255
|
+
|
|
256
|
+
### 12. History (`brain-keeper`)
|
|
257
|
+
|
|
258
|
+
**When it fires**: at the end of the PLAN (or explicitly "record in the brain").
|
|
259
|
+
|
|
260
|
+
**Input**: full state of the closed sprint.
|
|
261
|
+
|
|
262
|
+
**Output**: updates `docs/brain/` (Obsidian vault):
|
|
263
|
+
- `daily/YYYY-MM-DD.md` — daily log
|
|
264
|
+
- `features/<slug>.md` — feature note
|
|
265
|
+
- `decisions/<adr-id>.md` — link to accepted ADRs
|
|
266
|
+
- `bugs/<slug>.md` — bugs found during the sprint
|
|
267
|
+
- `tech-debt.md` — deferred items
|
|
268
|
+
- `MOC.md` — updates the Map of Content with links
|
|
269
|
+
|
|
270
|
+
On first run, it provisions `docs/brain/.obsidian/` with the per-folder color snippet.
|
|
271
|
+
|
|
272
|
+
## Return loop
|
|
273
|
+
|
|
274
|
+
When something fails, the pipeline returns — it does not end. Canonical returns:
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
gate-keeper FAIL → back to responsible developer (with list of failures)
|
|
278
|
+
code-reviewer with bugs → back to developer
|
|
279
|
+
api-integration-test FAIL → back to `qa-engineer` to debug
|
|
280
|
+
prd-ready-check NO-GO → back to `gate-keeper` or specific specialist
|
|
281
|
+
tech-lead returns in review → back to developer
|
|
282
|
+
ADR rejected → back to architect to re-propose
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Shortcuts
|
|
286
|
+
|
|
287
|
+
The full pipeline is for new features. Shortcuts exist for other cases:
|
|
288
|
+
|
|
289
|
+
### Trivial change (1 file, no new domain)
|
|
290
|
+
|
|
291
|
+
- Skip discovery/PRD/issues/PLAN.
|
|
292
|
+
- Edit directly via appropriate agent (`backend-developer`, `frontend-developer`).
|
|
293
|
+
- `gate-keeper` still runs mandatorily.
|
|
294
|
+
- `brain-keeper` records as a simple entry in the daily.
|
|
295
|
+
|
|
296
|
+
### Hotfix in production
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
hotfix request → architect (quick proposal) → sprint-runner (1 task) → gate-keeper → tech-lead → merge → brain-keeper (bug entry)
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
- Skip `grill-me`/`to-prd`/`to-issues`.
|
|
303
|
+
- ADR optional (only if a decision changed).
|
|
304
|
+
- Git Flow: `hotfix/<slug>` based on `main`, merges to `main` AND `develop` (see [Git Flow](git-flow)).
|
|
305
|
+
|
|
306
|
+
### Internal technical refactor (no behavior change)
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
tech-lead identifies → analyst (technical PLAN) → sprint-runner → gate-keeper → tech-lead → merge
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
- No PO, no `grill-me`/`to-prd`.
|
|
313
|
+
- `qa-engineer` adds regression tests if they do not already exist.
|
|
314
|
+
|
|
315
|
+
## Concrete example — "implement product signup"
|
|
316
|
+
|
|
317
|
+
Follow the full pipeline on a realistic feature.
|
|
318
|
+
|
|
319
|
+
**1. `grill-me`** — interview produces `DISCOVERY_product-signup.md`:
|
|
320
|
+
```
|
|
321
|
+
Persona: catalog manager
|
|
322
|
+
Constraints: unique name per tenant, price >= 0, integer stock >= 0
|
|
323
|
+
Hypotheses: batch signup (CSV) will come later (out of scope MVP)
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
**2. `to-prd`** — produces `PRD_product-signup.md`:
|
|
327
|
+
```
|
|
328
|
+
User story: as a manager, I want to register a product with name, price
|
|
329
|
+
and stock, to make it available in the catalog.
|
|
330
|
+
Functional req: POST /api/v1/products, validation, 201 return.
|
|
331
|
+
Non-functional req: p95 latency < 300ms, creation audit log.
|
|
332
|
+
Out of scope: batch signup.
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**3. `to-issues`** — produces `ISSUES_product-signup.md` with 3 issues:
|
|
336
|
+
- [ISSUE-1] Backend: POST endpoint + DTO + validation
|
|
337
|
+
- [ISSUE-2] Backend: migration + repo + service
|
|
338
|
+
- [ISSUE-3] Frontend: signup screen + form + integration
|
|
339
|
+
|
|
340
|
+
**4. `analyst`** — produces `PLAN_product-signup.md` with 2 sprints:
|
|
341
|
+
- Sprint 1: backend (T1: migration, T2: service, T3: controller, T4: tests)
|
|
342
|
+
- Sprint 2: frontend (T1: component, T2: Angular service, T3: E2E)
|
|
343
|
+
|
|
344
|
+
**5. `architect`** — does not fire (patterns already established).
|
|
345
|
+
|
|
346
|
+
**6. `tech-lead`** — approves PLAN.
|
|
347
|
+
|
|
348
|
+
**7. `sprint-runner` Sprint 1** — dispatches in parallel:
|
|
349
|
+
- `qa-engineer` writes JUnit tests for Service + controller
|
|
350
|
+
- `database-engineer` generates `V20260527_001__create_product.sql`
|
|
351
|
+
- `backend-developer` implements Service + Controller + DTOs (record)
|
|
352
|
+
|
|
353
|
+
After 30 min, `gate-keeper` runs:
|
|
354
|
+
- JaCoCo lines: 87% ✓
|
|
355
|
+
- JaCoCo branches: 82% ✓
|
|
356
|
+
- PIT mutation: 73% ✓
|
|
357
|
+
- SpotBugs: 0 issues ✓
|
|
358
|
+
- OWASP DC: 0 CVE ✓
|
|
359
|
+
|
|
360
|
+
**8. `code-reviewer`** suggests extracting unique-name validation to a domain service. `backend-developer` applies.
|
|
361
|
+
|
|
362
|
+
**9. `tech-lead`** approves Sprint 1.
|
|
363
|
+
|
|
364
|
+
**10. `sprint-runner` Sprint 2** — dispatches:
|
|
365
|
+
- `qa-engineer` writes Playwright E2E + jest-axe component test
|
|
366
|
+
- `ux-designer` produces wireframe + tokens
|
|
367
|
+
- `frontend-developer` implements component (3 files: `.ts`, `.html`, `.scss`)
|
|
368
|
+
|
|
369
|
+
`gate-keeper` runs:
|
|
370
|
+
- Jest statements: 88% ✓
|
|
371
|
+
- Jest branches: 84% ✓
|
|
372
|
+
- jest-axe: 0 violations ✓
|
|
373
|
+
- Playwright: 100% green ✓
|
|
374
|
+
- Lighthouse perf: 0.84 ✓
|
|
375
|
+
- LCP: 1820ms ✓, CLS: 0.04 ✓, TBT: 210ms ✓
|
|
376
|
+
- E2E pyramid: 18% ✓
|
|
377
|
+
|
|
378
|
+
**11. `api-integration-test`** boots local stack, validates POST + UI via Chrome MCP. Clean console.
|
|
379
|
+
|
|
380
|
+
**12. `prd-ready-check`** returns GO.
|
|
381
|
+
|
|
382
|
+
**13. `tech-lead`** approves merge. Human triggers merge on GitHub.
|
|
383
|
+
|
|
384
|
+
**14. `brain-keeper`** updates `docs/brain/`:
|
|
385
|
+
- `features/product-signup.md` — feature summary
|
|
386
|
+
- `daily/2026-05-27.md` — daily entry
|
|
387
|
+
- `MOC.md` — link to `product-signup` under Catalog
|
|
388
|
+
|
|
389
|
+
Total: ~3-4 wall-clock hours, 0 human interruptions beyond the 4 checkpoints.
|
|
390
|
+
|
|
391
|
+
## Cross-references
|
|
392
|
+
|
|
393
|
+
- [Agents reference](agents-reference) — details of each agent invoked in the pipeline
|
|
394
|
+
- [Skills reference](skills-reference) — exact triggers of each skill
|
|
395
|
+
- [Quality gate](quality-gate) — thresholds enforced by `gate-keeper` and `prd-ready-check`
|
|
396
|
+
- [Architecture overview](architecture-overview) — Skill + Agent macro model
|
|
397
|
+
- [Autonomy matrix](autonomy-matrix) — who decides at each stage without the human
|
|
398
|
+
- [Git Flow](git-flow) — branch model used at merge time
|
|
399
|
+
- [Stack rules](stack-rules) — versions and conventions applied during execution
|
|
400
|
+
- [Hooks reference](hooks-reference) — hooks that run along the pipeline
|