hatch3r 1.4.0 → 1.5.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/README.md +10 -6
- package/agents/hatch3r-a11y-auditor.md +13 -2
- package/agents/hatch3r-architect.md +20 -1
- package/agents/hatch3r-ci-watcher.md +25 -1
- package/agents/hatch3r-context-rules.md +15 -3
- package/agents/hatch3r-dependency-auditor.md +23 -2
- package/agents/hatch3r-devops.md +11 -0
- package/agents/hatch3r-docs-writer.md +27 -2
- package/agents/hatch3r-fixer.md +46 -3
- package/agents/hatch3r-implementer.md +19 -1
- package/agents/hatch3r-learnings-loader.md +19 -0
- package/agents/hatch3r-lint-fixer.md +11 -0
- package/agents/hatch3r-perf-profiler.md +21 -1
- package/agents/hatch3r-researcher.md +51 -911
- package/agents/hatch3r-reviewer.md +24 -2
- package/agents/hatch3r-security-auditor.md +20 -0
- package/agents/hatch3r-test-writer.md +24 -0
- package/agents/modes/architecture.md +1 -0
- package/agents/modes/boundary-analysis.md +2 -1
- package/agents/modes/codebase-impact.md +1 -0
- package/agents/modes/complexity-risk.md +1 -0
- package/agents/modes/coverage-analysis.md +1 -0
- package/agents/modes/current-state.md +1 -0
- package/agents/modes/feature-design.md +1 -0
- package/agents/modes/impact-analysis.md +1 -0
- package/agents/modes/library-docs.md +2 -1
- package/agents/modes/migration-path.md +1 -0
- package/agents/modes/prior-art.md +1 -0
- package/agents/modes/refactoring-strategy.md +1 -0
- package/agents/modes/regression.md +1 -0
- package/agents/modes/requirements-elicitation.md +1 -0
- package/agents/modes/risk-assessment.md +1 -0
- package/agents/modes/risk-prioritization.md +1 -0
- package/agents/modes/root-cause.md +1 -0
- package/agents/modes/similar-implementation.md +2 -1
- package/agents/modes/symptom-trace.md +1 -0
- package/agents/modes/test-pattern.md +2 -1
- package/agents/shared/external-knowledge.md +10 -0
- package/agents/shared/quality-charter.md +18 -0
- package/checks/README.md +1 -0
- package/checks/accessibility.md +55 -0
- package/commands/board/pickup-azure-devops.md +1 -0
- package/commands/board/pickup-delegation-multi.md +6 -1
- package/commands/board/pickup-delegation.md +1 -0
- package/commands/board/pickup-github.md +1 -0
- package/commands/board/pickup-gitlab.md +1 -0
- package/commands/board/pickup-modes.md +1 -0
- package/commands/board/pickup-post-impl.md +2 -1
- package/commands/board/shared-azure-devops.md +1 -0
- package/commands/board/shared-board-overview.md +1 -0
- package/commands/board/shared-github.md +1 -0
- package/commands/board/shared-gitlab.md +1 -0
- package/commands/hatch3r-agent-customize.md +1 -0
- package/commands/hatch3r-api-spec.md +1 -0
- package/commands/hatch3r-benchmark.md +4 -3
- package/commands/hatch3r-board-fill.md +52 -9
- package/commands/hatch3r-board-groom.md +69 -5
- package/commands/hatch3r-board-init.md +2 -1
- package/commands/hatch3r-board-pickup.md +1 -0
- package/commands/hatch3r-board-refresh.md +1 -0
- package/commands/hatch3r-board-shared.md +34 -3
- package/commands/hatch3r-bug-plan.md +2 -1
- package/commands/hatch3r-codebase-map.md +4 -3
- package/commands/hatch3r-command-customize.md +2 -1
- package/commands/hatch3r-context-health.md +1 -0
- package/commands/hatch3r-cost-tracking.md +1 -0
- package/commands/hatch3r-debug.md +4 -3
- package/commands/hatch3r-dep-audit.md +3 -0
- package/commands/hatch3r-feature-plan.md +3 -2
- package/commands/hatch3r-healthcheck.md +1 -0
- package/commands/hatch3r-hooks.md +5 -0
- package/commands/hatch3r-learn.md +1 -0
- package/commands/hatch3r-migration-plan.md +3 -2
- package/commands/hatch3r-onboard.md +2 -1
- package/commands/hatch3r-project-spec.md +4 -3
- package/commands/hatch3r-quick-change.md +2 -0
- package/commands/hatch3r-recipe.md +1 -0
- package/commands/hatch3r-refactor-plan.md +2 -1
- package/commands/hatch3r-release.md +4 -1
- package/commands/hatch3r-revision.md +2 -1
- package/commands/hatch3r-roadmap.md +5 -4
- package/commands/hatch3r-rule-customize.md +1 -0
- package/commands/hatch3r-security-audit.md +1 -0
- package/commands/hatch3r-skill-customize.md +1 -0
- package/commands/hatch3r-test-plan.md +3 -2
- package/commands/hatch3r-workflow.md +5 -0
- package/dist/cli/index.js +7467 -4582
- package/dist/cli/index.js.map +1 -1
- package/hooks/hatch3r-ci-failure.md +1 -0
- package/hooks/hatch3r-file-save.md +1 -0
- package/hooks/hatch3r-post-merge.md +1 -0
- package/hooks/hatch3r-pre-commit.md +1 -0
- package/hooks/hatch3r-pre-push.md +1 -0
- package/hooks/hatch3r-session-start.md +1 -0
- package/package.json +19 -4
- package/rules/hatch3r-accessibility-standards.md +2 -1
- package/rules/hatch3r-accessibility-standards.mdc +1 -1
- package/rules/hatch3r-agent-orchestration-detail.md +49 -1
- package/rules/hatch3r-agent-orchestration-detail.mdc +47 -1
- package/rules/hatch3r-agent-orchestration.md +87 -5
- package/rules/hatch3r-agent-orchestration.mdc +85 -5
- package/rules/hatch3r-api-design.md +2 -1
- package/rules/hatch3r-api-design.mdc +1 -1
- package/rules/hatch3r-browser-verification.md +4 -2
- package/rules/hatch3r-browser-verification.mdc +1 -0
- package/rules/hatch3r-ci-cd.md +2 -1
- package/rules/hatch3r-ci-cd.mdc +1 -1
- package/rules/hatch3r-code-standards.md +15 -2
- package/rules/hatch3r-code-standards.mdc +12 -0
- package/rules/hatch3r-component-conventions.md +2 -1
- package/rules/hatch3r-component-conventions.mdc +1 -0
- package/rules/hatch3r-data-classification.md +2 -1
- package/rules/hatch3r-data-classification.mdc +1 -1
- package/rules/hatch3r-deep-context.md +26 -1
- package/rules/hatch3r-deep-context.mdc +25 -1
- package/rules/hatch3r-dependency-management.md +2 -1
- package/rules/hatch3r-dependency-management.mdc +1 -1
- package/rules/hatch3r-feature-flags.md +2 -0
- package/rules/hatch3r-feature-flags.mdc +1 -0
- package/rules/hatch3r-git-conventions.md +2 -1
- package/rules/hatch3r-git-conventions.mdc +2 -1
- package/rules/hatch3r-i18n.md +2 -1
- package/rules/hatch3r-i18n.mdc +1 -0
- package/rules/hatch3r-learning-consult.md +11 -1
- package/rules/hatch3r-learning-consult.mdc +11 -1
- package/rules/hatch3r-migrations.md +2 -1
- package/rules/hatch3r-migrations.mdc +1 -1
- package/rules/hatch3r-observability-logging.md +34 -0
- package/rules/hatch3r-observability-logging.mdc +30 -0
- package/rules/hatch3r-observability-metrics.md +74 -0
- package/rules/hatch3r-observability-metrics.mdc +70 -0
- package/rules/hatch3r-observability-tracing-detail.md +160 -0
- package/rules/hatch3r-observability-tracing-detail.mdc +63 -0
- package/rules/hatch3r-observability-tracing.md +86 -0
- package/rules/hatch3r-observability-tracing.mdc +77 -0
- package/rules/hatch3r-observability.md +9 -448
- package/rules/hatch3r-observability.mdc +7 -448
- package/rules/hatch3r-performance-budgets.md +2 -0
- package/rules/hatch3r-performance-budgets.mdc +1 -0
- package/rules/hatch3r-secrets-management.md +2 -1
- package/rules/hatch3r-secrets-management.mdc +1 -1
- package/rules/hatch3r-security-patterns.md +3 -2
- package/rules/hatch3r-security-patterns.mdc +1 -1
- package/rules/hatch3r-testing.md +12 -2
- package/rules/hatch3r-testing.mdc +10 -1
- package/rules/hatch3r-theming.md +3 -2
- package/rules/hatch3r-theming.mdc +1 -0
- package/rules/hatch3r-tooling-hierarchy.md +3 -2
- package/rules/hatch3r-tooling-hierarchy.mdc +1 -1
- package/skills/hatch3r-a11y-audit/SKILL.md +11 -4
- package/skills/hatch3r-agent-customize/SKILL.md +1 -0
- package/skills/hatch3r-api-spec/SKILL.md +9 -2
- package/skills/hatch3r-architecture-review/SKILL.md +7 -0
- package/skills/hatch3r-bug-fix/SKILL.md +16 -7
- package/skills/hatch3r-ci-pipeline/SKILL.md +8 -1
- package/skills/hatch3r-command-customize/SKILL.md +1 -0
- package/skills/hatch3r-context-health/SKILL.md +23 -2
- package/skills/hatch3r-cost-tracking/SKILL.md +16 -6
- package/skills/hatch3r-customize/SKILL.md +8 -1
- package/skills/hatch3r-dep-audit/SKILL.md +9 -2
- package/skills/hatch3r-feature/SKILL.md +12 -4
- package/skills/hatch3r-gh-agentic-workflows/SKILL.md +7 -0
- package/skills/hatch3r-incident-response/SKILL.md +7 -0
- package/skills/hatch3r-issue-workflow/SKILL.md +8 -1
- package/skills/hatch3r-logical-refactor/SKILL.md +8 -1
- package/skills/hatch3r-migration/SKILL.md +7 -0
- package/skills/hatch3r-perf-audit/SKILL.md +9 -2
- package/skills/hatch3r-pr-creation/SKILL.md +8 -1
- package/skills/hatch3r-qa-validation/SKILL.md +8 -1
- package/skills/hatch3r-recipe/SKILL.md +8 -1
- package/skills/hatch3r-refactor/SKILL.md +10 -2
- package/skills/hatch3r-release/SKILL.md +8 -1
- package/skills/hatch3r-rule-customize/SKILL.md +1 -0
- package/skills/hatch3r-skill-customize/SKILL.md +1 -0
- package/skills/hatch3r-visual-refactor/SKILL.md +12 -5
|
@@ -3,6 +3,7 @@ id: hatch3r-board-fill
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Create epics and issues/work items from todo.md, reorganize the board with dependency analysis, readiness assessment, and implementation ordering. Supports GitHub, Azure DevOps, and GitLab.
|
|
5
5
|
tags: [board, team]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -99,6 +100,7 @@ Scan the entire board to build an inventory of all existing work. This scan feed
|
|
|
99
100
|
```
|
|
100
101
|
Board Health:
|
|
101
102
|
Total open issues: N (X epics, Y sub-issues, Z standalone)
|
|
103
|
+
Standalone ratio: Z/{X+Z} ({percentage}%) — target <=10%
|
|
102
104
|
Missing dependency metadata: #N, #M ...
|
|
103
105
|
Missing required labels: #N — no priority, no area ...
|
|
104
106
|
Potential epic grouping candidates: #N + #M (shared theme) ...
|
|
@@ -304,18 +306,35 @@ Present a brief **Context Summary**: key constraints from documentation, current
|
|
|
304
306
|
|
|
305
307
|
### Step 5: Propose Grouping (Epics vs. Standalone)
|
|
306
308
|
|
|
307
|
-
**Grouping philosophy:**
|
|
309
|
+
**Grouping philosophy:** Target zero standalone issues. Every issue should belong to an epic. Standalone status is an exception that requires explicit justification, not a default. This maximizes parallelization during pickup — agents can tackle multiple sub-issues of an epic concurrently, whereas standalone issues require serial pickup. Follow the **Epic Grouping Policy** in `hatch3r-board-shared`.
|
|
310
|
+
|
|
311
|
+
**Standalone threshold:** After grouping, no more than 10% of total non-sub-issue items on the board should be standalone (minimum 0, round down). If this threshold is exceeded, the post-grouping audit (Step 5d) forces additional grouping before proceeding.
|
|
308
312
|
|
|
309
313
|
#### 5a. Group New Items
|
|
310
314
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
+
Apply these rules in strict order. Each rule reduces the remaining ungrouped pool before the next rule fires.
|
|
316
|
+
|
|
317
|
+
1. **Absorb into existing epics first.** For each new item, check all existing epics on the board. If the item shares any `area:*` label, touches the same subsystem, or addresses the same feature domain as an existing epic, absorb it as a sub-issue of that epic. When multiple epics match, prefer the one with the strongest thematic overlap.
|
|
318
|
+
|
|
319
|
+
2. **Form new epics from 2+ related items.** Group remaining ungrouped items that share any connection: same `area:*` label, same subsystem, same `type:*` category, related feature domain, or semantic similarity in title/description. Two items sharing any single connection is sufficient to form an epic. Name the epic after the shared theme.
|
|
320
|
+
|
|
321
|
+
3. **Singleton promotion.** Any single remaining item that could plausibly belong to a broader theme (even a loose one like "Developer Experience", "Code Quality", "Performance", "Security Hardening", "Infrastructure & Tooling", "Documentation & Onboarding") becomes a 1-item epic with that theme as the epic title. The rationale: a themed epic can absorb future related work, whereas a standalone cannot. Prefer existing theme names from epics already on the board.
|
|
322
|
+
|
|
323
|
+
4. **Catch-all epic.** If any items still remain after steps 1-3 (truly topically isolated from everything), group them into a single catch-all epic named "General Improvements" (or absorb into an existing "General Improvements" epic if one exists on the board). Do NOT leave them standalone.
|
|
324
|
+
|
|
325
|
+
5. **Standalone as true last resort.** An item may remain standalone ONLY if the user explicitly rejects grouping for it during the ASK checkpoint AND provides a justification. The AI should never propose standalone status on its own — always propose a grouping first.
|
|
315
326
|
|
|
316
327
|
#### 5b. Regroup Existing Standalone Issues
|
|
317
328
|
|
|
318
|
-
|
|
329
|
+
Scan ALL existing standalone issues on the board (from the Step 1.5 board scan). For each standalone:
|
|
330
|
+
|
|
331
|
+
1. **Check against existing epics.** If the standalone shares an `area:*` label, subsystem, or semantic theme with any existing epic, propose absorbing it as a sub-issue.
|
|
332
|
+
2. **Check against other standalones.** If 2+ existing standalones share a connection (area, subsystem, title similarity), propose forming a new epic from them.
|
|
333
|
+
3. **Check against new epics.** If the standalone fits a new epic being formed in Step 5a, include it.
|
|
334
|
+
4. **Singleton promotion.** Apply the same singleton promotion rule as 5a.3 — propose a thematic epic for isolated standalones.
|
|
335
|
+
5. **Catch-all.** Remaining standalones go into the "General Improvements" epic per 5a.4.
|
|
336
|
+
|
|
337
|
+
Present regrouping proposals clearly separated from new-item grouping, so the user can confirm or reject existing issue regrouping independently.
|
|
319
338
|
|
|
320
339
|
#### 5c. Decomposition Check
|
|
321
340
|
|
|
@@ -328,9 +347,32 @@ After grouping, evaluate whether any individual item is too large to be a single
|
|
|
328
347
|
|
|
329
348
|
For each item flagged for decomposition, propose specific sub-issues with one-line descriptions. Items already grouped into an epic become sub-issues of that epic; standalone items that decompose become a new epic with sub-issues.
|
|
330
349
|
|
|
331
|
-
|
|
350
|
+
#### 5d. Post-Grouping Standalone Audit
|
|
351
|
+
|
|
352
|
+
After Steps 5a-5c, perform a standalone audit before presenting proposals to the user.
|
|
353
|
+
|
|
354
|
+
1. **Count remaining standalones.** Calculate the standalone ratio: `standalone_count / (epic_count + standalone_count)`. Sub-issues are excluded from this ratio.
|
|
355
|
+
|
|
356
|
+
2. **Threshold check.** If the standalone ratio exceeds 10%, the audit fails:
|
|
357
|
+
- Re-examine each proposed standalone against ALL epics (existing and newly proposed) using progressively looser matching:
|
|
358
|
+
a. Same `area:*` label (exact match).
|
|
359
|
+
b. Same broader domain (e.g., `area:api` and `area:middleware` are both "backend").
|
|
360
|
+
c. Same `type:*` category (e.g., all `type:refactor` items form a "Code Quality" epic).
|
|
361
|
+
d. Catch-all "General Improvements" epic.
|
|
362
|
+
- Repeat until the ratio is at or below 10%, or every standalone has been re-examined and the AI has exhausted all grouping options.
|
|
363
|
+
|
|
364
|
+
3. **Justify survivors.** For each item that remains standalone after the audit, include a one-line justification in the grouping proposal explaining why it could not be grouped (e.g., "Truly unique topic with no thematic overlap to any existing or proposed epic").
|
|
365
|
+
|
|
366
|
+
4. **Surface the metric.** Include the standalone ratio in the grouping proposal output:
|
|
367
|
+
```
|
|
368
|
+
Grouping Audit: {standalone_count}/{total} items standalone ({percentage}%)
|
|
369
|
+
Threshold: <=10% — {PASS/FAIL}
|
|
370
|
+
{if FAIL: "N standalones could not be grouped. Justifications below."}
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
Present grouping proposals (from 5a + 5b), decomposition proposals (from 5c), and audit results (from 5d) together.
|
|
332
374
|
|
|
333
|
-
**ASK:** "Confirm grouping
|
|
375
|
+
**ASK:** "Confirm grouping, decomposition, and standalone audit results. Options: move items between groups / merge-split epics / convert epic<->standalone (requires justification) / reject decomposition / reject existing regrouping. Standalone ratio: {percentage}% ({PASS/FAIL}). Are there items here that still feel too large for a single issue?"
|
|
334
376
|
|
|
335
377
|
---
|
|
336
378
|
|
|
@@ -447,7 +489,7 @@ Acceptance criteria must be grounded in the user's stated requirements, not AI i
|
|
|
447
489
|
3. **Codebase context (Step 4)** -- existing tests, interfaces, contracts, and architectural patterns that constrain the implementation inform technical criteria.
|
|
448
490
|
4. **AI inference** -- only as a supplement for criteria the above sources don't cover. Flag AI-inferred criteria distinctly so the user can validate them.
|
|
449
491
|
|
|
450
|
-
Each acceptance criterion must be **specific and testable**: an implementer reading it can determine pass/fail without ambiguity. Prefer "API returns 400 with validation error for missing required fields" over "API validates input
|
|
492
|
+
Each acceptance criterion must be **specific and testable**: an implementer reading it can determine pass/fail without ambiguity. Prefer "API returns 400 with validation error for missing required fields" over "API validates input."
|
|
451
493
|
|
|
452
494
|
#### Scope Section
|
|
453
495
|
|
|
@@ -580,6 +622,7 @@ Existing Issues Updated:
|
|
|
580
622
|
| Issue # | Title | Updates Applied |
|
|
581
623
|
|
|
582
624
|
Board Summary: N created, M updated, X marked ready, Y still triage, Z parallel lanes
|
|
625
|
+
Standalone ratio: {count}/{total} ({percentage}%) — target <=10%
|
|
583
626
|
```
|
|
584
627
|
|
|
585
628
|
---
|
|
@@ -3,6 +3,7 @@ id: hatch3r-board-groom
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Ongoing backlog refinement for existing board items. Re-prioritize, reclassify, re-scope, archive stale items, decompose oversized issues, merge duplicates, refresh dependencies, and remediate board health findings.
|
|
5
5
|
tags: [board, team]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -142,12 +143,18 @@ Analyze the distribution of priority labels across the board:
|
|
|
142
143
|
- Flag if all issues share the same priority (undifferentiated backlog).
|
|
143
144
|
- Flag issues where priority does not align with risk (e.g., `priority:p3` + `risk:high`).
|
|
144
145
|
|
|
145
|
-
#### 3f. Grouping Opportunities
|
|
146
|
+
#### 3f. Grouping Opportunities & Standalone Audit
|
|
146
147
|
|
|
147
|
-
Scan existing standalone issues for
|
|
148
|
+
Scan existing standalone issues for epic grouping. Apply the **Epic Grouping Policy** from `hatch3r-board-shared`:
|
|
148
149
|
|
|
149
150
|
- 2+ standalone issues sharing the same `area:*` labels.
|
|
150
151
|
- 2+ standalone issues with semantically similar titles or overlapping scope.
|
|
152
|
+
- 2+ standalone issues sharing the same `type:*` label (e.g., all `type:refactor` items).
|
|
153
|
+
- 2+ standalone issues in the same broader domain (e.g., `area:api` + `area:middleware` = "backend").
|
|
154
|
+
- **Single standalone issues** that could be absorbed into an existing epic (shared area, subsystem, or theme).
|
|
155
|
+
- **Single standalone issues** that could become a themed 1-item epic (singleton promotion).
|
|
156
|
+
|
|
157
|
+
Compute standalone ratio: `standalone_count / (epic_count + standalone_count)`. Flag if ratio exceeds 10%.
|
|
151
158
|
|
|
152
159
|
#### 3g. Decomposition Candidates
|
|
153
160
|
|
|
@@ -198,6 +205,7 @@ Board Groom — Refinement Summary:
|
|
|
198
205
|
|
|
199
206
|
Board Health:
|
|
200
207
|
Total open issues: N (X epics, Y sub-issues, Z standalone)
|
|
208
|
+
Standalone ratio: Z/{X+Z} ({percentage}%) — target <=10%
|
|
201
209
|
Missing metadata: M issues (details below)
|
|
202
210
|
Stale issues: S issues
|
|
203
211
|
Stale dependency refs: D issues
|
|
@@ -216,10 +224,10 @@ Grooming Opportunities:
|
|
|
216
224
|
Dependency cleanup: K issues (stale refs, orphaned labels)
|
|
217
225
|
Link fix candidates: L issues (advisory or comment-only links)
|
|
218
226
|
|
|
219
|
-
Available actions: [reprioritize | reclassify | re-scope | demote | archive | decompose | merge | dep-refresh | health-fix | link-fix | all]
|
|
227
|
+
Available actions: [reprioritize | reclassify | re-scope | demote | archive | decompose | merge | regroup | dep-refresh | health-fix | link-fix | all]
|
|
220
228
|
```
|
|
221
229
|
|
|
222
|
-
**ASK:** "Here is the board refinement summary. Which grooming actions do you want to perform? Select one or more: reprioritize / reclassify / re-scope / demote / archive / decompose / merge / dep-refresh / health-fix / link-fix / all. You can also specify issue numbers to target specific items (e.g., 'reprioritize #5, #12')."
|
|
230
|
+
**ASK:** "Here is the board refinement summary. Which grooming actions do you want to perform? Select one or more: reprioritize / reclassify / re-scope / demote / archive / decompose / merge / regroup / dep-refresh / health-fix / link-fix / all. You can also specify issue numbers to target specific items (e.g., 'reprioritize #5, #12')."
|
|
223
231
|
|
|
224
232
|
---
|
|
225
233
|
|
|
@@ -463,7 +471,61 @@ Link Fix Candidates:
|
|
|
463
471
|
|
|
464
472
|
---
|
|
465
473
|
|
|
466
|
-
#### 4i.
|
|
474
|
+
#### 4i. Regroup Standalones
|
|
475
|
+
|
|
476
|
+
Group standalone issues into existing or new epics. This action executes the grouping opportunities detected in Step 3f, following the **Epic Grouping Policy** from `hatch3r-board-shared`.
|
|
477
|
+
|
|
478
|
+
1. Present regrouping proposals from Step 3f, organized by target epic:
|
|
479
|
+
|
|
480
|
+
```
|
|
481
|
+
Regroup Proposals:
|
|
482
|
+
|
|
483
|
+
Absorb into existing epics:
|
|
484
|
+
#{N} "{title}" → Epic #{E} "{epic title}" (shared area:api)
|
|
485
|
+
#{M} "{title}" → Epic #{F} "{epic title}" (semantic overlap)
|
|
486
|
+
|
|
487
|
+
Form new epics:
|
|
488
|
+
New epic: "Code Quality & Refactoring"
|
|
489
|
+
#{P} "{title}" (type:refactor)
|
|
490
|
+
#{Q} "{title}" (type:refactor)
|
|
491
|
+
|
|
492
|
+
Singleton promotions:
|
|
493
|
+
#{R} "{title}" → New 1-item epic: "Performance Optimization" (no existing epic match, but themed for future absorption)
|
|
494
|
+
|
|
495
|
+
Catch-all:
|
|
496
|
+
#{S} "{title}" → "General Improvements" epic (no thematic match)
|
|
497
|
+
|
|
498
|
+
Standalone ratio: before={before}%, after={projected}% (target <=10%)
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**ASK:** "Confirm regrouping proposals. For each: accept / reject / move to different epic. Items you reject will remain standalone. Confirm / adjust / skip."
|
|
502
|
+
|
|
503
|
+
2. For confirmed regroupings:
|
|
504
|
+
|
|
505
|
+
**Absorb into existing epic:**
|
|
506
|
+
- Link the standalone as a sub-issue using the **Sub-Issue Linking Procedure** from `hatch3r-board-shared`.
|
|
507
|
+
- Update the epic body to include the new sub-issue in its checklist and `## Implementation Order`.
|
|
508
|
+
|
|
509
|
+
**Form new epic:**
|
|
510
|
+
- Create a new epic issue with Overview, Sub-issues checklist, and `## Implementation Order`.
|
|
511
|
+
- Link all grouped items as sub-issues using the Sub-Issue Linking Procedure.
|
|
512
|
+
- Apply labels: inherit the common labels from the grouped items, add `status:triage` (or `status:ready` if all sub-issues are ready).
|
|
513
|
+
- Sync the new epic to the board via the **Board Sync Procedure** from `hatch3r-board-shared`.
|
|
514
|
+
|
|
515
|
+
**Singleton promotion:**
|
|
516
|
+
- Create a new 1-item epic with the themed title.
|
|
517
|
+
- Link the standalone as its only sub-issue.
|
|
518
|
+
- The epic body notes: "This epic groups related work for {theme}. Future items in this area should be added as sub-issues."
|
|
519
|
+
|
|
520
|
+
**Catch-all:**
|
|
521
|
+
- If a "General Improvements" epic exists, absorb into it.
|
|
522
|
+
- If not, create one with all catch-all items as sub-issues.
|
|
523
|
+
|
|
524
|
+
3. After execution, recalculate and report the standalone ratio.
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
528
|
+
#### 4j. Health Fix (Board Health Remediation)
|
|
467
529
|
|
|
468
530
|
Fix structural gaps detected in Step 3b (missing metadata), board sync drift detected in Step 3k, and orphaned in-review issues detected in Step 3l.
|
|
469
531
|
|
|
@@ -608,12 +670,14 @@ Board Groom Complete:
|
|
|
608
670
|
Archived (closed): {count} issues
|
|
609
671
|
Decomposed: {count} issues → {count} new sub-issues
|
|
610
672
|
Merged: {count} duplicate pairs
|
|
673
|
+
Regrouped: {count} standalones → {count} epics ({count} new epics created)
|
|
611
674
|
Dependencies: {count} refs cleaned, {count} new deps added, {count} epics reordered
|
|
612
675
|
Health fixed: {count} issues (missing metadata resolved)
|
|
613
676
|
Readiness promoted: {count} issues (triage → ready)
|
|
614
677
|
|
|
615
678
|
Board State:
|
|
616
679
|
Total open: {count} ({epics} epics, {sub} sub-issues, {standalone} standalone)
|
|
680
|
+
Standalone ratio: {percentage}% (target <=10%)
|
|
617
681
|
Ready: {count} ({available} available, {depWaiting} waiting on deps)
|
|
618
682
|
In Progress: {count}
|
|
619
683
|
In Review: {count}
|
|
@@ -3,6 +3,7 @@ id: hatch3r-board-init
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Initialize a project board (GitHub Projects V2, Azure Boards, or GitLab Issue Boards) with hatch3r's label taxonomy, status fields, and board structure. Platform detected from hatch.json.
|
|
5
5
|
tags: [board, team]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -249,7 +250,7 @@ Execute all planned mutations in sequence. No further questions unless a mutatio
|
|
|
249
250
|
```
|
|
250
251
|
2. Look for a field named "Status" (case-insensitive match).
|
|
251
252
|
3. If no Status field exists, create one via the `createProjectV2Field` mutation with type `SINGLE_SELECT`.
|
|
252
|
-
4.
|
|
253
|
+
4. Verify these status options exist on the field: **Backlog**, **Ready**, **In Progress**, **In Review**, **Done**.
|
|
253
254
|
- For missing options, use the `updateProjectV2Field` mutation (or the appropriate mutation for adding options to a single-select field) to add them.
|
|
254
255
|
5. Capture the field ID and each option's ID.
|
|
255
256
|
6. **Verify built-in "Done on close" automation:** After board creation, check the Projects V2 built-in workflows. Navigate to Project settings > Workflows > "Item closed" and verify it is enabled with Status mapped to "Done". Also verify "Pull request merged" maps Status to "Done". These workflows are on by default for UI-created projects but may not be enabled for API-created projects. Without these workflows, the board status will remain "In Review" after PR merge until `board-groom` detects the drift.
|
|
@@ -3,6 +3,7 @@ id: hatch3r-board-pickup
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Pick up one or more epics/issues from the project board for development. Handles dependency-aware selection, collision detection, branching, parallel sub-agent delegation, and batch execution. Supports GitHub, Azure DevOps, and GitLab. Platform-specific details are in commands/board/pickup-{platform}.md.
|
|
5
5
|
tags: [board, team]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
# Board Pickup -- Develop Issues from the Project Board
|
|
8
9
|
|
|
@@ -3,6 +3,7 @@ id: hatch3r-board-refresh
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Regenerate the living board overview dashboard from current board state. Scans all open issues, computes health metrics, and updates the meta:board-overview issue.
|
|
5
5
|
tags: [board, team]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -3,6 +3,7 @@ id: hatch3r-board-shared
|
|
|
3
3
|
type: shared-context
|
|
4
4
|
description: Shared context and procedures for all board commands. Provides platform-agnostic board config, label taxonomy, branch conventions, sync enforcement, and tooling directives. Platform-specific details are in commands/board/shared-{platform}.md.
|
|
5
5
|
tags: [board, team]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
# Board Shared Reference
|
|
8
9
|
|
|
@@ -25,9 +26,9 @@ Before reading configuration, validate that prerequisites are met. If any check
|
|
|
25
26
|
> "Board commands require owner and repo. Run `npx hatch3r config` to set your repository identity, or provide them in `.agents/hatch.json` under the top-level `owner` and `repo` fields."
|
|
26
27
|
|
|
27
28
|
3. **Platform authentication:** Verify CLI authentication for the configured platform:
|
|
28
|
-
- **GitHub:** Run `gh auth status`. If it fails, stop with: "GitHub CLI not authenticated. Run `gh auth login` and
|
|
29
|
-
- **Azure DevOps:** Run `az account show`. If it fails, stop with: "Azure CLI not authenticated. Run `az login` or set AZURE_DEVOPS_PAT.
|
|
30
|
-
- **GitLab:** Run `glab auth status`. If it fails, stop with: "GitLab CLI not authenticated. Run `glab auth login` or set GITLAB_TOKEN.
|
|
29
|
+
- **GitHub:** Run `gh auth status`. If it fails, stop with: "GitHub CLI not authenticated. Run `gh auth login` and confirm your PAT has the `project` scope for Projects V2 access. See: https://docs.github.com/en/issues/planning-and-tracking-with-projects"
|
|
30
|
+
- **Azure DevOps:** Run `az account show`. If it fails, stop with: "Azure CLI not authenticated. Run `az login` or set AZURE_DEVOPS_PAT. Confirm access to organization `{namespace}`."
|
|
31
|
+
- **GitLab:** Run `glab auth status`. If it fails, stop with: "GitLab CLI not authenticated. Run `glab auth login` or set GITLAB_TOKEN. Confirm access to project `{namespace}/{project}`."
|
|
31
32
|
|
|
32
33
|
4. **projectNumber set (for commands other than board-init):** For `board-fill`, `board-groom`, `board-pickup`, and `board-refresh`, if `board.projectNumber` is null, stop with:
|
|
33
34
|
> "No project board configured. Run the `board-init` command first to create or connect a project board. This sets up the board.projectNumber in `.agents/hatch.json`."
|
|
@@ -138,6 +139,36 @@ Board sync is **MANDATORY**, not optional. The following rules override any "ski
|
|
|
138
139
|
|
|
139
140
|
---
|
|
140
141
|
|
|
142
|
+
## Epic Grouping Policy
|
|
143
|
+
|
|
144
|
+
All board commands that create or reorganize issues MUST follow this grouping policy. Epic grouping maximizes parallelization during pickup — agents can tackle multiple sub-issues of an epic concurrently, whereas standalone issues require serial pickup.
|
|
145
|
+
|
|
146
|
+
### Standalone Threshold
|
|
147
|
+
|
|
148
|
+
**Target: zero standalone issues. Hard limit: no more than 10% of non-sub-issue items on the board should be standalone.**
|
|
149
|
+
|
|
150
|
+
Calculate: `standalone_count / (epic_count + standalone_count)`. Sub-issues are excluded from both numerator and denominator.
|
|
151
|
+
|
|
152
|
+
When the threshold is exceeded, board commands must apply progressively looser grouping strategies (area match → domain match → type match → catch-all epic) until the ratio is at or below 10%.
|
|
153
|
+
|
|
154
|
+
### Grouping Priority Order
|
|
155
|
+
|
|
156
|
+
Apply these rules in strict priority order. Each rule reduces the remaining ungrouped pool before the next rule fires:
|
|
157
|
+
|
|
158
|
+
1. **Absorb into existing epics** — item shares area, subsystem, or theme with an existing epic.
|
|
159
|
+
2. **Form new epics** — 2+ ungrouped items share any connection (area, subsystem, type, domain, semantic similarity).
|
|
160
|
+
3. **Singleton promotion** — a single item becomes a 1-item epic with a thematic name (e.g., "Performance Optimization", "Security Hardening"), positioned to absorb future related work. Prefer existing theme names from epics already on the board.
|
|
161
|
+
4. **Catch-all epic** — truly isolated items go into a "General Improvements" epic (create one if it doesn't exist, absorb into it if it does).
|
|
162
|
+
5. **Standalone (exception only)** — requires explicit user rejection of ALL grouping proposals AND a stated justification. The AI should never propose standalone status on its own.
|
|
163
|
+
|
|
164
|
+
### When to Apply
|
|
165
|
+
|
|
166
|
+
- **board-fill Step 5:** Full grouping pass on new items + regrouping pass on existing standalones + post-grouping standalone audit.
|
|
167
|
+
- **board-groom Step 3f + Step 4j:** Detection of grouping opportunities + `regroup` action for execution.
|
|
168
|
+
- Both commands surface the standalone ratio in their health summaries and final reports.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
141
172
|
## Post-Merge Terminal State
|
|
142
173
|
|
|
143
174
|
When a PR/MR merges and `Closes #N` auto-closes the referenced issues, the board item lifecycle must reach its terminal state. The `status:in-review` label should be replaced with `status:done`, and the board status should be set to "Done" using `board.statusOptions.done`.
|
|
@@ -3,6 +3,7 @@ id: hatch3r-bug-plan
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Plan a complex bug investigation -- spawn parallel researchers, produce diagnosis report with ranked hypotheses and structured todo.md entries for board-fill.
|
|
5
5
|
tags: [core, planning]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -65,7 +66,7 @@ Bug Brief:
|
|
|
65
66
|
Prior attempts: {what has been tried, or "none"}
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
**ASK:** "Does this capture the bug
|
|
69
|
+
**ASK:** "Does this capture the bug? Adjust anything before I send this to the research phase."
|
|
69
70
|
|
|
70
71
|
---
|
|
71
72
|
|
|
@@ -3,6 +3,7 @@ id: hatch3r-codebase-map
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Reverse-engineer business and technical project specs from an existing codebase using parallel analyzer sub-agents with dual business/technical scoping
|
|
5
5
|
tags: [planning, brownfield]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
# Codebase Map — Brownfield Codebase Analysis & Spec Generation
|
|
8
9
|
|
|
@@ -1001,7 +1002,7 @@ Each docs-writer prompt must include:
|
|
|
1001
1002
|
- The confirmed scope, company stage, and business context from Step 1
|
|
1002
1003
|
- The directory structure and file naming conventions below
|
|
1003
1004
|
- Instruction to follow the `hatch3r-docs-writer` agent protocol
|
|
1004
|
-
- Instruction to create directories
|
|
1005
|
+
- Instruction to create directories before writing files if they do not exist
|
|
1005
1006
|
|
|
1006
1007
|
#### 7a. Create Directories
|
|
1007
1008
|
|
|
@@ -1128,7 +1129,7 @@ The generated `AGENTS.md` should follow this structure:
|
|
|
1128
1129
|
```markdown
|
|
1129
1130
|
# {Project Name} — Agent Instructions
|
|
1130
1131
|
|
|
1131
|
-
> Auto-generated by hatch3r-codebase-map on {today's date}. Review and adjust
|
|
1132
|
+
> Auto-generated by hatch3r-codebase-map on {today's date}. Review and adjust before use.
|
|
1132
1133
|
|
|
1133
1134
|
## Project Purpose
|
|
1134
1135
|
|
|
@@ -1207,7 +1208,7 @@ Which would you like to run next? (or none)"
|
|
|
1207
1208
|
- **Respect .gitignore** and always skip: `node_modules/`, `vendor/`, `dist/`, `build/`, `.git/`, `__pycache__/`, `.venv/`, `target/` (Rust), `bin/`, `obj/` (.NET).
|
|
1208
1209
|
- **Never read `.env` files or actual secrets.** Only read `.env.example` or similar templates. If a hardcoded secret is found during analysis, flag it as a security concern but do not include the actual value in any output.
|
|
1209
1210
|
- **Mark all inferred information as "Inferred."** Do not present static analysis guesses as established facts.
|
|
1210
|
-
- **Handle monorepos
|
|
1211
|
+
- **Handle monorepos by detecting workspace configuration** (`workspaces` in `package.json`, `pnpm-workspace.yaml`, `turbo.json`, `nx.json`, `lerna.json`, Cargo workspaces, Go workspaces) and analyzing each package as a separate module.
|
|
1211
1212
|
- **If `todo.md` already exists,** ASK before overwriting or appending.
|
|
1212
1213
|
- **Sub-agents must not create files.** They return structured text results to the orchestrator. Only the orchestrator writes files in Step 7.
|
|
1213
1214
|
- **Stage-adaptive recommendations.** Never recommend enterprise-grade solutions for pre-revenue startups. Never recommend MVP shortcuts for scale/enterprise companies. Calibrate all recommendations to the company stage from Step 1g.
|
|
@@ -3,6 +3,7 @@ id: hatch3r-command-customize
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Configure per-command customization including description overrides, enable/disable control, and project-specific markdown instructions
|
|
5
5
|
tags: [customize]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -54,7 +55,7 @@ Create `.hatch3r/commands/{command-id}.customize.md` with free-form markdown to
|
|
|
54
55
|
|
|
55
56
|
Before creating any release:
|
|
56
57
|
|
|
57
|
-
1.
|
|
58
|
+
1. Run `npm run test:e2e:staging` and confirm all E2E tests pass on staging
|
|
58
59
|
2. Verify the changelog has been updated in `CHANGELOG.md`
|
|
59
60
|
3. Confirm the release has been approved in the `#releases` Slack channel
|
|
60
61
|
4. Tag the Docker image with the release version
|
|
@@ -3,6 +3,7 @@ id: hatch3r-context-health
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Monitor conversation context health, detect degradation, and auto-suggest fresh context or sub-agent delegation
|
|
5
5
|
tags: [maintenance]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
## Agent Pipeline
|
|
8
9
|
|
|
@@ -3,6 +3,7 @@ id: hatch3r-debug
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Standalone debug-and-fix workflow — add strategic debug logging, collect runtime logs from the user, perform root cause analysis, implement the fix, and clean up all debug artifacts.
|
|
5
5
|
tags: [core, implementation]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
# Debug — Instrument, Diagnose, and Fix from Runtime Evidence
|
|
8
9
|
|
|
@@ -123,7 +124,7 @@ Bug Context:
|
|
|
123
124
|
Context loaded: {specs, learnings, rules found}
|
|
124
125
|
```
|
|
125
126
|
|
|
126
|
-
**ASK:** "Does this capture the bug
|
|
127
|
+
**ASK:** "Does this capture the bug? Adjust anything before I proceed to add debug logging."
|
|
127
128
|
|
|
128
129
|
---
|
|
129
130
|
|
|
@@ -177,7 +178,7 @@ Await the implementer result.
|
|
|
177
178
|
|
|
178
179
|
1. Collect the list of all files modified and the exact log statements added.
|
|
179
180
|
2. Verify no application logic was altered — only log statements were added.
|
|
180
|
-
3. Run quality checks (lint
|
|
181
|
+
3. Run quality checks (`npm run lint && npx tsc --noEmit`) and confirm the debug logging does not break the build. Fix any issues.
|
|
181
182
|
|
|
182
183
|
If browser verification is enabled: launch the application in the browser, reproduce the issue, and verify that `[HATCH3R-DEBUG]` log lines appear in the console or application output.
|
|
183
184
|
|
|
@@ -289,7 +290,7 @@ Diagnosis Report:
|
|
|
289
290
|
|
|
290
291
|
### Stage 5: Implement Fix
|
|
291
292
|
|
|
292
|
-
**Goal:** Fix the root cause, remove all debug logging, verify quality, and
|
|
293
|
+
**Goal:** Fix the root cause, remove all debug logging, verify quality, and confirm no debug artifacts remain (grep for `[HATCH3R-DEBUG]`).
|
|
293
294
|
|
|
294
295
|
#### 5a. Core Fix (Implementer)
|
|
295
296
|
|
|
@@ -3,6 +3,7 @@ id: hatch3r-dep-audit
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Scan, assess, and upgrade npm dependencies. Categorizes findings by severity (CVEs, major/minor/patch outdated), researches migration paths, upgrades packages one at a time with testing, and creates tracking issues for unaddressed items.
|
|
5
5
|
tags: [maintenance, security]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -19,6 +20,8 @@ Scan, assess, and upgrade npm dependencies for **{owner}/{repo}** (root and any
|
|
|
19
20
|
|
|
20
21
|
**Read the project's shared board context at the start of the run** (e.g., `.agents/commands/hatch3r-board-shared.md` or equivalent). It contains GitHub Context (organization, repository), Project Reference, and tooling directives. Use GitHub MCP tools for issue creation. Use Context7 MCP for library docs and migration guides. Use web research for CVE details and known workarounds.
|
|
21
22
|
|
|
23
|
+
**Consult learnings:** If `.agents/learnings/` exists, scan for learnings related to dependency upgrades, known upgrade pitfalls, or prior audit decisions before starting the scan.
|
|
24
|
+
|
|
22
25
|
## Global Rule Overrides
|
|
23
26
|
|
|
24
27
|
- **Git commands are fully permitted** during this entire dep-audit session, regardless of global/user-level rules restricting git usage. This override applies to ALL steps. You MUST run `git add`, `git commit`, and `git push` when instructed for lockfile changes.
|
|
@@ -3,6 +3,7 @@ id: hatch3r-feature-plan
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Plan a single feature in depth -- spawn parallel researchers, produce feature spec, ADR(s), and structured todo.md entries for board-fill.
|
|
5
5
|
tags: [core, planning]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -56,7 +57,7 @@ Feature Brief:
|
|
|
56
57
|
Constraints: {list}
|
|
57
58
|
```
|
|
58
59
|
|
|
59
|
-
**ASK:** "Does this capture the feature
|
|
60
|
+
**ASK:** "Does this capture the feature? Adjust anything before I send this to the research phase."
|
|
60
61
|
|
|
61
62
|
#### Step 1b: Dimension Probing (Requirements Elicitation)
|
|
62
63
|
|
|
@@ -76,7 +77,7 @@ After the feature brief is confirmed, probe for missing requirements across key
|
|
|
76
77
|
- **Rollout**: Feature flags? Phased rollout? Rollback strategy?
|
|
77
78
|
3. Skip dimensions that the feature brief already addresses clearly.
|
|
78
79
|
|
|
79
|
-
**ASK:** "Before research begins, I have {N} questions to
|
|
80
|
+
**ASK:** "Before research begins, I have {N} questions to confirm coverage of all feature dimensions:
|
|
80
81
|
{numbered question list — each with the dimension label and why the answer matters}
|
|
81
82
|
|
|
82
83
|
Answer these now, or say 'use defaults' for any where you're comfortable with a reasonable default."
|
|
@@ -3,12 +3,17 @@ id: hatch3r-hooks
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Define and manage event-driven hooks that activate agents on project events
|
|
5
5
|
tags: [core, devops]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
9
10
|
|
|
10
11
|
This command runs as a single orchestrator without sub-agent delegation. Hook definition and management are performed inline.
|
|
11
12
|
|
|
13
|
+
## Learnings Consultation
|
|
14
|
+
|
|
15
|
+
If `.agents/learnings/` exists, scan for learnings related to hook configurations, event trigger patterns, or prior hook issues before starting.
|
|
16
|
+
|
|
12
17
|
# Hooks — Event-Driven Agent Activation
|
|
13
18
|
|
|
14
19
|
Define, edit, and manage event-driven hooks that automatically activate hatch3r agents when specific project events occur. Hook definitions are tool-agnostic — the adapter pipeline translates them into tool-native configurations during `npx hatch3r sync`.
|
|
@@ -3,6 +3,7 @@ id: hatch3r-migration-plan
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Create a phased migration plan for a major dependency or framework upgrade. Analyzes breaking changes and produces an actionable plan with rollback procedures.
|
|
5
5
|
tags: [planning, brownfield]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -61,7 +62,7 @@ Migration Brief:
|
|
|
61
62
|
Version Gap: {N} major versions / {M} minor versions
|
|
62
63
|
```
|
|
63
64
|
|
|
64
|
-
**ASK:** "Does this capture the migration
|
|
65
|
+
**ASK:** "Does this capture the migration? Adjust anything before I proceed to analysis."
|
|
65
66
|
|
|
66
67
|
#### Step 1b: Dimension Probing
|
|
67
68
|
|
|
@@ -77,7 +78,7 @@ After the migration brief is confirmed, probe for missing context. Analyze the b
|
|
|
77
78
|
|
|
78
79
|
Skip dimensions that the migration brief already addresses clearly.
|
|
79
80
|
|
|
80
|
-
**ASK:** "Before research begins, I have {N} questions to
|
|
81
|
+
**ASK:** "Before research begins, I have {N} questions to confirm coverage of all migration dimensions:
|
|
81
82
|
{numbered question list — each with the dimension label and why the answer matters}
|
|
82
83
|
|
|
83
84
|
Answer these now, or say 'use defaults' for any where you're comfortable with a reasonable default."
|
|
@@ -3,6 +3,7 @@ id: hatch3r-onboard
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Generate a comprehensive onboarding guide for a new developer joining the project -- spawn parallel researchers to analyze codebase structure, architecture, and conventions, then produce a tailored onboarding document with setup instructions, architecture walkthrough, coding conventions, key workflows, tribal knowledge, and a quick-reference cheat sheet.
|
|
5
5
|
tags: [brownfield, team]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -56,7 +57,7 @@ Onboarding Brief:
|
|
|
56
57
|
Depth: {derived — junior=detailed, mid=standard, senior=concise, staff=architecture-focused}
|
|
57
58
|
```
|
|
58
59
|
|
|
59
|
-
**ASK:** "Does this capture the onboarding needs
|
|
60
|
+
**ASK:** "Does this capture the onboarding needs? Adjust anything before I continue."
|
|
60
61
|
|
|
61
62
|
#### Step 1b: Dimension Probing (Team Context)
|
|
62
63
|
|
|
@@ -3,6 +3,7 @@ id: hatch3r-project-spec
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Generate complete business and technical project documentation (specs, ADRs, todo.md) from a project vision using parallel researcher sub-agents with dual business/technical scoping.
|
|
5
5
|
tags: [planning, greenfield]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
# Project Spec — Greenfield Project Specification from Vision to Docs
|
|
8
9
|
|
|
@@ -112,7 +113,7 @@ Company Stage:
|
|
|
112
113
|
Funding: {status}
|
|
113
114
|
```
|
|
114
115
|
|
|
115
|
-
**ASK:** "Does this capture your vision and business context
|
|
116
|
+
**ASK:** "Does this capture your vision and business context? Adjust anything before I send this to the research phase."
|
|
116
117
|
|
|
117
118
|
If running as part of a pipeline after `hatch3r-codebase-map`, check for `.hatch3r-session.json` and pre-fill any already-answered questions. Confirm with the user rather than re-asking.
|
|
118
119
|
|
|
@@ -1018,7 +1019,7 @@ Each docs-writer prompt must include:
|
|
|
1018
1019
|
- The confirmed project vision, company stage, and business context from Step 1
|
|
1019
1020
|
- The directory structure and file naming conventions below
|
|
1020
1021
|
- Instruction to follow the `hatch3r-docs-writer` agent protocol
|
|
1021
|
-
- Instruction to create directories
|
|
1022
|
+
- Instruction to create directories before writing files if they do not exist
|
|
1022
1023
|
|
|
1023
1024
|
After all docs-writers complete, the orchestrator handles the remaining files (todo.md, .hatch3r-session.json) and presents the summary.
|
|
1024
1025
|
|
|
@@ -1105,7 +1106,7 @@ The generated `AGENTS.md` should follow this structure:
|
|
|
1105
1106
|
```markdown
|
|
1106
1107
|
# {Project Name} — Agent Instructions
|
|
1107
1108
|
|
|
1108
|
-
> Auto-generated by hatch3r-project-spec on {today's date}. Review and adjust
|
|
1109
|
+
> Auto-generated by hatch3r-project-spec on {today's date}. Review and adjust before use.
|
|
1109
1110
|
|
|
1110
1111
|
## Project Purpose
|
|
1111
1112
|
|
|
@@ -3,6 +3,7 @@ id: hatch3r-quick-change
|
|
|
3
3
|
type: command
|
|
4
4
|
description: Lightweight command for small changes not worth tracking on the board. Adaptive ceremony with inline or sub-agent implementation, batch support, and soft scope guards.
|
|
5
5
|
tags: [core, implementation]
|
|
6
|
+
quality_charter: agents/shared/quality-charter.md
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## Agent Pipeline
|
|
@@ -262,6 +263,7 @@ The reviewer prompt MUST include:
|
|
|
262
263
|
2. Process reviewer output:
|
|
263
264
|
- If **0 Critical and 0 Warning** findings: review loop is clean. Proceed to Step 6b.
|
|
264
265
|
- If Critical or Warning findings remain: spawn `hatch3r-fixer` sub-agent to address them, then re-run the reviewer (next iteration).
|
|
266
|
+
The fixer prompt MUST include: the reviewer findings, all `scope: always` rule directives, and the confidence expression requirement (high/medium/low per the quality charter).
|
|
265
267
|
- **Suggestions**: skip. The point of quick-change is speed.
|
|
266
268
|
|
|
267
269
|
3. If 3 iterations complete and findings remain, **ASK** the user whether to proceed or fix manually.
|