hatch3r 2.0.0 → 2.1.1

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.
Files changed (66) hide show
  1. package/README.md +1 -0
  2. package/dist/cli/index.js +783 -422
  3. package/dist/content/agents/hatch3r-brownfield-spec.md +1 -1
  4. package/dist/content/agents/hatch3r-fixer.md +1 -1
  5. package/dist/content/agents/hatch3r-handoff-preparer.md +4 -16
  6. package/dist/content/agents/hatch3r-implementer.md +1 -1
  7. package/dist/content/agents/hatch3r-reviewer.md +1 -1
  8. package/dist/content/agents/shared/efficiency-patterns.md +1 -1
  9. package/dist/content/agents/shared/quality-charter.md +3 -3
  10. package/dist/content/agents/shared/severity-mapping.md +1 -1
  11. package/dist/content/agents/shared/triage-vocabulary.md +1 -1
  12. package/dist/content/agents/shared/user-content-templates.md +1 -1
  13. package/dist/content/agents/shared/user-question-protocol.md +3 -3
  14. package/dist/content/commands/hatch3r-api-spec.md +4 -16
  15. package/dist/content/commands/hatch3r-auth-scaffold.md +7 -20
  16. package/dist/content/commands/hatch3r-benchmark.md +4 -16
  17. package/dist/content/commands/hatch3r-board-fill.md +4 -16
  18. package/dist/content/commands/hatch3r-board-pickup.md +4 -16
  19. package/dist/content/commands/hatch3r-bug-pipeline.md +3 -15
  20. package/dist/content/commands/hatch3r-bug-plan.md +4 -16
  21. package/dist/content/commands/hatch3r-codebase-map.md +4 -16
  22. package/dist/content/commands/hatch3r-create.md +4 -16
  23. package/dist/content/commands/hatch3r-debug.md +4 -16
  24. package/dist/content/commands/hatch3r-diagnose.md +10 -18
  25. package/dist/content/commands/hatch3r-feature-plan.md +4 -16
  26. package/dist/content/commands/hatch3r-handoff.md +4 -16
  27. package/dist/content/commands/hatch3r-healthcheck.md +4 -16
  28. package/dist/content/commands/hatch3r-incident-response.md +3 -15
  29. package/dist/content/commands/hatch3r-migration-plan.md +4 -16
  30. package/dist/content/commands/hatch3r-onboard.md +5 -17
  31. package/dist/content/commands/hatch3r-pack-install.md +6 -29
  32. package/dist/content/commands/hatch3r-pr-resolve.md +11 -53
  33. package/dist/content/commands/hatch3r-project-spec.md +4 -16
  34. package/dist/content/commands/hatch3r-quick-change.md +4 -16
  35. package/dist/content/commands/hatch3r-refactor-plan.md +4 -16
  36. package/dist/content/commands/hatch3r-release.md +5 -15
  37. package/dist/content/commands/hatch3r-revision.md +4 -16
  38. package/dist/content/commands/hatch3r-roadmap.md +4 -16
  39. package/dist/content/commands/hatch3r-security-audit.md +4 -16
  40. package/dist/content/commands/hatch3r-slo-scaffold.md +8 -20
  41. package/dist/content/commands/hatch3r-spec.md +11 -16
  42. package/dist/content/commands/hatch3r-test-plan.md +4 -16
  43. package/dist/content/commands/hatch3r-workflow.md +4 -16
  44. package/dist/content/commands/shared/orchestration-frame.md +2 -2
  45. package/dist/content/rules/hatch3r-agent-orchestration.md +1 -1
  46. package/dist/content/rules/hatch3r-agent-orchestration.mdc +1 -1
  47. package/dist/content/rules/hatch3r-anti-duplication.md +6 -4
  48. package/dist/content/rules/hatch3r-anti-duplication.mdc +6 -4
  49. package/dist/content/rules/hatch3r-clarification-default.md +2 -2
  50. package/dist/content/rules/hatch3r-clarification-default.mdc +2 -2
  51. package/dist/content/rules/hatch3r-cost-visibility.md +11 -4
  52. package/dist/content/rules/hatch3r-cost-visibility.mdc +11 -4
  53. package/dist/content/rules/hatch3r-handoff-readiness.md +1 -1
  54. package/dist/content/rules/hatch3r-handoff-readiness.mdc +1 -1
  55. package/dist/content/rules/hatch3r-iteration-summary.md +45 -49
  56. package/dist/content/rules/hatch3r-iteration-summary.mdc +45 -49
  57. package/dist/content/rules/hatch3r-learning-system.md +6 -6
  58. package/dist/content/rules/hatch3r-learning-system.mdc +6 -6
  59. package/dist/content/rules/hatch3r-reviewer-calibration.md +2 -2
  60. package/dist/content/rules/hatch3r-reviewer-calibration.mdc +2 -2
  61. package/dist/content/rules/hatch3r-tool-currency.md +1 -1
  62. package/dist/content/rules/hatch3r-tool-currency.mdc +1 -1
  63. package/dist/content/skills/hatch3r-adhoc-orchestrate/SKILL.md +1 -1
  64. package/dist/content/skills/hatch3r-handoff-prepare/SKILL.md +4 -4
  65. package/dist/content/skills/hatch3r-report/SKILL.md +1 -1
  66. package/package.json +5 -3
@@ -97,9 +97,9 @@ Before answering project-specific questions, these agents MUST read `.hatch3r/le
97
97
  - `hatch3r-researcher`
98
98
  - `hatch3r-fixer`
99
99
 
100
- Bound agents cite consulted entry IDs in the iteration summary's `Open Questions / Blockers` or a dedicated `Consulted Learnings:` line. Citing zero entries when `applies-to` matched is a gate failure visible at audit time.
100
+ Bound agents cite consulted entry IDs in the `consulted` facet of the Iteration Summary's `Learnings:` exception line (`Learnings: consulted <ids> · …` per `rules/hatch3r-iteration-summary.md` Exception Lines). Citing zero entries when `applies-to` matched is a fired condition with no line — a gate failure visible at audit time.
101
101
 
102
- When `.hatch3r/learnings/INDEX.md` does not exist or contains zero entries: consultation step is recorded as "no learnings available" in the iteration summary and the agent proceeds.
102
+ When `.hatch3r/learnings/INDEX.md` does not exist or contains zero entries: the `Learnings:` line stays silent in the Iteration Summary — silence asserts "no learnings available" per the recap contract and the agent proceeds.
103
103
 
104
104
  ### Consultation Efficiency
105
105
 
@@ -108,7 +108,7 @@ The gate above binds at task start; these heuristics bound its token cost (D6-17
108
108
  1. **Scan the INDEX table first.** Read `.hatch3r/learnings/INDEX.md` and match each row's `Topic` + `Applies-To` against the current task; read the full body only for matched rows. Do not read every learning file body.
109
109
  2. **Limit surfaced learnings to 5 per consultation.** When more than 5 match, prioritize by `confidence` (high > medium > low) then `created` (recent first).
110
110
  3. **Consult once per task.** When an upstream step already consulted for this task (e.g. `hatch3r-board-pickup` Step 6, before delegation), the orchestrator passes the matched learnings to sub-agents as prompt enrichment instead of re-consulting per sub-agent.
111
- 4. **Skip below 3 files.** When `.hatch3r/learnings/` holds fewer than 3 entries, consultation overhead exceeds value — record "no learnings available" and proceed (same recording as the empty-INDEX case above).
111
+ 4. **Skip below 3 files.** When `.hatch3r/learnings/` holds fewer than 3 entries, consultation overhead exceeds value — proceed under the same silent default as the empty-INDEX case above.
112
112
 
113
113
  ### Mid-Task Consult Content Security (ASI06)
114
114
 
@@ -122,9 +122,9 @@ The Injection Gate above is the deterministic JS read-path scan; a mid-task cons
122
122
 
123
123
  The Mandatory Consultation Gate fires once, before work starts (write-then-consult). State-of-art assistants additionally surface knowledge *during* the edit (ambient-teach). To close that gap without runtime support, bound agents surface relevant learnings inline as they touch files:
124
124
 
125
- - **Trigger:** while editing, when the file or pattern being changed matches a captured learning, surface that learning inline in the iteration summary BEFORE completing the edit (not only at Step 0).
125
+ - **Trigger:** while editing, when the file or pattern being changed matches a captured learning, surface that learning inline via the `surfaced` facet of the Iteration Summary's `Learnings:` exception line — BEFORE completing the edit (not only at Step 0).
126
126
  - **Relevant-learning criteria** (any one qualifies): (1) **path overlap** — the edited path matches the learning's `applies-to` glob; (2) **applies-to match** — an explicit module/path-prefix hit; (3) **semantic overlap** — the edit intent matches the learning `topic` (e.g. editing a retry path while a `topic: retry-backoff` learning exists).
127
- - **Surfacing format:** add a `Surfaced Learnings:` line to the iteration summary citing the entry IDs and a one-clause why-relevant; cite zero only when none matched.
127
+ - **Surfacing format:** cite the entry IDs in the `surfaced` facet of the Iteration Summary's `Learnings:` exception line with a one-clause why-relevant; when none matched the facet is omitted — silence asserts zero.
128
128
  - **Bound agents:** `hatch3r-implementer`, `hatch3r-fixer` (the code-mutating agents whose edits benefit most). This complements — does not replace — the once-per-run Consultation Gate above.
129
129
 
130
130
  ## Auto-Consolidation
@@ -157,7 +157,7 @@ When a trigger fires:
157
157
 
158
158
  1. The capturing agent writes a new file `.hatch3r/learnings/<id>.md` with the structured frontmatter and a body paragraph (rule + Why + How to apply).
159
159
  2. The agent regenerates `.hatch3r/learnings/INDEX.md` from the directory contents.
160
- 3. The iteration summary records the captured learning ID under `Learnings Captured`.
160
+ 3. The Iteration Summary records the captured learning ID in the `captured` facet of the `Learnings:` exception line.
161
161
 
162
162
  Project-local; learnings never escape the project boundary. The canonical framework repository's `agents/` and `rules/` do not consume project learnings.
163
163
 
@@ -64,7 +64,7 @@ Append exactly one record per second pass to `.hatch3r/calibration-log.jsonl` (p
64
64
  {"timestamp":"<ISO-8601>","first_pass_verdict":"PASS","second_pass_verdict":"PASS|REQUEST CHANGES","divergent":false,"second_pass_model_class":"different|re-roll","consecutive_clean_count":5,"trigger":"cadence|high-risk"}
65
65
  ```
66
66
 
67
- `consecutive_clean_count` is the post-increment cross-run count at firing time; `trigger` records which Trigger branch fired (`high-risk` when the diff touched a safety-class surface and the second pass fired on the first clean PASS under the `N=1` fast path). `second_pass_model_class` is `different` for a cross-family second pass or `re-roll` for the same-family fallback; a `re-roll` record corresponds to a `calibration: degraded (same-family re-roll)` verdict annotation per Action. The project-local over-claim rate derived from this log feeds the iteration-summary `Confidence` field per `rules/hatch3r-iteration-summary.md`.
67
+ `consecutive_clean_count` is the post-increment cross-run count at firing time; `trigger` records which Trigger branch fired (`high-risk` when the diff touched a safety-class surface and the second pass fired on the first clean PASS under the `N=1` fast path). `second_pass_model_class` is `different` for a cross-family second pass or `re-roll` for the same-family fallback; a `re-roll` record corresponds to a `calibration: degraded (same-family re-roll)` verdict annotation per Action. The project-local over-claim rate derived from this log feeds the `Confidence:` exception line of the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`.
68
68
 
69
69
  ## Unavailability (visible skip, never silent)
70
70
 
@@ -79,6 +79,6 @@ Skip the second pass ONLY when no second model class is available AND the orches
79
79
 
80
80
  - `agents/hatch3r-reviewer.md` §Runtime Confidence Calibration — the consuming agent body that invokes this contract (accessed 2026-05-28, trust tier: canonical).
81
81
  - The across-cycle calibration protocol §Runtime complement (F13.2-F1) — the across-cycle measurement loop this runtime bound complements (accessed 2026-05-28, trust tier: canonical).
82
- - `rules/hatch3r-iteration-summary.md` — consumes the project-local over-claim rate for the `Confidence` field (accessed 2026-05-28, trust tier: canonical).
82
+ - `rules/hatch3r-iteration-summary.md` — consumes the project-local over-claim rate for the `Confidence:` exception line (accessed 2026-05-28, trust tier: canonical).
83
83
  - Tian, Z. et al. "Overconfidence in LLM-as-a-Judge: Diagnosis and Confidence-Driven Solution" (arxiv:2508.06225). `https://arxiv.org/abs/2508.06225` (accessed 2026-06-09, peer-reviewed-methodology). Evidence that an LLM judge's predicted confidence significantly overstates realized correctness (the Overconfidence Phenomenon), so a self-reported clean PASS is structurally over-trusted — motivating the out-of-band second pass.
84
84
  - Huang, J. et al. "Large Language Models Cannot Self-Correct Reasoning Yet." ICLR 2024 (arxiv:2310.01798). `https://arxiv.org/abs/2310.01798` (accessed 2026-06-06, peer-reviewed-methodology). Evidence that same-model self-critique shares the generator's blind spot, motivating the different-model-class setup recommendation in Action and the lowered safety-class `N=1` second-pass cadence (D23-2).
@@ -64,7 +64,7 @@ Append exactly one record per second pass to `.hatch3r/calibration-log.jsonl` (p
64
64
  {"timestamp":"<ISO-8601>","first_pass_verdict":"PASS","second_pass_verdict":"PASS|REQUEST CHANGES","divergent":false,"second_pass_model_class":"different|re-roll","consecutive_clean_count":5,"trigger":"cadence|high-risk"}
65
65
  ```
66
66
 
67
- `consecutive_clean_count` is the post-increment cross-run count at firing time; `trigger` records which Trigger branch fired (`high-risk` when the diff touched a safety-class surface and the second pass fired on the first clean PASS under the `N=1` fast path). `second_pass_model_class` is `different` for a cross-family second pass or `re-roll` for the same-family fallback; a `re-roll` record corresponds to a `calibration: degraded (same-family re-roll)` verdict annotation per Action. The project-local over-claim rate derived from this log feeds the iteration-summary `Confidence` field per `rules/hatch3r-iteration-summary.md`.
67
+ `consecutive_clean_count` is the post-increment cross-run count at firing time; `trigger` records which Trigger branch fired (`high-risk` when the diff touched a safety-class surface and the second pass fired on the first clean PASS under the `N=1` fast path). `second_pass_model_class` is `different` for a cross-family second pass or `re-roll` for the same-family fallback; a `re-roll` record corresponds to a `calibration: degraded (same-family re-roll)` verdict annotation per Action. The project-local over-claim rate derived from this log feeds the `Confidence:` exception line of the recap-contract Iteration Summary per `rules/hatch3r-iteration-summary.md`.
68
68
 
69
69
  ## Unavailability (visible skip, never silent)
70
70
 
@@ -79,6 +79,6 @@ Skip the second pass ONLY when no second model class is available AND the orches
79
79
 
80
80
  - `agents/hatch3r-reviewer.md` §Runtime Confidence Calibration — the consuming agent body that invokes this contract (accessed 2026-05-28, trust tier: canonical).
81
81
  - The across-cycle calibration protocol §Runtime complement (F13.2-F1) — the across-cycle measurement loop this runtime bound complements (accessed 2026-05-28, trust tier: canonical).
82
- - `rules/hatch3r-iteration-summary.md` — consumes the project-local over-claim rate for the `Confidence` field (accessed 2026-05-28, trust tier: canonical).
82
+ - `rules/hatch3r-iteration-summary.md` — consumes the project-local over-claim rate for the `Confidence:` exception line (accessed 2026-05-28, trust tier: canonical).
83
83
  - Tian, Z. et al. "Overconfidence in LLM-as-a-Judge: Diagnosis and Confidence-Driven Solution" (arxiv:2508.06225). `https://arxiv.org/abs/2508.06225` (accessed 2026-06-09, peer-reviewed-methodology). Evidence that an LLM judge's predicted confidence significantly overstates realized correctness (the Overconfidence Phenomenon), so a self-reported clean PASS is structurally over-trusted — motivating the out-of-band second pass.
84
84
  - Huang, J. et al. "Large Language Models Cannot Self-Correct Reasoning Yet." ICLR 2024 (arxiv:2310.01798). `https://arxiv.org/abs/2310.01798` (accessed 2026-06-06, peer-reviewed-methodology). Evidence that same-model self-critique shares the generator's blind spot, motivating the different-model-class setup recommendation in Action and the lowered safety-class `N=1` second-pass cadence (D23-2).
@@ -61,7 +61,7 @@ Adding a new tool to `src/cliTools/registry.ts::AVAILABLE_CLI_TOOLS` MUST satisf
61
61
  7. **Capability matrix** — `src/adapters/canonical.ts` renders the skill to all 3 adapter outputs (cursor, claude, copilot); the per-adapter render path is tested in `src/__tests__/adapters/{name}.test.ts`.
62
62
  8. **Alternative-tool comparison** — the PR body lists at least 2 named alternatives considered (with rejection rationale citing measurable trade-offs); avoids tool-duplication per `rules/hatch3r-anti-duplication.md`.
63
63
  9. **Probe binary registration** — the `probe` field on the registry entry names the binary used by `detectInstalled()`; the probe MUST be the exact executable name printed by the install command output (e.g. `rg` for ripgrep, `fd` for fd, `jq` for jq).
64
- 10. **Iteration-summary entry** — the addition emits one row in `rules/hatch3r-iteration-summary.md` §Changes Made with the registry-entry diff link, per the iteration-summary template.
64
+ 10. **Iteration-summary entry** — the addition emits one line in the recap-contract Iteration Summary citing the registry-entry diff link, per `rules/hatch3r-iteration-summary.md`.
65
65
 
66
66
  ## Removing or Demoting a Tool
67
67
 
@@ -56,7 +56,7 @@ Adding a new tool to `src/cliTools/registry.ts::AVAILABLE_CLI_TOOLS` MUST satisf
56
56
  7. **Capability matrix** — `src/adapters/canonical.ts` renders the skill to all 3 adapter outputs (cursor, claude, copilot); the per-adapter render path is tested in `src/__tests__/adapters/{name}.test.ts`.
57
57
  8. **Alternative-tool comparison** — the PR body lists at least 2 named alternatives considered (with rejection rationale citing measurable trade-offs); avoids tool-duplication per `rules/hatch3r-anti-duplication.md`.
58
58
  9. **Probe binary registration** — the `probe` field on the registry entry names the binary used by `detectInstalled()`; the probe MUST be the exact executable name printed by the install command output (e.g. `rg` for ripgrep, `fd` for fd, `jq` for jq).
59
- 10. **Iteration-summary entry** — the addition emits one row in `rules/hatch3r-iteration-summary.md` §Changes Made with the registry-entry diff link, per the iteration-summary template.
59
+ 10. **Iteration-summary entry** — the addition emits one line in the recap-contract Iteration Summary citing the registry-entry diff link, per `rules/hatch3r-iteration-summary.md`.
60
60
 
61
61
  ## Removing or Demoting a Tool
62
62
 
@@ -85,7 +85,7 @@ Fan-out scales with task decomposition, not token budget (P8 B2 dominates P7): N
85
85
 
86
86
  ## Step 4: Emit the End-of-Turn Delegation Attestation Template
87
87
 
88
- Every turn that mutated files at Tier >= 2 emits the attestation block immediately BEFORE the Iteration Summary (beside it, not inside it — the iteration-summary contract stays verbatim), per `rules/hatch3r-agent-orchestration.md` -> End-of-Turn Delegation Attestation:
88
+ Every turn that mutated files at Tier >= 2 emits the attestation block immediately BEFORE the Iteration Summary (beside it, not inside it — the recap contract stays verbatim), per `rules/hatch3r-agent-orchestration.md` -> End-of-Turn Delegation Attestation:
89
89
 
90
90
  ```
91
91
  [hatch3r-delegation-attestation]
@@ -57,13 +57,13 @@ Populate the 8 required sections in the order defined by the README schema:
57
57
  - {decision with one-line rationale}
58
58
 
59
59
  ## Work Done
60
- - {bullet from the most recent Iteration Summary block's Done section}
60
+ - {bullet from the most recent Iteration Summary recap's outcome + files facet}
61
61
 
62
62
  ## Work Remaining
63
- - {bullet from the Iteration Summary block's Not Done / Deferred / Unverified section}
63
+ - {bullet per the recap's `Not done:` item; absent line write "None — full scope completed"}
64
64
 
65
65
  ## Blockers
66
- - {bullet from the Iteration Summary block's Open Questions / Blockers section, or "None"}
66
+ - {bullet per the recap's `Blockers:` item; absent line write "None"}
67
67
 
68
68
  ## Next Steps
69
69
  1. {ordered, actionable}
@@ -83,7 +83,7 @@ Populate the 8 required sections in the order defined by the README schema:
83
83
  --- END USER-TIER CONTENT: handoff ---
84
84
  ```
85
85
 
86
- **Provenance constraint:** `Work Done`, `Work Remaining`, and `Blockers` are copied **verbatim** from the session's most recent Iteration Summary block (per `rules/hatch3r-iteration-summary.md`). Do not paraphrase the contract is exact reuse so loaders can correlate handoff state with prior turn output.
86
+ **Provenance constraint:** `Work Done`, `Work Remaining`, and `Blockers` derive from the session's most recent Iteration Summary per the Handoff Mapping in `rules/hatch3r-iteration-summary.md`: Work Done ← recap outcome + files facet; Work Remaining ← `Not done:` line, absent ⇒ `None — full scope completed`; Blockers ← `Blockers:` line, absent ⇒ `None`. Present lines are copied **verbatim** — do not paraphrase; the contract is exact reuse so loaders can correlate handoff state with prior turn output.
87
87
 
88
88
  **Hard cap:** body ≤ 51,200 bytes (50 KB). If exceeded:
89
89
 
@@ -167,4 +167,4 @@ Each fired record: `{id, severity, turns:[n,...], evidence, suggestion}`. Consol
167
167
  - **Mask obvious secret patterns** (`sk-`, `ghp_`, `xoxb-`, `AIza`, `Bearer `) in any rendered tool_use input — substitute `{REDACTED-{prefix}}`. The transcript may contain ephemeral tokens from user pastes.
168
168
  - **Never write outside `.hatch3r/reports/`.** The `--save` target is fixed; do not honor flags or env vars that redirect output to other paths.
169
169
  - **Never abort on a malformed record.** Skip-and-count is the contract; aborting would hide the rest of the session from the operator (Silent Failure Contract — surface the skip count rather than swallowing it).
170
- - **Honor the iteration summary contract** (`rules/hatch3r-iteration-summary.md`) at the end of the parent assistant turn that invoked this skill. The report content is not a substitute for the canonical Status / Outcome / Done block.
170
+ - **Honor the iteration summary contract** (`rules/hatch3r-iteration-summary.md`) at the end of the parent assistant turn that invoked this skill. The report content is not a substitute for the canonical recap (status + outcome + telemetry facets).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hatch3r",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "description": "Agentic coding setup framework audited each release across 24 governance domains. One command to hatch your agent stack -- agents, skills, rules, commands, and MCP for Claude Code, Cursor, and GitHub Copilot.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -19,7 +19,7 @@
19
19
  "inventory": "tsx scripts/inventory.ts",
20
20
  "inventory:check-docs": "tsx scripts/inventory.ts --check-docs",
21
21
  "validate:rule-parity": "tsx scripts/validate-rule-parity.ts && tsx scripts/validate-rule-pillar-currency.ts",
22
- "validate:efficiency": "tsx scripts/validate-efficiency-invariants.ts && tsx scripts/validate-bridge-budget.ts && tsx scripts/validate-fanout-emission.ts && tsx scripts/validate-tag-order.ts && tsx scripts/validate-modes-parity.ts && tsx scripts/validate-governance-currency.ts && tsx scripts/validate-traceability-matrix.ts && tsx scripts/validate-decision-id-consistency.ts && tsx scripts/validate-repo-token-adoption.ts && tsx scripts/validate-verify-gate-literals.ts && tsx scripts/validate-customize-doc-examples.ts && tsx scripts/validate-archive-path-currency.ts && tsx scripts/validate-references-currency.ts && tsx scripts/validate-pricing-currency.ts && tsx scripts/validate-subagent-casing.ts && tsx scripts/validate-governance-total.ts",
22
+ "validate:efficiency": "tsx scripts/validate-efficiency-invariants.ts && tsx scripts/validate-bridge-budget.ts && tsx scripts/validate-fanout-emission.ts && tsx scripts/validate-tag-order.ts && tsx scripts/validate-modes-parity.ts && tsx scripts/validate-governance-currency.ts && tsx scripts/validate-traceability-matrix.ts && tsx scripts/validate-decision-id-consistency.ts && tsx scripts/validate-repo-token-adoption.ts && tsx scripts/validate-verify-gate-literals.ts && tsx scripts/validate-customize-doc-examples.ts && tsx scripts/validate-archive-path-currency.ts && tsx scripts/validate-references-currency.ts && tsx scripts/validate-pricing-currency.ts && tsx scripts/validate-subagent-casing.ts && tsx scripts/validate-governance-total.ts && tsx scripts/validate-lean-threshold-currency.ts",
23
23
  "validate:subagent-casing": "tsx scripts/validate-subagent-casing.ts",
24
24
  "validate:references-currency": "tsx scripts/validate-references-currency.ts",
25
25
  "validate:pricing-currency": "tsx scripts/validate-pricing-currency.ts",
@@ -64,7 +64,9 @@
64
64
  "ai-agents",
65
65
  "mcp",
66
66
  "skills",
67
- "rules"
67
+ "rules",
68
+ "typescript",
69
+ "cli"
68
70
  ],
69
71
  "author": "hatch3r",
70
72
  "license": "MIT",