hatch3r 1.8.0 → 1.9.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 +36 -55
- package/dist/cli/index.js +13073 -14671
- package/dist/cli/index.js.map +1 -1
- package/{agents → dist/content/agents}/hatch3r-a11y-auditor.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-ci-watcher.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-context-rules.md +5 -5
- package/{agents → dist/content/agents}/hatch3r-creator.md +15 -15
- package/{agents → dist/content/agents}/hatch3r-dependency-auditor.md +1 -1
- package/{agents → dist/content/agents}/hatch3r-devops.md +3 -3
- package/{agents → dist/content/agents}/hatch3r-fixer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-handoff-loader.md +11 -11
- package/{agents → dist/content/agents}/hatch3r-handoff-preparer.md +7 -7
- package/{agents → dist/content/agents}/hatch3r-implementer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-learnings-loader.md +11 -11
- package/{agents → dist/content/agents}/hatch3r-lint-fixer.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-researcher.md +3 -3
- package/{agents → dist/content/agents}/hatch3r-reviewer.md +4 -4
- package/{agents → dist/content/agents}/hatch3r-security-auditor.md +2 -2
- package/{agents → dist/content/agents}/hatch3r-test-writer.md +2 -2
- package/{agents → dist/content/agents}/shared/external-knowledge.md +1 -1
- package/{agents → dist/content/agents}/shared/injection-patterns.md +1 -1
- package/{agents → dist/content/agents}/shared/quality-charter.md +31 -3
- package/{agents → dist/content/agents}/shared/user-content-templates.md +10 -10
- package/{agents → dist/content/agents}/shared/user-question-protocol.md +2 -0
- package/{commands → dist/content/commands}/board/pickup-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-delegation-multi.md +4 -4
- package/{commands → dist/content/commands}/board/pickup-delegation.md +3 -3
- package/{commands → dist/content/commands}/board/pickup-github.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-gitlab.md +1 -1
- package/{commands → dist/content/commands}/board/pickup-post-impl.md +2 -2
- package/{commands → dist/content/commands}/board/shared-azure-devops.md +1 -1
- package/{commands → dist/content/commands}/board/shared-github.md +2 -2
- package/{commands → dist/content/commands}/board/shared-gitlab.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-api-spec.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-benchmark.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-board-fill.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-board-pickup.md +6 -6
- package/{commands → dist/content/commands}/hatch3r-bug-plan.md +5 -5
- package/{commands → dist/content/commands}/hatch3r-codebase-map.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-create.md +11 -11
- package/{commands → dist/content/commands}/hatch3r-debug.md +11 -11
- package/{commands → dist/content/commands}/hatch3r-feature-plan.md +5 -5
- package/{commands → dist/content/commands}/hatch3r-handoff.md +9 -9
- package/{commands → dist/content/commands}/hatch3r-healthcheck.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-hooks.md +12 -12
- package/{commands → dist/content/commands}/hatch3r-learn.md +11 -11
- package/{commands → dist/content/commands}/hatch3r-migration-plan.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-onboard.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-pr-resolve.md +8 -8
- package/{commands → dist/content/commands}/hatch3r-project-spec.md +3 -3
- package/{commands → dist/content/commands}/hatch3r-quick-change.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-refactor-plan.md +4 -4
- package/{commands → dist/content/commands}/hatch3r-report.md +1 -1
- package/{commands → dist/content/commands}/hatch3r-revision.md +7 -7
- package/{commands → dist/content/commands}/hatch3r-roadmap.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-security-audit.md +2 -2
- package/{commands → dist/content/commands}/hatch3r-test-plan.md +5 -5
- package/{commands → dist/content/commands}/hatch3r-workflow.md +9 -9
- package/{commands → dist/content/commands}/revision/revision-delegation.md +2 -2
- package/{commands → dist/content/commands}/revision/revision-quality.md +2 -2
- package/{github-agents → dist/content/github-agents}/hatch3r-docs-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-lint-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-security-agent.md +1 -1
- package/{github-agents → dist/content/github-agents}/hatch3r-test-agent.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-ci-failure.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-file-save.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-post-merge.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-commit.md +1 -1
- package/{hooks → dist/content/hooks}/hatch3r-pre-push.md +3 -3
- package/{hooks → dist/content/hooks}/hatch3r-session-start.md +3 -3
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-accessibility-standards.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.md +2 -2
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration-detail.mdc +1 -1
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration.md +2 -2
- package/{rules → dist/content/rules}/hatch3r-agent-orchestration.mdc +1 -1
- package/{rules → dist/content/rules}/hatch3r-ai-evals.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-ai-evals.mdc +2 -1
- package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-api-versioning.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-api-versioning.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-auth-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-browser-verification.md +6 -10
- package/{rules → dist/content/rules}/hatch3r-browser-verification.mdc +6 -10
- package/{rules → dist/content/rules}/hatch3r-ci-cd.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-ci-cd.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-code-standards.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-component-conventions.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-container-hardening.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-container-hardening.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-contract-testing.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-contract-testing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-data-classification.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-data-classification.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-deep-context.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-dependency-management.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-dependency-management.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-design-system-detection.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-event-schema-evolution.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-git-conventions.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.md +4 -4
- package/{rules → dist/content/rules}/hatch3r-handoff-readiness.mdc +3 -3
- package/{rules → dist/content/rules}/hatch3r-i18n.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-iteration-summary.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-learning-consult.md +7 -7
- package/{rules → dist/content/rules}/hatch3r-learning-consult.mdc +6 -6
- package/{rules → dist/content/rules}/hatch3r-migrations.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-migrations.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-logging.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-logging.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-metrics.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-tracing.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-observability-tracing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-operability.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-operability.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-passkey-server.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-passkey-server.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-performance-budgets.mdc +1 -1
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.md +1 -0
- package/{rules → dist/content/rules}/hatch3r-resilience-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-secrets-management.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-secrets-management.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-security-patterns.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-security-patterns.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-testing.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-testing.mdc +1 -0
- package/{rules → dist/content/rules}/hatch3r-theming.md +1 -1
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.md +4 -4
- package/{rules → dist/content/rules}/hatch3r-tooling-hierarchy.mdc +3 -3
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.md +2 -1
- package/{rules → dist/content/rules}/hatch3r-ux-states-and-flows.mdc +1 -0
- package/{skills → dist/content/skills}/hatch3r-a11y-audit/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-architecture-review/SKILL.md +1 -1
- package/{commands/hatch3r-board-groom.md → dist/content/skills/hatch3r-board-groom/SKILL.md} +5 -18
- package/{commands/hatch3r-board-init.md → dist/content/skills/hatch3r-board-init/SKILL.md} +17 -30
- package/{commands/hatch3r-board-refresh.md → dist/content/skills/hatch3r-board-refresh/SKILL.md} +5 -18
- package/{commands/hatch3r-board-shared.md → dist/content/skills/hatch3r-board-shared/SKILL.md} +7 -14
- package/{skills → dist/content/skills}/hatch3r-bug-fix/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-fd/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-fzf/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-cli-gh/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-cli-jq/SKILL.md +3 -3
- package/{skills → dist/content/skills}/hatch3r-cli-ripgrep/SKILL.md +3 -3
- package/dist/content/skills/hatch3r-cli-toolbox/SKILL.md +269 -0
- package/{skills → dist/content/skills}/hatch3r-context-health/SKILL.md +18 -2
- package/{skills → dist/content/skills}/hatch3r-cost-tracking/SKILL.md +59 -7
- package/{skills → dist/content/skills}/hatch3r-customize/SKILL.md +5 -6
- package/{skills → dist/content/skills}/hatch3r-dep-audit/SKILL.md +6 -2
- package/{skills → dist/content/skills}/hatch3r-design-system-detect/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-feature/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/azure-devops.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-gh-agentic-workflows/references/gitlab-ci.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-handoff-prepare/SKILL.md +9 -9
- package/{skills → dist/content/skills}/hatch3r-handoff-resume/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-incident-response/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-issue-workflow/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-migration/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-observability-verify/SKILL.md +0 -1
- package/{skills → dist/content/skills}/hatch3r-perf-audit/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-pr-creation/SKILL.md +4 -4
- package/{skills → dist/content/skills}/hatch3r-qa-validation/SKILL.md +2 -2
- package/{skills → dist/content/skills}/hatch3r-recipe/SKILL.md +82 -2
- package/{skills → dist/content/skills}/hatch3r-refactor/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-release/SKILL.md +35 -2
- package/{skills → dist/content/skills}/hatch3r-ui-ux-verify/SKILL.md +1 -1
- package/{skills → dist/content/skills}/hatch3r-visual-refactor/SKILL.md +1 -1
- package/package.json +6 -18
- package/commands/hatch3r-agent-customize.md +0 -201
- package/commands/hatch3r-command-customize.md +0 -113
- package/commands/hatch3r-context-health.md +0 -147
- package/commands/hatch3r-cost-tracking.md +0 -163
- package/commands/hatch3r-dep-audit.md +0 -188
- package/commands/hatch3r-recipe.md +0 -194
- package/commands/hatch3r-release.md +0 -350
- package/commands/hatch3r-rule-customize.md +0 -133
- package/commands/hatch3r-skill-customize.md +0 -112
- package/prompts/hatch3r-bug-triage.md +0 -158
- package/prompts/hatch3r-code-review.md +0 -134
- package/prompts/hatch3r-pr-description.md +0 -176
- package/rules/hatch3r-observability-tracing-detail.md +0 -20
- package/rules/hatch3r-observability-tracing-detail.mdc +0 -14
- package/rules/hatch3r-observability.md +0 -20
- package/rules/hatch3r-observability.mdc +0 -14
- package/skills/hatch3r-agent-customize/SKILL.md +0 -23
- package/skills/hatch3r-cli-aichat/SKILL.md +0 -84
- package/skills/hatch3r-cli-ast-grep/SKILL.md +0 -85
- package/skills/hatch3r-cli-az-devops/SKILL.md +0 -89
- package/skills/hatch3r-cli-bat/SKILL.md +0 -85
- package/skills/hatch3r-cli-comby/SKILL.md +0 -85
- package/skills/hatch3r-cli-csvkit/SKILL.md +0 -84
- package/skills/hatch3r-cli-delta/SKILL.md +0 -86
- package/skills/hatch3r-cli-difftastic/SKILL.md +0 -84
- package/skills/hatch3r-cli-docker/SKILL.md +0 -89
- package/skills/hatch3r-cli-duckdb/SKILL.md +0 -84
- package/skills/hatch3r-cli-glab/SKILL.md +0 -89
- package/skills/hatch3r-cli-lazygit/SKILL.md +0 -78
- package/skills/hatch3r-cli-llm/SKILL.md +0 -84
- package/skills/hatch3r-cli-miller/SKILL.md +0 -84
- package/skills/hatch3r-cli-mods/SKILL.md +0 -84
- package/skills/hatch3r-cli-overview/SKILL.md +0 -60
- package/skills/hatch3r-cli-playwright/SKILL.md +0 -89
- package/skills/hatch3r-cli-podman/SKILL.md +0 -84
- package/skills/hatch3r-cli-qsv/SKILL.md +0 -91
- package/skills/hatch3r-cli-rtk/SKILL.md +0 -91
- package/skills/hatch3r-cli-sd/SKILL.md +0 -85
- package/skills/hatch3r-cli-stagehand/SKILL.md +0 -111
- package/skills/hatch3r-cli-taplo/SKILL.md +0 -84
- package/skills/hatch3r-cli-yq/SKILL.md +0 -85
- package/skills/hatch3r-cli-zstd/SKILL.md +0 -85
- package/skills/hatch3r-command-customize/SKILL.md +0 -23
- package/skills/hatch3r-rule-customize/SKILL.md +0 -23
- package/skills/hatch3r-skill-customize/SKILL.md +0 -23
- /package/{agents → dist/content/agents}/hatch3r-architect.md +0 -0
- /package/{agents → dist/content/agents}/hatch3r-docs-writer.md +0 -0
- /package/{agents → dist/content/agents}/hatch3r-perf-profiler.md +0 -0
- /package/{agents → dist/content/agents}/modes/architecture.md +0 -0
- /package/{agents → dist/content/agents}/modes/boundary-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/codebase-impact.md +0 -0
- /package/{agents → dist/content/agents}/modes/complexity-risk.md +0 -0
- /package/{agents → dist/content/agents}/modes/coverage-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/current-state.md +0 -0
- /package/{agents → dist/content/agents}/modes/feature-design.md +0 -0
- /package/{agents → dist/content/agents}/modes/impact-analysis.md +0 -0
- /package/{agents → dist/content/agents}/modes/library-docs.md +0 -0
- /package/{agents → dist/content/agents}/modes/migration-path.md +0 -0
- /package/{agents → dist/content/agents}/modes/prior-art.md +0 -0
- /package/{agents → dist/content/agents}/modes/refactoring-strategy.md +0 -0
- /package/{agents → dist/content/agents}/modes/regression.md +0 -0
- /package/{agents → dist/content/agents}/modes/requirements-elicitation.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-assessment.md +0 -0
- /package/{agents → dist/content/agents}/modes/risk-prioritization.md +0 -0
- /package/{agents → dist/content/agents}/modes/root-cause.md +0 -0
- /package/{agents → dist/content/agents}/modes/similar-implementation.md +0 -0
- /package/{agents → dist/content/agents}/modes/symptom-trace.md +0 -0
- /package/{agents → dist/content/agents}/modes/test-pattern.md +0 -0
- /package/{agents → dist/content/agents}/modes/user-flows.md +0 -0
- /package/{agents → dist/content/agents}/shared/efficiency-patterns.md +0 -0
- /package/{agents → dist/content/agents}/shared/prompt-structure.md +0 -0
- /package/{checks → dist/content/checks}/README.md +0 -0
- /package/{checks → dist/content/checks}/accessibility.md +0 -0
- /package/{checks → dist/content/checks}/code-quality.md +0 -0
- /package/{checks → dist/content/checks}/performance.md +0 -0
- /package/{checks → dist/content/checks}/security.md +0 -0
- /package/{checks → dist/content/checks}/testing.md +0 -0
- /package/{commands → dist/content/commands}/board/pickup-modes.md +0 -0
- /package/{commands → dist/content/commands}/board/shared-board-overview.md +0 -0
- /package/{commands → dist/content/commands}/revision/revision-board-integration.md +0 -0
- /package/{commands → dist/content/commands}/revision/revision-modes.md +0 -0
- /package/{mcp → dist/content/mcp}/mcp.json +0 -0
- /package/{rules → dist/content/rules}/hatch3r-ai-ux-patterns.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-api-design.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-api-design.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-code-standards.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-component-conventions.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-deep-context.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-feature-flags.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-feature-flags.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-git-conventions.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-i18n.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-iteration-summary.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.md +0 -0
- /package/{rules → dist/content/rules}/hatch3r-progressive-delivery.mdc +0 -0
- /package/{rules → dist/content/rules}/hatch3r-theming.mdc +0 -0
- /package/{skills → dist/content/skills}/hatch3r-a11y-audit/references/manual-audit-checklist.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-ai-feature/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-api-spec/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-ci-pipeline/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-issue-workflow/references/delegation-patterns.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-logical-refactor/SKILL.md +0 -0
- /package/{skills → dist/content/skills}/hatch3r-reliability-verify/SKILL.md +0 -0
|
@@ -6,6 +6,8 @@ efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
|
6
6
|
cache_friendly: true
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
> Last updated: 2026-05-26
|
|
10
|
+
|
|
9
11
|
## Agent Quality Charter
|
|
10
12
|
|
|
11
13
|
All agents operating under hatch3r should embody these behavioral standards. This charter is the single source of truth for agent conduct — referenced by content artifacts and verified by the weekly audit cycle.
|
|
@@ -60,6 +62,8 @@ Every recommendation should account for its impact on:
|
|
|
60
62
|
|
|
61
63
|
When stakeholder interests conflict, note the tradeoff explicitly and recommend based on the project's stated priorities.
|
|
62
64
|
|
|
65
|
+
Apply the subset of stakeholders relevant to the project's declared maturity tier (solo / team / scaleup / enterprise per `hatch3r config maturity`). **Solo:** end user + maintaining developer (you). **Team:** + team lead. **Scaleup:** + ops team. **Enterprise:** + compliance + security review. When the tier is unknown, default to solo and ask via `agents/shared/user-question-protocol.md`.
|
|
66
|
+
|
|
63
67
|
### 6. Fail Gracefully
|
|
64
68
|
|
|
65
69
|
When prerequisites are missing, inputs are invalid, or unexpected conditions arise:
|
|
@@ -98,7 +102,11 @@ When modifying code that is consumed by other modules, agents, or external syste
|
|
|
98
102
|
- If a contract change is necessary, document it explicitly in the structured output and flag for reviewer attention.
|
|
99
103
|
- Prefer additive changes (new optional fields, overloaded signatures) over breaking changes.
|
|
100
104
|
|
|
101
|
-
### 10.
|
|
105
|
+
### 10. Consult Prior Learnings
|
|
106
|
+
|
|
107
|
+
Before answering project-specific questions about prior work, decisions, or resolved issues, read `.hatch3r/learnings/INDEX.md` (when present) and any topic-applies index entries matched against the current task. Cite the consulted entry IDs in the structured output. Implementer + Reviewer + Researcher agents are bound; other roles consult when context applies.
|
|
108
|
+
|
|
109
|
+
### 11. Standardized Iteration Summary
|
|
102
110
|
|
|
103
111
|
Every user-facing iteration ends with the canonical Iteration Summary block defined in `rules/hatch3r-iteration-summary.md`.
|
|
104
112
|
|
|
@@ -106,6 +114,26 @@ Required fields: Status (closed enum: SUCCESS | PARTIAL | FAILED | BLOCKED), Out
|
|
|
106
114
|
|
|
107
115
|
Never substitute a prose paragraph for the block. Never silently skip Not Done — if scope was fully completed, write `None — full scope completed`. Never inflate confidence — if you did not verify, say medium and name the unknown.
|
|
108
116
|
|
|
117
|
+
### 12. Anti-Duplication Procedure
|
|
118
|
+
|
|
119
|
+
Before writing implementation code: run a codebase pattern search (grep for similar function names, similar type shapes, similar comment headers); report findings in the structured output. After writing: run a duplication scan (jscpd or equivalent) against the affected directories; flag any block matching ≥30 lines or ≥80% similarity with existing code. Refactor or justify before merge; silent duplication is a P4 violation.
|
|
120
|
+
|
|
121
|
+
### 13. Adversarial Thinking
|
|
122
|
+
|
|
123
|
+
For any non-trivial design choice, hold an internal adversarial review: what is the strongest case AGAINST this approach? What edge case breaks it? What stakeholder loses under this choice? Surface the counter-argument in the structured output alongside the chosen approach.
|
|
124
|
+
|
|
125
|
+
### 14. Severity Discipline
|
|
126
|
+
|
|
127
|
+
When classifying issues (bugs, code smells, design concerns), apply the severity taxonomy from `governance/AUDIT.md` §Severity Taxonomy (Critical / High / Medium / Low / Info). Calibrate against blast radius + reversibility + user impact. Critical reserved for production-blocking; Low/Info for cosmetic-only.
|
|
128
|
+
|
|
129
|
+
### 15. Currency Verification
|
|
130
|
+
|
|
131
|
+
Every external claim (library version, API behavior, platform feature) is verified against current official documentation (≤180 days). When sources conflict, prefer the publication with the most recent access date. CLI tools (`gh`, `curl`, `jq`) preferred over training-data recall.
|
|
132
|
+
|
|
133
|
+
### 16. Senior-Engineer Outside-In Posture
|
|
134
|
+
|
|
135
|
+
Approach every task from the perspective of a senior engineer with an outside-in user-facing perspective: the user judges by user-visible quality (UI/UX, performance, error recovery), not internal cleverness. Solve for user-visible quality first; refactor for maintainability second. When trade-offs surface between internal elegance and user-facing correctness, choose user-facing correctness.
|
|
136
|
+
|
|
109
137
|
### UI/UX quality (for agent-produced output in end-user projects)
|
|
110
138
|
|
|
111
139
|
When an agent produces UI for an end-user project, the charter binds it to these criteria. Each is measurable; each is a regression if missed.
|
|
@@ -123,8 +151,8 @@ Cross-reference: this section is audited under D10 SA10.9 (`governance/audit/dom
|
|
|
123
151
|
|
|
124
152
|
When an agent produces a service that handles a request, the charter binds it to these criteria. Each is measurable.
|
|
125
153
|
|
|
126
|
-
- **OpenTelemetry spans on request path:** every inbound request and every outbound call (DB, HTTP, queue, RPC) emits an OTel span with `trace_id` and `span_id` propagated end-to-end; instrumented-route ratio = 100% (no silent paths). Reference `rules/hatch3r-observability.md`.
|
|
127
|
-
- **Structured logs with trace correlation:** every log line is JSON, carries `trace_id`, includes service name + version + environment, and uses log levels mapped to severity. Stack traces emitted on `error`. Reference `rules/hatch3r-observability.md`.
|
|
154
|
+
- **OpenTelemetry spans on request path:** every inbound request and every outbound call (DB, HTTP, queue, RPC) emits an OTel span with `trace_id` and `span_id` propagated end-to-end; instrumented-route ratio = 100% (no silent paths). Reference `rules/hatch3r-observability-tracing.md` and `rules/hatch3r-observability-logging.md`.
|
|
155
|
+
- **Structured logs with trace correlation:** every log line is JSON, carries `trace_id`, includes service name + version + environment, and uses log levels mapped to severity. Stack traces emitted on `error`. Reference `rules/hatch3r-observability-tracing.md` and `rules/hatch3r-observability-logging.md`.
|
|
128
156
|
- **RED + USE metrics on user-facing services:** Rate, Errors, Duration per route plus Utilization, Saturation, Errors per resource. Histograms over averages on latency.
|
|
129
157
|
- **SLO with multi-window multi-burn-rate alerts:** every user-facing service declares an availability + latency SLO; alerts use the 2%/5%/10% multi-window multi-burn-rate pattern (Google SRE workbook), not raw threshold alerts.
|
|
130
158
|
- **Error tracker with PII scrubbing:** Sentry-class tooling with source-map upload, release tag, environment tag, and an allowlist scrubber for known PII fields before egress.
|
|
@@ -12,7 +12,7 @@ Canonical reference for the body and frontmatter shapes `hatch3r-creator` produc
|
|
|
12
12
|
|
|
13
13
|
### 1. Agent Skeleton
|
|
14
14
|
|
|
15
|
-
**Path:** `.
|
|
15
|
+
**Path:** `.hatch3r/overrides/agents/<NAME>.md`. **Required:** `id`, `description`, `model`, `tags`. **Optional:** `protected` (always `false` for user agents), `quality_charter` (auto-injected), `adapters` (restricts adapter propagation when present).
|
|
16
16
|
|
|
17
17
|
```yaml
|
|
18
18
|
---
|
|
@@ -84,7 +84,7 @@ The three sections above (Confidence Expression, Failure Modes, Quality Charter)
|
|
|
84
84
|
|
|
85
85
|
### 2. Skill Skeleton
|
|
86
86
|
|
|
87
|
-
**Path:** `.
|
|
87
|
+
**Path:** `.hatch3r/overrides/skills/<NAME>/SKILL.md` inside a new directory created via `mkdir -p`. The layout matches the canonical pattern at `skills/hatch3r-<name>/SKILL.md`. **Required:** `id`, `description`, `tags`. **Optional:** `quality_charter` (auto-injected).
|
|
88
88
|
|
|
89
89
|
```yaml
|
|
90
90
|
---
|
|
@@ -125,7 +125,7 @@ Recommended step count: 3-7. Skills with more than 7 steps trigger a gentle warn
|
|
|
125
125
|
|
|
126
126
|
### 3. Rule Skeleton
|
|
127
127
|
|
|
128
|
-
**Path:** `.
|
|
128
|
+
**Path:** `.hatch3r/overrides/rules/<NAME>.md` plus the auto-generated companion `.hatch3r/overrides/rules/<NAME>.mdc`. The `.md` is canonical; `.mdc` is generated by `saveUserContent` using the `.md → .mdc` scope transform from `rules/hatch3r-content-authoring.md`. **Required:** `id`, `type`, `description`, `scope`, `tags`. **Required when scope=conditional:** `globs`. **Optional:** `precedence` (default `normal`), `quality_charter` (auto-injected).
|
|
129
129
|
|
|
130
130
|
Three scope shapes (pick one):
|
|
131
131
|
|
|
@@ -168,10 +168,10 @@ The body bytes of `.md` and `.mdc` must match exactly (paired-file parity is a s
|
|
|
168
168
|
|
|
169
169
|
### 4. Command Skeleton
|
|
170
170
|
|
|
171
|
-
**Path:** `.
|
|
171
|
+
**Path:** `.hatch3r/overrides/commands/<NAME>.md`. **Required:** `id`, `type`, `description`, `orchestrator`, `tags`. **Required when orchestrator=true:** `agentPipeline` (non-empty array). **Optional:** `quality_charter` (auto-injected). Two variants follow; pick by the `orchestrator` value.
|
|
172
172
|
|
|
173
173
|
```yaml
|
|
174
|
-
# 4a. Inline command — orchestrator: false. Modeled after commands/hatch3r-
|
|
174
|
+
# 4a. Inline command — orchestrator: false. Modeled after commands/hatch3r-debug.md.
|
|
175
175
|
---
|
|
176
176
|
id: <NAME>
|
|
177
177
|
type: command
|
|
@@ -183,7 +183,7 @@ quality_charter: agents/shared/quality-charter.md
|
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
```yaml
|
|
186
|
-
# 4b. Orchestrator command — orchestrator: true. Modeled after commands/hatch3r-board-
|
|
186
|
+
# 4b. Orchestrator command — orchestrator: true. Modeled after commands/hatch3r-board-fill.md.
|
|
187
187
|
---
|
|
188
188
|
id: <NAME>
|
|
189
189
|
type: command
|
|
@@ -245,7 +245,7 @@ The strict gate `validateCommandOrchestratorFrontmatter` (`src/cli/commands/vali
|
|
|
245
245
|
|
|
246
246
|
### 5. Hook Skeleton
|
|
247
247
|
|
|
248
|
-
**Path:** `.
|
|
248
|
+
**Path:** `.hatch3r/overrides/hooks/<NAME>.md`. **Required:** `id`, `type`, `event`, `agent`, `description`, `tags`. **Optional:** `globs` (file-save filtering), `condition`, `quality_charter` (auto-injected). **Event enum:** `pre-commit | post-merge | ci-failure | file-save | session-start | pre-push`, enforced by `isValidHookEvent` (`src/hooks/types.ts:30`).
|
|
249
249
|
|
|
250
250
|
```yaml
|
|
251
251
|
---
|
|
@@ -274,14 +274,14 @@ When this hook fires, the assigned agent should:
|
|
|
274
274
|
<DESCRIBES-WHAT-THE-AGENT-RETURNS-OR-WRITES>
|
|
275
275
|
```
|
|
276
276
|
|
|
277
|
-
The `agent` field must reference an existing agent — canonical (e.g., `lint-fixer` resolves to `agents/hatch3r-lint-fixer.md`) or under `.
|
|
277
|
+
The `agent` field must reference an existing agent — canonical (e.g., `lint-fixer` resolves to `agents/hatch3r-lint-fixer.md`) or under `.hatch3r/overrides/agents/`. Missing references are rejected at strict-gate time.
|
|
278
278
|
|
|
279
279
|
## Reference Implementations
|
|
280
280
|
|
|
281
|
-
For each user type, mirror the canonical shape below — minus the `hatch3r-` filename prefix; the user-tier path is always under `.
|
|
281
|
+
For each user type, mirror the canonical shape below — minus the `hatch3r-` filename prefix; the user-tier path is always under `.hatch3r/overrides/{type}/`:
|
|
282
282
|
|
|
283
283
|
- **Agent:** `agents/hatch3r-implementer.md` (full body) or `agents/hatch3r-fixer.md` (compact body).
|
|
284
284
|
- **Skill:** `skills/hatch3r-bug-fix/SKILL.md` or `skills/hatch3r-feature/SKILL.md`.
|
|
285
285
|
- **Rule:** `rules/hatch3r-deep-context.md` (`scope: always`) or `rules/hatch3r-component-conventions.md` (`scope: conditional`).
|
|
286
|
-
- **Command:** `commands/hatch3r-
|
|
286
|
+
- **Command:** `commands/hatch3r-debug.md` (inline) or `commands/hatch3r-board-fill.md` (orchestrator).
|
|
287
287
|
- **Hook:** `hooks/hatch3r-pre-commit.md` (with globs) or `hooks/hatch3r-session-start.md` (always-fire).
|
|
@@ -6,6 +6,8 @@ tags: [shared, ux, p1, p4]
|
|
|
6
6
|
cache_friendly: true
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
> Last updated: 2026-05-26
|
|
10
|
+
|
|
9
11
|
## Purpose
|
|
10
12
|
|
|
11
13
|
This protocol defines how hatch3r agents and commands surface clarifying or triage questions to the user across the 15 supported AI coding platforms. It is the single source of truth for the *how* of asking; the *whether* is governed by [quality-charter §3 "Question Unclear Requirements"](./quality-charter.md) and §8 "Escalate Ambiguity Early". Files that reference this protocol: the requirements-elicitation mode (`agents/modes/requirements-elicitation.md`), the five ASK-checkpoint commands, and the four ask-prone agents — researcher, fixer, architect, implementer.
|
|
@@ -56,7 +56,7 @@ Follow the **Azure Boards Work Item State Sync** from `commands/board/shared-azu
|
|
|
56
56
|
**Create PR:**
|
|
57
57
|
`az repos pr create --org https://dev.azure.com/{namespace} --project {project} --source-branch {branch} --target-branch {base} --title "..." --description "..."` (fall back to `create_pull_request` MCP).
|
|
58
58
|
|
|
59
|
-
`{base}` = `board.defaultBranch` from `.
|
|
59
|
+
`{base}` = `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
60
60
|
|
|
61
61
|
**Link PR to epic:**
|
|
62
62
|
`az boards work-item relation add --id {epic_id} --relation-type "ArtifactLink" --target-id {pr_id}` or link via PR description.
|
|
@@ -78,8 +78,8 @@ For each dependency level, starting at Level 1:
|
|
|
78
78
|
- **Blast radius data** from enhanced `codebase-impact` (Tier 3) — transitive dependency trace and API consumer map.
|
|
79
79
|
- Documentation references relevant to this sub-issue.
|
|
80
80
|
- Instruction to follow the hatch3r-implementer agent protocol.
|
|
81
|
-
- All `scope: always` rule directives from
|
|
82
|
-
- Relevant learnings from `.
|
|
81
|
+
- All `scope: always` rule directives from `rules/` — subagents do not inherit rules automatically.
|
|
82
|
+
- Relevant learnings from `.hatch3r/learnings/` (from Step 6.pre).
|
|
83
83
|
- Instruction to use GitHub MCP for issue reads, and follow the project's tooling hierarchy for external knowledge augmentation.
|
|
84
84
|
- Explicit instruction: do NOT create branches, commits, or PRs.
|
|
85
85
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
@@ -147,8 +147,8 @@ For each dependency level, starting at Level 1:
|
|
|
147
147
|
- **Blast radius data** from enhanced `codebase-impact` (Tier 3).
|
|
148
148
|
- Documentation references relevant to this issue.
|
|
149
149
|
- Instruction to follow the **hatch3r-implementer agent protocol**.
|
|
150
|
-
- All `scope: always` rule directives from
|
|
151
|
-
- Relevant learnings from `.
|
|
150
|
+
- All `scope: always` rule directives from `rules/` — subagents do not inherit rules automatically.
|
|
151
|
+
- Relevant learnings from `.hatch3r/learnings/` (from Step 6.pre).
|
|
152
152
|
- Explicit instruction: do NOT create branches, commits, or PRs.
|
|
153
153
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
154
154
|
|
|
@@ -57,8 +57,8 @@ The implementer sub-agent prompt MUST include:
|
|
|
57
57
|
- **Blast radius data** from enhanced `codebase-impact` (Tier 3) — transitive dependency trace and API consumer map.
|
|
58
58
|
- Documentation references relevant to this issue.
|
|
59
59
|
- Instruction to follow the **hatch3r-implementer agent protocol**.
|
|
60
|
-
- All `scope: always` rule directives from
|
|
61
|
-
- Relevant learnings from `.
|
|
60
|
+
- All `scope: always` rule directives from `rules/` — subagents do not inherit rules automatically.
|
|
61
|
+
- Relevant learnings from `.hatch3r/learnings/` (from Step 6.pre).
|
|
62
62
|
- Explicit instruction: do NOT create branches, commits, or PRs.
|
|
63
63
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
64
64
|
|
|
@@ -97,7 +97,7 @@ Launch as many independent sub-agents in parallel as the platform supports.
|
|
|
97
97
|
|
|
98
98
|
Each specialist sub-agent prompt MUST include:
|
|
99
99
|
- The agent protocol to follow (e.g., "Follow the hatch3r-reviewer agent protocol").
|
|
100
|
-
- All `scope: always` rule directives from
|
|
100
|
+
- All `scope: always` rule directives from `rules/` (subagents do not inherit rules automatically).
|
|
101
101
|
- The diff or file changes to review.
|
|
102
102
|
- The issue's acceptance criteria.
|
|
103
103
|
- Confidence expression requirement: rate every recommendation and finding as high/medium/low confidence per the quality charter (`agents/shared/quality-charter.md`). High = verified against current code. Medium = pattern-based, not fully verified. Low = best judgment, recommend human review.
|
|
@@ -56,7 +56,7 @@ Follow the **GitHub Projects V2 Sync** from `commands/board/shared-github.md` fo
|
|
|
56
56
|
**Create PR:**
|
|
57
57
|
`gh pr create -R {owner}/{repo} --head {branch} --base {base} --title "..." --body "..."` (fall back to `create_pull_request` MCP).
|
|
58
58
|
|
|
59
|
-
`{base}` = `board.defaultBranch` from `.
|
|
59
|
+
`{base}` = `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
60
60
|
|
|
61
61
|
**Link PR to epic:**
|
|
62
62
|
`gh issue comment {epic} -R {owner}/{repo} --body "PR: #{pr_number}"` (fall back to `add_issue_comment` MCP).
|
|
@@ -56,7 +56,7 @@ Follow the **GitLab Board Label-Based Sync** from `commands/board/shared-gitlab.
|
|
|
56
56
|
**Create MR:**
|
|
57
57
|
`glab mr create -R {namespace}/{project} --source-branch {branch} --target-branch {base} --title "..." --description "..."`. Use `Closes #N` syntax in the description for auto-close on merge.
|
|
58
58
|
|
|
59
|
-
`{base}` = `board.defaultBranch` from `.
|
|
59
|
+
`{base}` = `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
60
60
|
|
|
61
61
|
**Link MR to epic:**
|
|
62
62
|
Reference the epic issue number in the MR description. GitLab auto-links MRs to issues mentioned with `Closes #N`.
|
|
@@ -118,7 +118,7 @@ After the PR merges and `Closes #N` auto-closes the referenced issue(s), confirm
|
|
|
118
118
|
```
|
|
119
119
|
Record the mutation in the run cache under `updated_issues`.
|
|
120
120
|
|
|
121
|
-
2. **Board state check.** Read `board.workflows.itemClosedEnabled` from `.
|
|
121
|
+
2. **Board state check.** Read `board.workflows.itemClosedEnabled` from `.hatch3r/hatch.json`:
|
|
122
122
|
- **If true:** The V2 built-in "Item closed" workflow has already set the board status to Done. Skip to step 3.
|
|
123
123
|
- **If false or absent:** The workflow is not enabled (board-init should have halted, but this is a defensive fallback). Apply the full **Board Sync Procedure** from `hatch3r-board-shared` for each issue, target status = Done.
|
|
124
124
|
|
|
@@ -142,7 +142,7 @@ After PR creation, capture learnings from this development session.
|
|
|
142
142
|
- Were any pitfalls discovered that should be avoided next time?
|
|
143
143
|
|
|
144
144
|
2. If learnings are identified:
|
|
145
|
-
- Create learning files in `.
|
|
145
|
+
- Create learning files in `.hatch3r/learnings/` following the learning file format (see `hatch3r-learn` command).
|
|
146
146
|
- Include the issue number as `source-issue`.
|
|
147
147
|
- Tag with relevant area labels from the issue.
|
|
148
148
|
- **ASK:** "Learnings captured: {list}. Anything else to note? (add more / done)"
|
|
@@ -56,7 +56,7 @@ Use `az devops` / `az boards` / `az repos` CLI. Issues = Work Items. PRs = Pull
|
|
|
56
56
|
|
|
57
57
|
## Azure DevOps Context
|
|
58
58
|
|
|
59
|
-
Derived from `.
|
|
59
|
+
Derived from `.hatch3r/hatch.json` board config:
|
|
60
60
|
|
|
61
61
|
- **Organization:** top-level `owner` (maps to Azure DevOps organization name)
|
|
62
62
|
- **Project:** top-level `repo` (maps to Azure DevOps project name)
|
|
@@ -56,7 +56,7 @@ Use `gh` CLI and GitHub MCP tools. Issues = GitHub Issues. PRs = Pull Requests.
|
|
|
56
56
|
|
|
57
57
|
## GitHub Context
|
|
58
58
|
|
|
59
|
-
Derived from `.
|
|
59
|
+
Derived from `.hatch3r/hatch.json` board config:
|
|
60
60
|
|
|
61
61
|
- **Owner:** top-level `owner` (fallback: `board.owner`)
|
|
62
62
|
- **Repository:** top-level `repo` (fallback: `board.repo`)
|
|
@@ -89,7 +89,7 @@ If `board.projectNumber` is not null, verify via `gh project view {board.project
|
|
|
89
89
|
|
|
90
90
|
**Status label → Projects v2 option mapping:**
|
|
91
91
|
|
|
92
|
-
Read the mapping from `board.statusOptions` in `.
|
|
92
|
+
Read the mapping from `board.statusOptions` in `.hatch3r/hatch.json`:
|
|
93
93
|
|
|
94
94
|
| Label | Option ID from hatch.json |
|
|
95
95
|
| -------------------- | ---------------------------------- |
|
|
@@ -49,7 +49,7 @@ GitLab MCP tools are not currently available. All operations use the `glab` CLI.
|
|
|
49
49
|
|
|
50
50
|
## GitLab Context
|
|
51
51
|
|
|
52
|
-
Derived from `.
|
|
52
|
+
Derived from `.hatch3r/hatch.json` board config:
|
|
53
53
|
|
|
54
54
|
- **Namespace:** top-level `owner` (GitLab group or user namespace)
|
|
55
55
|
- **Project:** top-level `repo` (GitLab project name)
|
|
@@ -36,7 +36,7 @@ Take a codebase with HTTP or RPC endpoints and produce a complete OpenAPI 3.1 sp
|
|
|
36
36
|
|
|
37
37
|
## Shared Context
|
|
38
38
|
|
|
39
|
-
**Read the `hatch3r-board-shared`
|
|
39
|
+
**Read the `hatch3r-board-shared` skill at the start of the run** if it exists. Cache any values found (GitHub owner/repo, tooling directives).
|
|
40
40
|
|
|
41
41
|
**Read the `hatch3r-api-design` rule** if it exists. This rule contains the project's API design conventions (naming, versioning, error shapes, pagination patterns) that the generated spec must conform to.
|
|
42
42
|
|
|
@@ -36,7 +36,7 @@ Run performance benchmarks against a target (file, function, endpoint, or full s
|
|
|
36
36
|
|
|
37
37
|
## Shared Context
|
|
38
38
|
|
|
39
|
-
**Read the `hatch3r-board-shared`
|
|
39
|
+
**Read the `hatch3r-board-shared` skill at the start of the run** if it exists. While this command does not perform board operations directly, it establishes patterns and context (GitHub owner/repo, tooling directives) that may be useful for regression issue creation. Cache any values found.
|
|
40
40
|
|
|
41
41
|
## Token-Saving Directives
|
|
42
42
|
|
|
@@ -4,7 +4,7 @@ type: command
|
|
|
4
4
|
orchestrator: true
|
|
5
5
|
agentPipeline: [hatch3r-reviewer, hatch3r-fixer]
|
|
6
6
|
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.
|
|
7
|
-
tags: [board, team]
|
|
7
|
+
tags: [board, ctx:team-only]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
cache_friendly: true
|
|
@@ -31,7 +31,7 @@ All issue operations MUST follow the Board Sync Enforcement rules defined in `ha
|
|
|
31
31
|
|
|
32
32
|
# Board Fill -- Create Epics & Issues from todo.md + Board Reorganization
|
|
33
33
|
|
|
34
|
-
Create epics (with sub-issues) or standalone issues/work items from items in `todo.md`, using the platform's CLI and MCP tools against **{owner}/{repo}** (read from `.
|
|
34
|
+
Create epics (with sub-issues) or standalone issues/work items from items in `todo.md`, using the platform's CLI and MCP tools against **{owner}/{repo}** (read from `.hatch3r/hatch.json` board config). The `platform` field determines whether to use GitHub Issues, Azure DevOps Work Items, or GitLab Issues. Before creating anything, board-fill **triages each item through interactive questioning** to extract scope, intent, unknowns, and acceptance criteria from the user -- ensuring issues are genuinely ready for implementation, not just structurally complete. On every run, board-fill also performs a **full board reorganization**: grouping standalone issues into epics, decomposing oversized items, analyzing dependencies, setting implementation order, identifying parallel work, and marking issues as `status:ready` when all readiness criteria (structural + substantive) are met. AI proposes groupings, dependencies, and ordering; user confirms before anything is created or updated. Duplicate topics are detected and skipped.
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
@@ -52,7 +52,7 @@ GitHub Agentic Workflows and hatch3r are complementary: use agentic workflows fo
|
|
|
52
52
|
|
|
53
53
|
## Shared Context
|
|
54
54
|
|
|
55
|
-
**Read the `hatch3r-board-shared`
|
|
55
|
+
**Read the `hatch3r-board-shared` skill at the start of the run.** It contains Board Configuration, Platform Detection, Platform Context, Board Sync Procedure, and tooling directives. Cache all values for the duration of this run.
|
|
56
56
|
|
|
57
57
|
## Token-Saving Directives
|
|
58
58
|
|
|
@@ -86,7 +86,7 @@ If Tier 1, run only Steps 1–3, 5–6, and 7 (skip the heavy production-readine
|
|
|
86
86
|
|
|
87
87
|
#### 1a. Product Vision Input (Optional)
|
|
88
88
|
|
|
89
|
-
1. Check if a product vision document exists at `.
|
|
89
|
+
1. Check if a product vision document exists at `.hatch3r/product-vision.md`.
|
|
90
90
|
2. If found, read and cache the vision document for use in Steps 2.5 and 4.
|
|
91
91
|
3. If not found, check whether the user provided a vision statement inline with the board-fill invocation (e.g., as a quoted string or file path argument).
|
|
92
92
|
4. If a vision is available from either source, note: "Product vision loaded — will use for triage context and issue scoping."
|
|
@@ -276,7 +276,7 @@ If the user flagged unresolved unknowns or research needs in triage, consider wh
|
|
|
276
276
|
|
|
277
277
|
**Priority:** `priority:p0` (critical/security) / `priority:p1` (broken, no workaround) / `priority:p2` (degraded, default) / `priority:p3` (cosmetic, nice-to-have). Use the user's stated urgency and impact from triage (Value/Why answers) to override keyword defaults. Default `p2` only when both the todo text AND triage answers are ambiguous; security defaults to `p1`+.
|
|
278
278
|
|
|
279
|
-
**Area:** Read area labels from `board.areas` in `.
|
|
279
|
+
**Area:** Read area labels from `board.areas` in `.hatch3r/hatch.json`. If the list is empty, infer areas from the repository's directory structure. Assign all relevant area labels.
|
|
280
280
|
|
|
281
281
|
**Risk:** `risk:low` (isolated, easy rollback) / `risk:med` (shared modules, moderate scope) / `risk:high` (architectural, security-critical). Incorporate triage context: if the user surfaced unknowns, external dependencies, or broad blast radius, escalate risk accordingly. Items with unresolved spikes default to `risk:med`+.
|
|
282
282
|
|
|
@@ -300,7 +300,7 @@ Use explore subagents or direct file reads to understand the current state of so
|
|
|
300
300
|
|
|
301
301
|
#### 4b.5. Consult Project Learnings
|
|
302
302
|
|
|
303
|
-
1. If `.
|
|
303
|
+
1. If `.hatch3r/learnings/` exists, scan for learnings relevant to the areas touched by the todo items.
|
|
304
304
|
2. Match by `area` and `tags` in learning frontmatter against the area labels assigned in Step 3.
|
|
305
305
|
3. Surface relevant learnings in the Context Summary output:
|
|
306
306
|
- **Pitfalls** for areas being touched (highest priority -- include specific warnings)
|
|
@@ -785,7 +785,7 @@ If yes, edit `todo.md` to remove lines for created issues. Preserve skipped/excl
|
|
|
785
785
|
|
|
786
786
|
- **Never create issues for topics already covered** without explicit user approval.
|
|
787
787
|
- **Never skip ASK checkpoints.**
|
|
788
|
-
- **Use correct labels** from the label taxonomy defined in `.
|
|
788
|
+
- **Use correct labels** from the label taxonomy defined in `.hatch3r/hatch.json` (type, priority, area, risk, executor, status, has-dependencies, meta labels).
|
|
789
789
|
- **Keep issue bodies concise.** Acceptance criteria must be grounded in user-stated requirements from triage, not fabricated from the todo text alone.
|
|
790
790
|
- **No dependency cycles.** Flag and resolve before proceeding.
|
|
791
791
|
- **Never downgrade issue status.** Only upgrade `status:triage` → `status:ready`.
|
|
@@ -4,7 +4,7 @@ type: command
|
|
|
4
4
|
orchestrator: true
|
|
5
5
|
agentPipeline: [hatch3r-researcher, hatch3r-implementer, hatch3r-reviewer, hatch3r-fixer, hatch3r-test-writer, hatch3r-security-auditor, hatch3r-docs-writer, hatch3r-lint-fixer, hatch3r-a11y-auditor, hatch3r-perf-profiler]
|
|
6
6
|
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.
|
|
7
|
-
tags: [board, team]
|
|
7
|
+
tags: [board, ctx:team-only]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
cache_friendly: true
|
|
@@ -21,7 +21,7 @@ Before any action, scan the user's request and provided context for unresolved q
|
|
|
21
21
|
|
|
22
22
|
# Board Pickup -- Develop Issues from the Project Board
|
|
23
23
|
|
|
24
|
-
Pick up an epic (with all sub-issues), a single sub-issue, a standalone issue, or **a batch of independent issues** from **{owner}/{repo}** (read from `.
|
|
24
|
+
Pick up an epic (with all sub-issues), a single sub-issue, a standalone issue, or **a batch of independent issues** from **{owner}/{repo}** (read from `.hatch3r/hatch.json` board config) for development. The `platform` field determines whether to interact with GitHub Issues, Azure DevOps Work Items, or GitLab Issues. Supports single-issue and multi-issue batch modes. When no specific issue is referenced, auto-picks the next best candidate(s). Respects dependency order and readiness status. Performs collision detection, creates a branch, then delegates implementation via one sub-agent per issue running in parallel.
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
@@ -57,7 +57,7 @@ hatch3r board commands orchestrate the **implementation delivery pipeline** (ini
|
|
|
57
57
|
|
|
58
58
|
## Shared Context
|
|
59
59
|
|
|
60
|
-
**Read the `hatch3r-board-shared`
|
|
60
|
+
**Read the `hatch3r-board-shared` skill at the start of the run.** It contains Board Configuration, Platform Detection, Platform Context, Board Sync Procedure, and tooling directives. Cache all values for the duration of this run.
|
|
61
61
|
|
|
62
62
|
All issue operations in this command MUST follow the Board Sync Enforcement rules defined in `hatch3r-board-shared`. Every status change, issue creation, and update must be synced to the board immediately.
|
|
63
63
|
|
|
@@ -267,7 +267,7 @@ Follow the **Board Sync Procedure** from `hatch3r-board-shared` for each issue m
|
|
|
267
267
|
|
|
268
268
|
**If branch exists:** **ASK** reuse / delete+recreate / rename with `-v2`.
|
|
269
269
|
|
|
270
|
-
**Normal path:** Use `{base}` = `board.defaultBranch` from `.
|
|
270
|
+
**Normal path:** Use `{base}` = `board.defaultBranch` from `.hatch3r/hatch.json` (fallback: `"main"`).
|
|
271
271
|
|
|
272
272
|
```bash
|
|
273
273
|
git checkout {base} && git pull origin {base} && git checkout -b {branch-name}
|
|
@@ -293,7 +293,7 @@ Use the issue type to select the appropriate hatch3r skill: `type:bug` → the h
|
|
|
293
293
|
|
|
294
294
|
#### 6.pre: Consult Learnings
|
|
295
295
|
|
|
296
|
-
Before delegating: scan `.
|
|
296
|
+
Before delegating: scan `.hatch3r/learnings/` for matching `area`/`tags`, include relevant learnings (especially `pitfall` category) in sub-agent context. Skip silently if no learnings directory exists.
|
|
297
297
|
|
|
298
298
|
> **Audit epics:** Audit epics produce findings (issues) rather than code changes — adjust delegation and skip Steps 7-8a if no code changes.
|
|
299
299
|
|
|
@@ -318,7 +318,7 @@ Execute Steps 7-10 in order after all implementation completes:
|
|
|
318
318
|
- **Step 8:** Create PR/MR with proper `Closes #N` references. See platform sub-files for CLI commands.
|
|
319
319
|
- **Step 8a:** Transition labels to `status:in-review` and sync board. See platform sub-files.
|
|
320
320
|
- **Step 9:** Post-PR housekeeping: epic link verification, board dashboard refresh (9a, mandatory), end-of-run reconciliation (9b, mandatory).
|
|
321
|
-
- **Step 10:** Capture learnings in `.
|
|
321
|
+
- **Step 10:** Capture learnings in `.hatch3r/learnings/` if any were identified.
|
|
322
322
|
|
|
323
323
|
---
|
|
324
324
|
|
|
@@ -4,7 +4,7 @@ type: command
|
|
|
4
4
|
orchestrator: true
|
|
5
5
|
agentPipeline: [hatch3r-researcher, hatch3r-docs-writer]
|
|
6
6
|
description: Diagnose a complex incident -- reproduce the symptom, rank root-cause hypotheses, design the fix path, and emit regression coverage items as a board-ready investigation
|
|
7
|
-
tags: [
|
|
7
|
+
tags: [planning, orchestration]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
cache_friendly: true
|
|
@@ -40,7 +40,7 @@ Take a complex or ambiguous bug report and produce a structured investigation re
|
|
|
40
40
|
|
|
41
41
|
## Shared Context
|
|
42
42
|
|
|
43
|
-
**Read the `hatch3r-board-shared`
|
|
43
|
+
**Read the `hatch3r-board-shared` skill at the start of the run** if it exists. While this command does not perform board operations directly, it establishes patterns and context (GitHub owner/repo, tooling directives) that downstream commands like `hatch3r-board-fill` rely on. Cache any values found.
|
|
44
44
|
|
|
45
45
|
## Token-Saving Directives
|
|
46
46
|
|
|
@@ -102,10 +102,10 @@ Bug Brief:
|
|
|
102
102
|
- `docs/adr/` — architectural decision records (scan for decisions relevant to the affected area)
|
|
103
103
|
- `docs/investigations/` — prior investigation reports (check for related or recurring bugs)
|
|
104
104
|
- `README.md` — project overview
|
|
105
|
-
- `.
|
|
105
|
+
- `.hatch3r/hatch.json` — board configuration
|
|
106
106
|
- Existing `todo.md` — current backlog (check for overlap or related items)
|
|
107
107
|
2. Scan GitHub issues via `search_issues` for existing work related to the bug. Note duplicates, related bugs, or prior investigations.
|
|
108
|
-
3. If `.
|
|
108
|
+
3. If `.hatch3r/learnings/` exists, scan for learnings relevant to the affected area. Match by area and tags against the bug brief.
|
|
109
109
|
4. Present a context summary:
|
|
110
110
|
|
|
111
111
|
```
|
|
@@ -428,7 +428,7 @@ If yes, instruct the user to invoke the `hatch3r-board-fill` command. Note that
|
|
|
428
428
|
- **Sub-agent failure:** Retry the failed sub-agent once. If it fails again, present partial results from the remaining sub-agents and ask the user how to proceed (continue without that researcher's input / provide the missing information manually / abort).
|
|
429
429
|
- **Conflicting researcher outputs:** Present both options side by side with trade-offs. Ask the user to decide. Do not silently pick one.
|
|
430
430
|
- **File write failure:** Report the error and provide the full file content so the user can create the file manually.
|
|
431
|
-
- **Missing project context:** If no `hatch3r-board-shared` or `.
|
|
431
|
+
- **Missing project context:** If no `hatch3r-board-shared` or `.hatch3r/hatch.json` exists, proceed without board context — this command does not require board configuration.
|
|
432
432
|
- **No existing specs or docs:** Proceed without spec references. Warn that the investigation will be less contextualized without existing project documentation. Recommend running `hatch3r-project-spec` or `hatch3r-codebase-map` first for best results.
|
|
433
433
|
- **Duplicate detection:** If the bug overlaps significantly with existing todo.md items, GitHub issues, or prior investigation reports found in Step 2, present the overlap and ASK whether to proceed (augment existing / replace / abort).
|
|
434
434
|
- **No clear root cause:** If all hypotheses are low-confidence, state this clearly. Recommend a focused debugging session (using `hatch3r-bug-fix` skill with the top hypothesis) rather than generating speculative fix items. ASK the user how to proceed.
|
|
@@ -4,7 +4,7 @@ type: command
|
|
|
4
4
|
orchestrator: true
|
|
5
5
|
agentPipeline: [hatch3r-researcher, hatch3r-docs-writer]
|
|
6
6
|
description: Reverse-engineer a brownfield codebase into current-state module boundaries, integration-point inventory, tech-debt register, and dependency graph via static analysis
|
|
7
|
-
tags: [planning, brownfield]
|
|
7
|
+
tags: [planning, ctx:brownfield-only]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
cache_friendly: true
|
|
@@ -105,7 +105,7 @@ From config files and top-level imports, identify:
|
|
|
105
105
|
- Check for `docs/specs/` — if exists, note contents (including `business/` and `technical/` subdirectories)
|
|
106
106
|
- Check for `docs/adr/` — if exists, note contents
|
|
107
107
|
- Check for `README.md`, `CONTRIBUTING.md`, `ARCHITECTURE.md`, or similar
|
|
108
|
-
- Check for `.
|
|
108
|
+
- Check for `.hatch3r/hatch.json` — if exists, this project already has hatch3r configuration
|
|
109
109
|
- Check for root `AGENTS.md` — if exists, note its contents
|
|
110
110
|
|
|
111
111
|
If `docs/specs/` or `docs/adr/` already exist:
|
|
@@ -3,8 +3,8 @@ id: hatch3r-create
|
|
|
3
3
|
type: command
|
|
4
4
|
orchestrator: true
|
|
5
5
|
agentPipeline: [hatch3r-creator]
|
|
6
|
-
description: Author a custom user-tier artifact (agent, skill, rule, command, or hook) for this project. Generates frontmatter and body skeleton, applies strict + gentle quality gates, writes to .
|
|
7
|
-
tags: [
|
|
6
|
+
description: Author a custom user-tier artifact (agent, skill, rule, command, or hook) for this project. Generates frontmatter and body skeleton, applies strict + gentle quality gates, writes to .hatch3r/overrides/{type}/, and offers to sync to all enabled adapters.
|
|
7
|
+
tags: [customize]
|
|
8
8
|
quality_charter: agents/shared/quality-charter.md
|
|
9
9
|
efficiency_patterns: agents/shared/efficiency-patterns.md
|
|
10
10
|
cache_friendly: true
|
|
@@ -25,7 +25,7 @@ This command runs as an orchestrator. After collecting inputs in Phase 1, it del
|
|
|
25
25
|
|
|
26
26
|
# `/hatch3r-create` — Author a User-Tier Artifact
|
|
27
27
|
|
|
28
|
-
Use this command when you need a project-specific agent, skill, rule, command, or hook that does not exist in the canonical hatch3r corpus. The command writes one new artifact under `.
|
|
28
|
+
Use this command when you need a project-specific agent, skill, rule, command, or hook that does not exist in the canonical hatch3r corpus. The command writes one new artifact under `.hatch3r/overrides/{type}/` per invocation, runs the same frontmatter/security/structural gates the framework uses on canonical content (strict — block on failure), and runs style/lean checks as warnings (gentle — save proceeds, warnings reported).
|
|
29
29
|
|
|
30
30
|
The 5 supported types: **agent** (sub-agent invokable from orchestrators), **skill** (workflow recipe), **rule** (always or glob-scoped guidance), **command** (slash command, inline or orchestrator), **hook** (event-triggered agent invocation).
|
|
31
31
|
|
|
@@ -75,7 +75,7 @@ Cache the selection as `type`.
|
|
|
75
75
|
Validate the name against the regex `^[a-z][a-z0-9-]*$`. Reject and re-ask if:
|
|
76
76
|
|
|
77
77
|
- The name fails the regex (uppercase, underscores, leading digit, etc.).
|
|
78
|
-
- The name starts with `hatch3r-` — this prefix is reserved for canonical framework content. Show: "Names starting with `hatch3r-` are reserved for canonical framework artifacts. Choose a different prefix or omit the prefix entirely. The framework will namespace the file path under `.
|
|
78
|
+
- The name starts with `hatch3r-` — this prefix is reserved for canonical framework content. Show: "Names starting with `hatch3r-` are reserved for canonical framework artifacts. Choose a different prefix or omit the prefix entirely. The framework will namespace the file path under `.hatch3r/overrides/{type}/` automatically."
|
|
79
79
|
|
|
80
80
|
Cache the validated name as `name`.
|
|
81
81
|
|
|
@@ -124,9 +124,9 @@ Cache as `adapters` (array, or `null` for full parity).
|
|
|
124
124
|
Branch on the cached `type`:
|
|
125
125
|
|
|
126
126
|
- **agent:** Ask for `model` preference (default: `standard`; options: `fast | standard | reasoning`). Ask for an optional tool-allowlist hint (free-text). Cache as `model` and `toolHint`. Then ask for a structured `tools` declaration (see §1.6a below) and cache as `tools`.
|
|
127
|
-
- **skill:** Confirm the subdirectory layout. Show: "Skill files are stored as `.
|
|
127
|
+
- **skill:** Confirm the subdirectory layout. Show: "Skill files are stored as `.hatch3r/overrides/skills/{name}/SKILL.md` (a new directory will be created). Continue?" — ASK Y/n.
|
|
128
128
|
- **rule:** Ask for scope: `always` (loaded every session) or `conditional` (loaded by glob match). If `conditional`, ASK for a comma-separated glob list (e.g., `src/**/*.ts, src/**/*.tsx`). Then ASK for `precedence` (one of `critical | high | normal | low`, default `normal`). Cache as `ruleScope`, `ruleGlobs`, `rulePrecedence`.
|
|
129
|
-
- **command:** ASK whether this is an orchestrator command. If yes, ASK for the agent pipeline as a comma-separated list of agent IDs (each ID must reference an existing agent — canonical or under `.
|
|
129
|
+
- **command:** ASK whether this is an orchestrator command. If yes, ASK for the agent pipeline as a comma-separated list of agent IDs (each ID must reference an existing agent — canonical or under `.hatch3r/overrides/agents/`). Cache as `isOrchestrator` and `agentPipeline`.
|
|
130
130
|
- **hook:** ASK for the hook event from the enum: `pre-commit | post-merge | ci-failure | file-save | session-start | pre-push`. Reject any value outside this enum and re-ask. Cache as `hookEvent`.
|
|
131
131
|
|
|
132
132
|
#### 1.6a: Structured Tool Declaration (C9-H81, D20-F20.1.3)
|
|
@@ -222,14 +222,14 @@ Print the absolute path(s) and the next-step pointer:
|
|
|
222
222
|
|
|
223
223
|
```
|
|
224
224
|
Created:
|
|
225
|
-
/abs/path/.
|
|
226
|
-
/abs/path/.
|
|
225
|
+
/abs/path/.hatch3r/overrides/{type}/{name}.md
|
|
226
|
+
/abs/path/.hatch3r/overrides/rules/{name}.mdc (rule only — paired companion)
|
|
227
227
|
|
|
228
228
|
Next step:
|
|
229
229
|
Run `hatch3r sync` to propagate this artifact to all enabled adapter outputs
|
|
230
230
|
(.cursor/, .claude/, .github/copilot-instructions.md, etc.).
|
|
231
231
|
|
|
232
|
-
Edit your artifact directly anytime — `.
|
|
232
|
+
Edit your artifact directly anytime — `.hatch3r/overrides/` is preserved across
|
|
233
233
|
`hatch3r update` and `hatch3r clean`.
|
|
234
234
|
```
|
|
235
235
|
|
|
@@ -237,8 +237,8 @@ Edit your artifact directly anytime — `.agents/user/` is preserved across
|
|
|
237
237
|
|
|
238
238
|
## Constraints / Anti-Patterns
|
|
239
239
|
|
|
240
|
-
- **Never overwrite an existing user file.** Collision with an existing path under `.
|
|
241
|
-
- **Never write to canonical content directories.** All output goes under `.
|
|
240
|
+
- **Never overwrite an existing user file.** Collision with an existing path under `.hatch3r/overrides/{type}/` is a strict-gate failure raised by `hatch3r-creator` (status `BLOCKED` with the conflicting path).
|
|
241
|
+
- **Never write to canonical content directories.** All output goes under `.hatch3r/overrides/`. Writes to `agents/`, `skills/`, `rules/`, `commands/`, or `hooks/` are rejected.
|
|
242
242
|
- **Never bypass strict gates.** Strict failures (frontmatter, ID collision, deny patterns, paired-file parity, orchestrator contract, hook event enum, ≤10KB size, quality_charter reference, pillar declaration, structured `tools` field shape + category membership) block the save.
|
|
243
243
|
- **Structured tool allowlist required (strict shape).** When `tools` is supplied for an `agent` artifact, every entry in `tools.allowed` and `tools.denied` must resolve to a canonical category from `ALL_TOOL_CATEGORIES` in `src/pipeline/agentToolAllowlist.ts` (`read | search | write | execute | web | mcp | git | board`). Overlap between the two lists is rejected. Strict-gate enforced at `saveUserContent` (C9-H81, D20-F20.1.3; depends on C9-H49 Hybrid allowlist).
|
|
244
244
|
- **Pillar coverage required (strict).** Every user artifact must declare at least one of P1–P8 — via `pillars: [...]` in frontmatter (collected at Step 1.4a) or a `**Pillars:** ...` line in the body. The strict gate at `saveUserContent` blocks the save when neither is present (C9-H80, D20-F20.1.2).
|