hatch3r 1.0.0 → 1.2.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 +93 -322
- package/agents/hatch3r-a11y-auditor.md +24 -6
- package/agents/hatch3r-architect.md +20 -1
- package/agents/hatch3r-ci-watcher.md +31 -8
- package/agents/hatch3r-context-rules.md +14 -2
- package/agents/hatch3r-dependency-auditor.md +21 -5
- package/agents/hatch3r-devops.md +37 -6
- package/agents/hatch3r-docs-writer.md +19 -3
- package/agents/hatch3r-fixer.md +171 -0
- package/agents/hatch3r-implementer.md +84 -11
- package/agents/hatch3r-learnings-loader.md +69 -13
- package/agents/hatch3r-lint-fixer.md +19 -14
- package/agents/hatch3r-perf-profiler.md +18 -1
- package/agents/hatch3r-researcher.md +440 -5
- package/agents/hatch3r-reviewer.md +97 -5
- package/agents/hatch3r-security-auditor.md +23 -5
- package/agents/hatch3r-test-writer.md +21 -10
- package/checks/README.md +49 -0
- package/checks/code-quality.md +49 -0
- package/checks/performance.md +58 -0
- package/checks/security.md +58 -0
- package/checks/testing.md +53 -0
- package/commands/board/pickup-azure-devops.md +81 -0
- package/commands/board/pickup-delegation-multi.md +197 -0
- package/commands/board/pickup-delegation.md +100 -0
- package/commands/board/pickup-github.md +82 -0
- package/commands/board/pickup-gitlab.md +81 -0
- package/commands/board/pickup-modes.md +143 -0
- package/commands/board/pickup-post-impl.md +120 -0
- package/commands/board/shared-azure-devops.md +149 -0
- package/commands/board/shared-board-overview.md +215 -0
- package/commands/board/shared-github.md +169 -0
- package/commands/board/shared-gitlab.md +142 -0
- package/commands/hatch3r-agent-customize.md +40 -2
- package/commands/hatch3r-api-spec.md +294 -32
- package/commands/hatch3r-benchmark.md +386 -32
- package/commands/hatch3r-board-fill.md +161 -25
- package/commands/hatch3r-board-groom.md +595 -0
- package/commands/hatch3r-board-init.md +203 -46
- package/commands/hatch3r-board-pickup.md +79 -457
- package/commands/hatch3r-board-refresh.md +98 -27
- package/commands/hatch3r-board-shared.md +87 -238
- package/commands/hatch3r-bug-plan.md +16 -3
- package/commands/hatch3r-codebase-map.md +43 -10
- package/commands/hatch3r-command-customize.md +6 -0
- package/commands/hatch3r-context-health.md +5 -0
- package/commands/hatch3r-cost-tracking.md +5 -0
- package/commands/hatch3r-debug.md +426 -0
- package/commands/hatch3r-dep-audit.md +7 -1
- package/commands/hatch3r-feature-plan.md +74 -12
- package/commands/hatch3r-healthcheck.md +17 -1
- package/commands/hatch3r-hooks.md +16 -10
- package/commands/hatch3r-learn.md +15 -9
- package/commands/hatch3r-migration-plan.md +333 -33
- package/commands/hatch3r-onboard.md +327 -38
- package/commands/hatch3r-project-spec.md +46 -10
- package/commands/hatch3r-quick-change.md +336 -0
- package/commands/hatch3r-recipe.md +6 -0
- package/commands/hatch3r-refactor-plan.md +29 -13
- package/commands/hatch3r-release.md +13 -3
- package/commands/hatch3r-revision.md +395 -0
- package/commands/hatch3r-roadmap.md +18 -3
- package/commands/hatch3r-rule-customize.md +6 -0
- package/commands/hatch3r-security-audit.md +17 -1
- package/commands/hatch3r-skill-customize.md +6 -0
- package/commands/hatch3r-test-plan.md +532 -0
- package/commands/hatch3r-workflow.md +113 -38
- package/dist/cli/index.js +5184 -2593
- package/dist/cli/index.js.map +1 -0
- package/github-agents/hatch3r-docs-agent.md +1 -0
- package/github-agents/hatch3r-lint-agent.md +1 -0
- package/github-agents/hatch3r-security-agent.md +1 -0
- package/github-agents/hatch3r-test-agent.md +1 -0
- package/hooks/hatch3r-ci-failure.md +30 -0
- package/hooks/hatch3r-file-save.md +22 -0
- package/hooks/hatch3r-post-merge.md +23 -0
- package/hooks/hatch3r-pre-commit.md +23 -0
- package/hooks/hatch3r-pre-push.md +22 -0
- package/hooks/hatch3r-session-start.md +22 -0
- package/mcp/mcp.json +22 -3
- package/package.json +4 -7
- package/prompts/hatch3r-bug-triage.md +1 -0
- package/prompts/hatch3r-code-review.md +1 -0
- package/prompts/hatch3r-pr-description.md +1 -0
- package/rules/hatch3r-accessibility-standards.md +1 -0
- package/rules/hatch3r-agent-orchestration.md +326 -53
- package/rules/hatch3r-agent-orchestration.mdc +225 -0
- package/rules/hatch3r-api-design.md +4 -1
- package/rules/hatch3r-browser-verification.md +33 -1
- package/rules/hatch3r-browser-verification.mdc +29 -0
- package/rules/hatch3r-ci-cd.md +5 -1
- package/rules/hatch3r-ci-cd.mdc +4 -1
- package/rules/hatch3r-code-standards.md +18 -0
- package/rules/hatch3r-code-standards.mdc +10 -1
- package/rules/hatch3r-component-conventions.md +4 -1
- package/rules/hatch3r-data-classification.md +1 -0
- package/rules/hatch3r-deep-context.md +94 -0
- package/rules/hatch3r-deep-context.mdc +69 -0
- package/rules/hatch3r-dependency-management.md +13 -0
- package/rules/hatch3r-feature-flags.md +4 -1
- package/rules/hatch3r-git-conventions.md +1 -0
- package/rules/hatch3r-i18n.md +4 -1
- package/rules/hatch3r-learning-consult.md +4 -2
- package/rules/hatch3r-learning-consult.mdc +3 -2
- package/rules/hatch3r-migrations.md +12 -0
- package/rules/hatch3r-observability.md +293 -1
- package/rules/hatch3r-performance-budgets.md +5 -2
- package/rules/hatch3r-performance-budgets.mdc +1 -1
- package/rules/hatch3r-secrets-management.md +11 -3
- package/rules/hatch3r-secrets-management.mdc +10 -3
- package/rules/hatch3r-security-patterns.md +23 -3
- package/rules/hatch3r-security-patterns.mdc +8 -2
- package/rules/hatch3r-testing.md +1 -0
- package/rules/hatch3r-theming.md +4 -1
- package/rules/hatch3r-tooling-hierarchy.md +42 -15
- package/rules/hatch3r-tooling-hierarchy.mdc +27 -4
- package/skills/hatch3r-a11y-audit/SKILL.md +1 -0
- package/skills/hatch3r-agent-customize/SKILL.md +3 -0
- package/skills/hatch3r-api-spec/SKILL.md +1 -0
- package/skills/hatch3r-architecture-review/SKILL.md +6 -2
- package/skills/hatch3r-bug-fix/SKILL.md +4 -1
- package/skills/hatch3r-ci-pipeline/SKILL.md +1 -0
- package/skills/hatch3r-command-customize/SKILL.md +1 -0
- package/skills/hatch3r-context-health/SKILL.md +2 -1
- package/skills/hatch3r-cost-tracking/SKILL.md +1 -0
- package/skills/hatch3r-dep-audit/SKILL.md +6 -2
- package/skills/hatch3r-feature/SKILL.md +9 -2
- package/skills/hatch3r-gh-agentic-workflows/SKILL.md +130 -21
- package/skills/hatch3r-incident-response/SKILL.md +11 -5
- package/skills/hatch3r-issue-workflow/SKILL.md +12 -7
- package/skills/hatch3r-logical-refactor/SKILL.md +1 -0
- package/skills/hatch3r-migration/SKILL.md +1 -0
- package/skills/hatch3r-perf-audit/SKILL.md +2 -1
- package/skills/hatch3r-pr-creation/SKILL.md +20 -10
- package/skills/hatch3r-qa-validation/SKILL.md +2 -1
- package/skills/hatch3r-recipe/SKILL.md +1 -0
- package/skills/hatch3r-refactor/SKILL.md +7 -1
- package/skills/hatch3r-release/SKILL.md +15 -11
- 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 +1 -0
- package/dist/cli/hooks-ZOTFDEA3.js +0 -59
- package/rules/hatch3r-error-handling.md +0 -17
- package/rules/hatch3r-error-handling.mdc +0 -15
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-issue-workflow
|
|
3
|
-
description: Guides the 8-step agentic development workflow for
|
|
3
|
+
description: Guides the 8-step agentic development workflow for issues/work items. Covers parsing issues, loading skills, reading specs, planning, implementing, testing, opening PRs/MRs, and addressing review. Use when working on any issue/work item or when the user mentions an issue number.
|
|
4
|
+
tags: [core, implementation]
|
|
4
5
|
---
|
|
5
6
|
# Issue Workflow
|
|
6
7
|
|
|
7
8
|
## Quick Start
|
|
8
9
|
|
|
9
|
-
When assigned
|
|
10
|
+
When assigned an issue or work item (GitHub Issue, Azure DevOps Work Item, or GitLab Issue — check `platform` in `.agents/hatch.json`), follow these 8 steps in order:
|
|
10
11
|
|
|
11
12
|
```
|
|
12
13
|
Task Progress:
|
|
@@ -86,7 +87,7 @@ When working on multiple standalone issues (not part of an epic), apply the same
|
|
|
86
87
|
|
|
87
88
|
### Plain Chat with Multiple Tasks
|
|
88
89
|
|
|
89
|
-
When working from plain chat instructions with multiple tasks (numbered lists, multiple issue references, or distinct requests), parse into discrete tasks and apply the batch delegation pattern above. For
|
|
90
|
+
When working from plain chat instructions with multiple tasks (numbered lists, multiple issue references, or distinct requests), parse into discrete tasks and apply the batch delegation pattern above. For issue references (GitHub Issues, ADO Work Items, or GitLab Issues), fetch issue details using the appropriate platform CLI. For natural language tasks, derive title, acceptance criteria, and type from the instruction.
|
|
90
91
|
|
|
91
92
|
The implementer sub-agent protocol is defined in the hatch3r-implementer agent. Each sub-agent handles its own implementation and testing but does NOT create branches, commits, or PRs.
|
|
92
93
|
|
|
@@ -114,11 +115,15 @@ Skip this step if the issue has no user-facing UI changes.
|
|
|
114
115
|
- Check the browser console for errors or warnings.
|
|
115
116
|
- Capture screenshots as evidence for the PR.
|
|
116
117
|
|
|
117
|
-
## Step 7: Open PR
|
|
118
|
+
## Step 7: Open PR / MR
|
|
118
119
|
|
|
119
|
-
- Use the project's PR template. Fill every section.
|
|
120
|
-
- Link to the issue. Include plan, implementation summary, test evidence.
|
|
121
|
-
- **Base branch:** Use `board.defaultBranch` from
|
|
120
|
+
- Use the project's PR/MR template. Fill every section.
|
|
121
|
+
- Link to the issue/work item. Include plan, implementation summary, test evidence.
|
|
122
|
+
- **Base branch:** Use `board.defaultBranch` from `.agents/hatch.json` (fallback: `"main"`).
|
|
123
|
+
- Open a code review using the platform CLI (check `platform` in `.agents/hatch.json`):
|
|
124
|
+
- **GitHub:** `gh pr create --base {defaultBranch} --head {branch} --title "..." --body "..."`
|
|
125
|
+
- **Azure DevOps:** `az repos pr create --source-branch {branch} --target-branch {defaultBranch} --title "..." --description "..."`
|
|
126
|
+
- **GitLab:** `glab mr create --source-branch {branch} --target-branch {defaultBranch} --title "..." --description "..."`
|
|
122
127
|
- Self-review against the Definition of Done from the loaded skill.
|
|
123
128
|
|
|
124
129
|
## Step 8: Address Review
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-logical-refactor
|
|
3
3
|
description: Workflow for changing behavior or logic flow without adding new features or overhauling UI. Use when modifying business logic, data flows, behavioral rules, or working on logical refactor issues.
|
|
4
|
+
tags: [implementation]
|
|
4
5
|
---
|
|
5
6
|
> **Note:** Commands below use `npm` as an example. Substitute with your project's package manager (`yarn`, `pnpm`, `bun`) or build tool as appropriate.
|
|
6
7
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-perf-audit
|
|
3
3
|
description: Profile and optimize application performance against defined budgets. Use when investigating performance issues, auditing performance budgets, or optimizing hot paths.
|
|
4
|
+
tags: [review, performance]
|
|
4
5
|
---
|
|
5
6
|
> **Note:** Commands below use `npm` as an example. Substitute with your project's package manager (`yarn`, `pnpm`, `bun`) or build tool as appropriate.
|
|
6
7
|
|
|
@@ -79,7 +80,7 @@ Common strategies:
|
|
|
79
80
|
## Step 5: Implement Optimizations
|
|
80
81
|
|
|
81
82
|
- Apply changes incrementally. Measure before and after each change.
|
|
82
|
-
- Document before/after for each metric in PR or audit report.
|
|
83
|
+
- Document before/after for each metric in PR/MR or audit report (check `platform` in `.agents/hatch.json` for PR vs MR terminology).
|
|
83
84
|
- Respect `prefers-reduced-motion` — do not add animations that ignore it.
|
|
84
85
|
- Run full test suite after each optimization to avoid functional regressions.
|
|
85
86
|
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-pr-creation
|
|
3
|
-
description: Create a pull request following project conventions including branch naming, PR template, checklist, and rollout plan. Use when opening or preparing a
|
|
3
|
+
description: Create a pull request or merge request following project conventions including branch naming, PR/MR template, checklist, and rollout plan. Use when opening or preparing a PR/MR, or when the user asks to create a PR or MR.
|
|
4
|
+
tags: [core, implementation]
|
|
4
5
|
---
|
|
5
6
|
> **Note:** Commands below use `npm` as an example. Substitute with your project's package manager (`yarn`, `pnpm`, `bun`) or build tool as appropriate.
|
|
6
7
|
|
|
7
|
-
# PR Creation Workflow
|
|
8
|
+
# PR / MR Creation Workflow
|
|
9
|
+
|
|
10
|
+
> **Platform detection:** Check `platform` in `.agents/hatch.json` to determine terminology and CLI. GitHub/Azure DevOps use "Pull Request" (PR); GitLab uses "Merge Request" (MR).
|
|
8
11
|
|
|
9
12
|
## Quick Start
|
|
10
13
|
|
|
@@ -12,8 +15,8 @@ description: Create a pull request following project conventions including branc
|
|
|
12
15
|
Task Progress:
|
|
13
16
|
- [ ] Step 1: Verify branch naming
|
|
14
17
|
- [ ] Step 2: Self-review against checklist
|
|
15
|
-
- [ ] Step 3: Fill PR template
|
|
16
|
-
- [ ] Step 4: Create the PR
|
|
18
|
+
- [ ] Step 3: Fill PR/MR template
|
|
19
|
+
- [ ] Step 4: Create the PR/MR
|
|
17
20
|
```
|
|
18
21
|
|
|
19
22
|
## Step 1: Branch Naming
|
|
@@ -43,33 +46,40 @@ Before creating the PR, verify:
|
|
|
43
46
|
|
|
44
47
|
**Accessibility (if UI):** Animations respect `prefers-reduced-motion`. Color contrast meets WCAG AA. Interactive elements keyboard accessible.
|
|
45
48
|
|
|
46
|
-
## Step 3: Fill PR Template
|
|
49
|
+
## Step 3: Fill PR/MR Template
|
|
47
50
|
|
|
48
|
-
Use the project's PR template. Fill every section:
|
|
51
|
+
Use the project's PR/MR template. Fill every section:
|
|
49
52
|
|
|
50
53
|
- **Summary:** 1-3 sentences on what and why
|
|
51
54
|
- **Type:** Feature / Bug fix / Refactor / QA / Docs / Infra
|
|
52
|
-
- **Related Issues:** `Closes #N` or `Relates to #N`
|
|
55
|
+
- **Related Issues:** `Closes #N` or `Relates to #N` (GitHub/GitLab), or link ADO Work Items via `AB#N`
|
|
53
56
|
- **Changes:** Bullet list of key changes
|
|
54
57
|
- **Screenshots:** Required for UI changes (before/after)
|
|
55
58
|
- **Testing:** Which tests added/updated, manual test steps
|
|
56
59
|
- **Rollout Plan:** Feature flag / gradual / direct
|
|
57
60
|
- **Rollback Plan:** How to revert
|
|
58
61
|
|
|
59
|
-
## Step 4: Create the PR
|
|
62
|
+
## Step 4: Create the PR/MR
|
|
60
63
|
|
|
61
|
-
PR title format: `{type}: {short description} (#issue)`
|
|
64
|
+
PR/MR title format: `{type}: {short description} (#issue)`
|
|
62
65
|
|
|
63
66
|
Examples:
|
|
64
67
|
|
|
65
68
|
- `feat: add user preferences panel (#42)`
|
|
66
69
|
- `fix: correct validation for email field (#87)`
|
|
67
70
|
|
|
71
|
+
Create the PR/MR using the platform CLI (check `platform` in `.agents/hatch.json`):
|
|
72
|
+
- **GitHub:** `gh pr create --base {defaultBranch} --head {branch} --title "..." --body "..."`
|
|
73
|
+
- **Azure DevOps:** `az repos pr create --source-branch {branch} --target-branch {defaultBranch} --title "..." --description "..."`
|
|
74
|
+
- **GitLab:** `glab mr create --source-branch {branch} --target-branch {defaultBranch} --title "..." --description "..."`
|
|
75
|
+
|
|
76
|
+
Use `board.defaultBranch` from `.agents/hatch.json` as the target branch (fallback: `"main"`).
|
|
77
|
+
|
|
68
78
|
## Required Agent Delegation
|
|
69
79
|
|
|
70
80
|
You MUST spawn these agents via the Task tool (`subagent_type: "generalPurpose"`) at the appropriate points:
|
|
71
81
|
|
|
72
|
-
- **`hatch3r-reviewer`** — MUST spawn before PR creation for code review. Include the full diff and acceptance criteria in the prompt. Apply reviewer feedback before creating the PR.
|
|
82
|
+
- **`hatch3r-reviewer`** — MUST spawn before PR/MR creation for code review. Include the full diff and acceptance criteria in the prompt. Apply reviewer feedback before creating the PR/MR.
|
|
73
83
|
|
|
74
84
|
## Related Skills
|
|
75
85
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-qa-validation
|
|
3
3
|
description: E2E validation workflow producing a structured pass/fail report with evidence. Use when running QA validation, acceptance testing, verifying releases, or working on QA E2E validation issues.
|
|
4
|
+
tags: [core, review]
|
|
4
5
|
---
|
|
5
6
|
# QA E2E Validation Workflow
|
|
6
7
|
|
|
@@ -73,7 +74,7 @@ Produce a structured report with:
|
|
|
73
74
|
|
|
74
75
|
- File new issues for bugs discovered during validation.
|
|
75
76
|
- If validation fails, state what must be fixed before re-validation.
|
|
76
|
-
- Post report as comment on the issue or linked PR.
|
|
77
|
+
- Post report as comment on the issue/work item or linked PR/MR (check `platform` in `.agents/hatch.json`).
|
|
77
78
|
|
|
78
79
|
## Definition of Done
|
|
79
80
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-recipe
|
|
3
3
|
description: Create, test, and manage workflow recipes that compose hatch3r capabilities into guided sequences. Use when creating new recipes, customizing existing ones, or troubleshooting recipe execution.
|
|
4
|
+
tags: [core]
|
|
4
5
|
---
|
|
5
6
|
# Recipe Management
|
|
6
7
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-refactor
|
|
3
3
|
description: Internal code quality improvement workflow without changing external behavior. Use when refactoring code structure, simplifying modules, or improving maintainability.
|
|
4
|
+
tags: [core, implementation]
|
|
4
5
|
---
|
|
5
6
|
> **Note:** Commands below use `npm` as an example. Substitute with your project's package manager (`yarn`, `pnpm`, `bun`) or build tool as appropriate.
|
|
6
7
|
|
|
@@ -23,6 +24,8 @@ Task Progress:
|
|
|
23
24
|
- Read project quality standards documentation.
|
|
24
25
|
- Read specs for the area being refactored.
|
|
25
26
|
- Review all existing tests — every one must still pass after refactoring.
|
|
27
|
+
- **Review reference implementations**: If the orchestrator provided `similar-implementation` researcher output, read the reference implementations and their extracted conventions. The refactored code should align with these established codebase patterns.
|
|
28
|
+
- **Review resolved requirements**: If the orchestrator provided `requirements-elicitation` answers, use them to understand explicit user decisions on behavioral invariants and scope.
|
|
26
29
|
- For external library docs and current best practices, follow the project's tooling hierarchy.
|
|
27
30
|
|
|
28
31
|
## Step 2: Refactor Plan
|
|
@@ -31,6 +34,7 @@ Before changing code, output:
|
|
|
31
34
|
|
|
32
35
|
- **Goal:** what improves (readability, performance, maintainability)
|
|
33
36
|
- **Strategy:** how the refactor works
|
|
37
|
+
- **Convention alignment:** which reference implementation's patterns the refactored code will follow (from `similar-implementation` output), with divergences noted. If no reference was provided, note "using existing codebase conventions."
|
|
34
38
|
- **Files to modify:** list with what changes
|
|
35
39
|
- **Behavioral invariant:** what must NOT change
|
|
36
40
|
- **Risk assessment:** what could go wrong, how to detect
|
|
@@ -65,9 +69,11 @@ Use the project's PR template. Include:
|
|
|
65
69
|
|
|
66
70
|
## Required Agent Delegation
|
|
67
71
|
|
|
72
|
+
> **Note:** When this skill is invoked via the orchestration pipeline (board-pickup or workflow commands), skip this section — the orchestrator handles agent delegation in Phases 3 and 4.
|
|
73
|
+
|
|
68
74
|
You MUST spawn these agents via the Task tool (`subagent_type: "generalPurpose"`) at the appropriate points:
|
|
69
75
|
|
|
70
|
-
- **`hatch3r-researcher`** — MUST spawn before implementation with modes `current-state`, `refactoring-strategy`, `migration-path`. Skip only for trivially simple refactors (`risk:low` AND `priority:p3`).
|
|
76
|
+
- **`hatch3r-researcher`** — MUST spawn before implementation with modes `current-state`, `refactoring-strategy`, `migration-path`. For Tier 2+ tasks (per `hatch3r-deep-context`), also include `similar-implementation` (refactors benefit most from convention alignment — ensures the refactored code follows established patterns) and `requirements-elicitation`. Skip only for trivially simple refactors (`risk:low` AND `priority:p3`).
|
|
71
77
|
- **`hatch3r-reviewer`** — MUST spawn after implementation for code review, verifying behavioral preservation.
|
|
72
78
|
|
|
73
79
|
## Related Skills
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-release
|
|
3
3
|
description: Cut a release with version bump, changelog, tagging, and deploy verification. Use when preparing a release, cutting a version, or deploying to production.
|
|
4
|
+
tags: [devops]
|
|
4
5
|
---
|
|
5
6
|
> **Note:** Commands below use `npm` as an example. Substitute with your project's package manager (`yarn`, `pnpm`, `bun`) or build tool as appropriate.
|
|
6
7
|
|
|
@@ -14,15 +15,18 @@ Task Progress:
|
|
|
14
15
|
- [ ] Step 2: Generate changelog from merged PRs and commit history
|
|
15
16
|
- [ ] Step 3: Update version in package.json and any other version references
|
|
16
17
|
- [ ] Step 4: Verify quality gates (lint, typecheck, all tests)
|
|
17
|
-
- [ ] Step 5: Create git tag and
|
|
18
|
+
- [ ] Step 5: Create git tag and platform release with changelog
|
|
18
19
|
- [ ] Step 6: Deploy and verify (staging first if applicable, then production)
|
|
19
20
|
- [ ] Step 7: Monitor post-deploy for errors/regressions
|
|
20
21
|
```
|
|
21
22
|
|
|
22
23
|
## Step 1: Determine Version Bump
|
|
23
24
|
|
|
24
|
-
- Review changes since last release: merged PRs, commit history.
|
|
25
|
-
-
|
|
25
|
+
- Review changes since last release: merged PRs/MRs, commit history.
|
|
26
|
+
- List merged PRs/MRs since last tag using the platform tools (check `platform` in `.agents/hatch.json`):
|
|
27
|
+
- **GitHub:** Use **GitHub MCP** (`search_issues`, PR search) or `gh pr list --state merged --base {defaultBranch}`
|
|
28
|
+
- **Azure DevOps:** `az repos pr list --status completed --target-branch {defaultBranch}`
|
|
29
|
+
- **GitLab:** `glab mr list --state merged --target-branch {defaultBranch}`
|
|
26
30
|
- Apply [Semantic Versioning](https://semver.org/):
|
|
27
31
|
- **Major:** Breaking changes (API, data model, config)
|
|
28
32
|
- **Minor:** New features, backward-compatible
|
|
@@ -31,7 +35,7 @@ Task Progress:
|
|
|
31
35
|
|
|
32
36
|
## Step 2: Generate Changelog
|
|
33
37
|
|
|
34
|
-
- List merged PRs since last release (e.g., `git log v1.2.0..HEAD --oneline` or
|
|
38
|
+
- List merged PRs/MRs since last release (e.g., `git log v1.2.0..HEAD --oneline` or the platform's release/PR API).
|
|
35
39
|
- Group by category: Features, Bug Fixes, Security, Dependencies, Chore.
|
|
36
40
|
- Format each entry: `- description (#PR-number)` or `- description (commit hash)`.
|
|
37
41
|
- Include breaking changes section if major bump.
|
|
@@ -57,15 +61,15 @@ npm run build
|
|
|
57
61
|
- No TODO without linked issue.
|
|
58
62
|
- See project quality documentation for full pre-release gates.
|
|
59
63
|
|
|
60
|
-
## Step 5: Create Tag and
|
|
64
|
+
## Step 5: Create Tag and Release
|
|
61
65
|
|
|
62
66
|
- Create annotated tag: `git tag -a vX.Y.Z -m "Release vX.Y.Z"`.
|
|
63
67
|
- Push tag: `git push origin vX.Y.Z`.
|
|
64
|
-
- Create
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
68
|
+
- Create the release using the platform CLI (check `platform` in `.agents/hatch.json`):
|
|
69
|
+
- **GitHub:** `gh release create vX.Y.Z --title "vX.Y.Z" --notes "{changelog}"` (or use **GitHub MCP** if available)
|
|
70
|
+
- **Azure DevOps:** `az repos tag create vX.Y.Z` — attach release notes as a wiki page or work item, and upload build artifacts via Azure Artifacts
|
|
71
|
+
- **GitLab:** `glab release create vX.Y.Z --name "vX.Y.Z" --notes "{changelog}"`
|
|
72
|
+
- Attach build artifacts if applicable.
|
|
69
73
|
|
|
70
74
|
## Step 6: Deploy and Verify
|
|
71
75
|
|
|
@@ -87,7 +91,7 @@ npm run build
|
|
|
87
91
|
- [ ] Version bumped in package.json
|
|
88
92
|
- [ ] Changelog generated and included in release
|
|
89
93
|
- [ ] Git tag created and pushed
|
|
90
|
-
- [ ]
|
|
94
|
+
- [ ] Release published with changelog (GitHub Release / ADO wiki + tag / GitLab Release)
|
|
91
95
|
- [ ] Deployed to production and verified
|
|
92
96
|
- [ ] Post-deploy monitoring completed (no critical regressions)
|
|
93
97
|
- [ ] All release gates satisfied
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-rule-customize
|
|
3
3
|
description: Create and manage per-rule customization files for scope overrides, description changes, enable/disable control, and project-specific markdown instructions. Use when tailoring rules to project-specific needs.
|
|
4
|
+
tags: [customize]
|
|
4
5
|
---
|
|
5
6
|
# Rule Customization Management
|
|
6
7
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-skill-customize
|
|
3
3
|
description: Create and manage per-skill customization files for description overrides, enable/disable control, and project-specific markdown instructions. Use when tailoring skill workflows to project-specific needs.
|
|
4
|
+
tags: [customize]
|
|
4
5
|
---
|
|
5
6
|
# Skill Customization Management
|
|
6
7
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: hatch3r-visual-refactor
|
|
3
3
|
description: UI/UX change workflow matching design, accessibility, and responsiveness requirements. Use when making visual changes, updating components, working on UI issues, or implementing design mockups.
|
|
4
|
+
tags: [implementation]
|
|
4
5
|
---
|
|
5
6
|
> **Note:** Commands below use `npm` as an example. Substitute with your project's package manager (`yarn`, `pnpm`, `bun`) or build tool as appropriate.
|
|
6
7
|
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// src/hooks/index.ts
|
|
4
|
-
import { readdir, readFile } from "fs/promises";
|
|
5
|
-
import { join } from "path";
|
|
6
|
-
import { parse as parseYaml } from "yaml";
|
|
7
|
-
async function readHookDefinitions(agentsDir) {
|
|
8
|
-
const hooksDir = join(agentsDir, "hooks");
|
|
9
|
-
let entries;
|
|
10
|
-
try {
|
|
11
|
-
const dirEntries = await readdir(hooksDir);
|
|
12
|
-
entries = dirEntries.filter((f) => f.endsWith(".md"));
|
|
13
|
-
} catch {
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
const hooks = [];
|
|
17
|
-
for (const entry of entries) {
|
|
18
|
-
const content = await readFile(join(hooksDir, entry), "utf-8");
|
|
19
|
-
const hook = parseHookFrontmatter(content);
|
|
20
|
-
if (hook) {
|
|
21
|
-
hooks.push(hook);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return hooks;
|
|
25
|
-
}
|
|
26
|
-
function parseHookFrontmatter(content) {
|
|
27
|
-
const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
|
|
28
|
-
if (!match) return null;
|
|
29
|
-
const parsed = parseYaml(match[1]);
|
|
30
|
-
if (!parsed || typeof parsed !== "object") return null;
|
|
31
|
-
if (!parsed.id || !parsed.event || !parsed.agent) return null;
|
|
32
|
-
const hook = {
|
|
33
|
-
id: String(parsed.id),
|
|
34
|
-
event: String(parsed.event),
|
|
35
|
-
agent: String(parsed.agent),
|
|
36
|
-
description: parsed.description ? String(parsed.description) : ""
|
|
37
|
-
};
|
|
38
|
-
const condition = {};
|
|
39
|
-
let hasCondition = false;
|
|
40
|
-
if (parsed.globs) {
|
|
41
|
-
condition.globs = String(parsed.globs).split(",").map((g) => g.trim());
|
|
42
|
-
hasCondition = true;
|
|
43
|
-
}
|
|
44
|
-
if (parsed.labels) {
|
|
45
|
-
condition.labels = String(parsed.labels).split(",").map((l) => l.trim());
|
|
46
|
-
hasCondition = true;
|
|
47
|
-
}
|
|
48
|
-
if (parsed.branches) {
|
|
49
|
-
condition.branches = String(parsed.branches).split(",").map((b) => b.trim());
|
|
50
|
-
hasCondition = true;
|
|
51
|
-
}
|
|
52
|
-
if (hasCondition) {
|
|
53
|
-
hook.condition = condition;
|
|
54
|
-
}
|
|
55
|
-
return hook;
|
|
56
|
-
}
|
|
57
|
-
export {
|
|
58
|
-
readHookDefinitions
|
|
59
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hatch3r-error-handling
|
|
3
|
-
type: rule
|
|
4
|
-
description: Error handling patterns and conventions for the project
|
|
5
|
-
scope: always
|
|
6
|
-
---
|
|
7
|
-
# Error Handling
|
|
8
|
-
|
|
9
|
-
- Define a structured error hierarchy: base error class with `code`, `message`, `cause`.
|
|
10
|
-
- Never swallow errors silently. Always re-throw or log with context.
|
|
11
|
-
- Use typed error codes (not raw strings). Reference codes in project glossary when applicable.
|
|
12
|
-
- User-facing errors are separate from internal errors. Never expose internal details to clients.
|
|
13
|
-
- Retry with exponential backoff for transient failures (network, rate limits). Honor `Retry-After` on 429.
|
|
14
|
-
- API endpoints return structured error responses `{ code, message, details? }`. Never return stack traces.
|
|
15
|
-
- Use framework error boundaries for UI components. Surface user-friendly fallback UI.
|
|
16
|
-
- Include `correlationId` in all error logs for tracing across client and server.
|
|
17
|
-
- Security: no secrets, tokens, or PII in error messages or logs.
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Error handling patterns and conventions for the project
|
|
3
|
-
alwaysApply: false
|
|
4
|
-
---
|
|
5
|
-
# Error Handling
|
|
6
|
-
|
|
7
|
-
- Define a structured error hierarchy: base error class with `code`, `message`, `cause`.
|
|
8
|
-
- Never swallow errors silently. Always re-throw or log with context.
|
|
9
|
-
- Use typed error codes (not raw strings). Reference codes in project glossary when applicable.
|
|
10
|
-
- User-facing errors are separate from internal errors. Never expose internal details to clients.
|
|
11
|
-
- Retry with exponential backoff for transient failures (network, rate limits). Honor `Retry-After` on 429.
|
|
12
|
-
- API endpoints return structured error responses `{ code, message, details? }`. Never return stack traces.
|
|
13
|
-
- Use framework error boundaries for UI components. Surface user-friendly fallback UI.
|
|
14
|
-
- Include `correlationId` in all error logs for tracing across client and server.
|
|
15
|
-
- Security: no secrets, tokens, or PII in error messages or logs.
|