@harness-forge/cli 1.2.1 → 1.2.3

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 (59) hide show
  1. package/.agents/skills/hforge-analyze/SKILL.md +35 -0
  2. package/.agents/skills/hforge-decide/SKILL.md +29 -0
  3. package/.agents/skills/hforge-init/SKILL.md +34 -0
  4. package/.agents/skills/hforge-refresh/SKILL.md +28 -0
  5. package/.agents/skills/hforge-review/SKILL.md +29 -0
  6. package/AGENTS.md +8 -1
  7. package/README.md +19 -0
  8. package/commands/hforge-analyze.md +55 -0
  9. package/commands/hforge-cartograph.md +35 -0
  10. package/commands/hforge-commands.md +34 -0
  11. package/commands/hforge-decide.md +35 -0
  12. package/commands/hforge-init.md +37 -0
  13. package/commands/hforge-recommend.md +34 -0
  14. package/commands/hforge-recursive.md +34 -0
  15. package/commands/hforge-refresh.md +35 -0
  16. package/commands/hforge-review.md +36 -0
  17. package/commands/hforge-status.md +34 -0
  18. package/commands/hforge-task.md +35 -0
  19. package/commands/hforge-update.md +34 -0
  20. package/dist/application/install/agent-manifest.d.ts +8 -0
  21. package/dist/application/install/agent-manifest.d.ts.map +1 -1
  22. package/dist/application/install/agent-manifest.js +7 -0
  23. package/dist/application/install/agent-manifest.js.map +1 -1
  24. package/dist/application/recommendations/recommend-bundles.d.ts.map +1 -1
  25. package/dist/application/recommendations/recommend-bundles.js +41 -2
  26. package/dist/application/recommendations/recommend-bundles.js.map +1 -1
  27. package/dist/application/runtime/command-catalog.d.ts +7 -0
  28. package/dist/application/runtime/command-catalog.d.ts.map +1 -1
  29. package/dist/application/runtime/command-catalog.js +101 -0
  30. package/dist/application/runtime/command-catalog.js.map +1 -1
  31. package/dist/cli/commands/commands.d.ts.map +1 -1
  32. package/dist/cli/commands/commands.js +5 -1
  33. package/dist/cli/commands/commands.js.map +1 -1
  34. package/dist/domain/intelligence/repo-intelligence.js +1 -1
  35. package/dist/domain/intelligence/repo-intelligence.js.map +1 -1
  36. package/docs/agent-usage-playbook.md +206 -0
  37. package/docs/agents.md +2 -0
  38. package/docs/commands.md +27 -0
  39. package/manifests/bundles/core.json +13 -1
  40. package/manifests/catalog/compatibility-matrix.json +171 -1
  41. package/manifests/catalog/package-surface.json +48 -0
  42. package/package.json +1 -1
  43. package/scripts/intelligence/shared.mjs +243 -58
  44. package/skills/hforge-analyze/SKILL.md +40 -0
  45. package/skills/hforge-analyze/references/analysis-order.md +15 -0
  46. package/skills/hforge-analyze/references/decision-promotion.md +9 -0
  47. package/skills/hforge-analyze/references/output-contract.md +7 -0
  48. package/skills/hforge-decide/SKILL.md +58 -0
  49. package/skills/hforge-decide/references/decision-rubric.md +18 -0
  50. package/skills/hforge-decide/references/output-contract.md +7 -0
  51. package/skills/hforge-init/SKILL.md +58 -0
  52. package/skills/hforge-init/references/bootstrap-order.md +7 -0
  53. package/skills/hforge-init/references/output-contract.md +7 -0
  54. package/skills/hforge-refresh/SKILL.md +52 -0
  55. package/skills/hforge-refresh/references/output-contract.md +7 -0
  56. package/skills/hforge-refresh/references/refresh-order.md +5 -0
  57. package/skills/hforge-review/SKILL.md +57 -0
  58. package/skills/hforge-review/references/output-contract.md +7 -0
  59. package/skills/hforge-review/references/review-order.md +7 -0
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: hforge-decide
3
+ description: create or update durable asr or adr records for harness forge workspaces. use when an analysis or implementation choice changes runtime behavior, package boundaries, support posture, migration strategy, or any other architecture-significant concern that should remain reviewable after the current session.
4
+ ---
5
+
6
+ # HForge Decide
7
+
8
+ ## Trigger Signals
9
+
10
+ - an analysis or implementation choice has architecture-significant consequences
11
+ - the repo already has decision records and the new work should link to them
12
+ - multiple credible options exist and the rationale should stay durable
13
+ - a task pack, impact analysis, or review surfaced a decision candidate that should not stay implicit
14
+
15
+ ## Inspect First
16
+
17
+ - `.hforge/runtime/decisions/index.json`
18
+ - `.hforge/runtime/tasks/`
19
+ - `.hforge/runtime/findings/`
20
+ - `.hforge/runtime/repo/recommendations.json`
21
+ - the most relevant existing ASR or ADR if one already exists
22
+
23
+ ## Workflow
24
+
25
+ 1. frame the decision clearly before writing anything
26
+ 2. inspect related task packs, impact analysis, risk signals, and existing decision records
27
+ 3. create an ASR when the direction is still being evaluated and an ADR when the decision is accepted enough to guide future work
28
+ 4. write the record under `.hforge/runtime/decisions/` with context, decision, consequences, constraints, risks, and follow-up actions
29
+ 5. update supersession or related-record links when the new decision changes an earlier one
30
+
31
+ ## Output Contract
32
+
33
+ - a concise ASR or ADR with explicit status and rationale
34
+ - links to related tasks, impacts, and superseded records
35
+ - follow-up actions or open questions when the work is not fully settled
36
+
37
+ ## Validation Path
38
+
39
+ - `.hforge/runtime/decisions/index.json`
40
+ - `schemas/runtime/decision-record.schema.json`
41
+ - `schemas/runtime/architecture-significance.schema.json`
42
+
43
+ ## Failure Modes
44
+
45
+ - the real decision is still too vague to record
46
+ - there is not enough evidence to justify a durable record yet
47
+ - the new record conflicts with an existing one and the supersession path is unclear
48
+
49
+ ## Escalation
50
+
51
+ - escalate when the decision changes public support or target guarantees
52
+ - escalate when migration or rollback cost is materially different across options
53
+ - escalate when a new record would contradict an existing accepted ADR
54
+
55
+ ## References
56
+
57
+ - `skills/hforge-decide/references/decision-rubric.md`
58
+ - `skills/hforge-decide/references/output-contract.md`
@@ -0,0 +1,18 @@
1
+ # Decision rubric
2
+
3
+ Create or update a record when the choice affects one or more of these:
4
+ - runtime behavior
5
+ - package or bundle boundaries
6
+ - target support posture
7
+ - migration or rollback strategy
8
+ - validation, release, or maintenance guarantees
9
+
10
+ Prefer ASR when:
11
+ - exploration is still active
12
+ - the trade-offs are being narrowed
13
+ - the work needs a reviewable candidate before acceptance
14
+
15
+ Prefer ADR when:
16
+ - the direction is stable enough to guide future work
17
+ - the team needs a durable accepted rationale
18
+ - the decision supersedes an earlier record
@@ -0,0 +1,7 @@
1
+ # Output contract
2
+
3
+ A good `/hforge-decide` result should include:
4
+ - the record type and why it was chosen
5
+ - the decision statement in one or two lines
6
+ - constraints, risks, and consequences
7
+ - task refs or runtime evidence that justify the record
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: hforge-init
3
+ description: initialize harness forge in the current repository, bootstrap the target-aware runtime, and establish the managed surfaces needed for later review, analysis, and decision tracking. use when the repo is not initialized, when runtime files are missing, or when the user asks to set up hforge in a project.
4
+ ---
5
+
6
+ # HForge Init
7
+
8
+ ## Trigger Signals
9
+
10
+ - the repository is not yet initialized for Harness Forge
11
+ - `.hforge/agent-manifest.json` or `.hforge/runtime/index.json` is missing
12
+ - target runtime files such as `.codex/` or `.claude/` are missing or incomplete
13
+ - the user asks to initialize, bootstrap, or wire Harness Forge into a repo
14
+
15
+ ## Inspect First
16
+
17
+ - repository root files such as `README.md`, `package.json`, and CI or target config files
18
+ - `AGENTS.md` and `.agents/skills/` when present
19
+ - `.hforge/agent-manifest.json` and `.hforge/runtime/index.json` when present
20
+ - `.codex/` and `.claude/` bridge surfaces when present
21
+
22
+ ## Workflow
23
+
24
+ 1. inspect the current workspace state with `hforge status --root . --json`
25
+ 2. if the repo is not initialized or target runtime files are absent, run `hforge bootstrap --root . --yes`
26
+ 3. run `hforge refresh --root . --json` after bootstrap so shared runtime summaries are current
27
+ 4. inspect `hforge catalog --json` when bundle or profile visibility matters
28
+ 5. summarize detected targets, installed surfaces, runtime artifacts, and the recommended next command
29
+
30
+ ## Output Contract
31
+
32
+ - initialization status and whether bootstrap was needed
33
+ - detected targets and managed runtime surfaces now present
34
+ - runtime artifacts now available under `.hforge/runtime/`
35
+ - the best next command to run, such as `/hforge-analyze` or `/hforge-review`
36
+
37
+ ## Validation Path
38
+
39
+ - `hforge status --root . --json`
40
+ - `hforge bootstrap --root . --yes`
41
+ - `hforge refresh --root . --json`
42
+
43
+ ## Failure Modes
44
+
45
+ - the repo is not writable
46
+ - the `hforge` launcher is not available
47
+ - target detection is incomplete or no supported target is installed yet
48
+
49
+ ## Escalation
50
+
51
+ - escalate when bootstrap cannot write the project-owned runtime
52
+ - escalate when targets are ambiguous and the repo needs explicit operator intent
53
+ - escalate when package installation or shell setup is missing
54
+
55
+ ## References
56
+
57
+ - `skills/hforge-init/references/bootstrap-order.md`
58
+ - `skills/hforge-init/references/output-contract.md`
@@ -0,0 +1,7 @@
1
+ # Bootstrap order
2
+
3
+ 1. Run `hforge status --root . --json` first to avoid bootstrapping blindly.
4
+ 2. Prefer `hforge bootstrap --root . --yes` when the repo needs one-pass setup.
5
+ 3. Run `hforge refresh --root . --json` immediately after bootstrap so the runtime summary, repo intelligence, and generated indexes are current.
6
+ 4. Only inspect `hforge catalog --json` after the workspace exists and targets are known.
7
+ 5. If bare `hforge` is unavailable, use the workspace-local launcher under `.hforge/generated/bin/` once the repo is initialized.
@@ -0,0 +1,7 @@
1
+ # Output contract
2
+
3
+ A good `/hforge-init` result should include:
4
+ - whether the repo was already initialized or required bootstrap
5
+ - detected target runtimes
6
+ - the highest-value managed surfaces now available
7
+ - the next recommended command and why it should be run next
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: hforge-refresh
3
+ description: refresh shared runtime summaries and generated harness forge artifacts after install changes, repo changes, or stale analysis state. use when the runtime is present but outdated, incomplete, or no longer trustworthy.
4
+ ---
5
+
6
+ # HForge Refresh
7
+
8
+ ## Trigger Signals
9
+
10
+ - runtime summaries are stale after installs or content changes
11
+ - repo-intelligence artifacts no longer match the current repository state
12
+ - the user explicitly asks to refresh the project-owned runtime
13
+ - a later review or analysis should not rely on outdated runtime state
14
+
15
+ ## Inspect First
16
+
17
+ - `.hforge/runtime/index.json`
18
+ - `.hforge/generated/agent-command-catalog.json`
19
+ - `.hforge/runtime/repo/`
20
+
21
+ ## Workflow
22
+
23
+ 1. run `hforge refresh --root . --json`
24
+ 2. follow with `hforge status --root . --json` when install-state confirmation matters
25
+ 3. summarize regenerated artifacts, remaining gaps, and the best next action
26
+
27
+ ## Output Contract
28
+
29
+ - confirmation that refresh ran or why it could not
30
+ - refreshed runtime artifacts and any remaining missing prerequisites
31
+ - the next command to run, usually `/hforge-analyze` or `/hforge-review`
32
+
33
+ ## Validation Path
34
+
35
+ - `hforge refresh --root . --json`
36
+ - `hforge status --root . --json`
37
+
38
+ ## Failure Modes
39
+
40
+ - the repo is not initialized
41
+ - required runtime files or launchers are missing
42
+ - refresh cannot reconcile the current install state
43
+
44
+ ## Escalation
45
+
46
+ - escalate when refresh cannot complete without a fresh bootstrap
47
+ - escalate when runtime summaries regenerate but still disagree with the repo
48
+
49
+ ## References
50
+
51
+ - `skills/hforge-refresh/references/refresh-order.md`
52
+ - `skills/hforge-refresh/references/output-contract.md`
@@ -0,0 +1,7 @@
1
+ # Output contract
2
+
3
+ A good `/hforge-refresh` result should include:
4
+ - whether refresh succeeded
5
+ - which runtime surfaces were regenerated
6
+ - what still looks stale or blocked
7
+ - the next command that should be run now that the runtime is current
@@ -0,0 +1,5 @@
1
+ # Refresh order
2
+
3
+ 1. `hforge refresh --root . --json`
4
+ 2. `hforge status --root . --json`
5
+ 3. inspect `.hforge/runtime/repo/` and `.hforge/generated/agent-command-catalog.json` if follow-up verification is needed
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: hforge-review
3
+ description: runtime health review for harness forge workspaces. use when the user wants drift checks, decision coverage, stale task review, managed-surface integrity, or a clear pass-fail summary of the current runtime state.
4
+ ---
5
+
6
+ # HForge Review
7
+
8
+ ## Trigger Signals
9
+
10
+ - the user asks whether the current Harness Forge setup is healthy
11
+ - runtime drift, stale task artifacts, or missing managed surfaces are suspected
12
+ - a handoff, release, or package refresh needs a concise review first
13
+ - decision coverage and runtime governance need to be checked before moving on
14
+
15
+ ## Inspect First
16
+
17
+ - `.hforge/runtime/index.json`
18
+ - `.hforge/runtime/decisions/index.json`
19
+ - `.hforge/runtime/tasks/`
20
+ - `.hforge/generated/agent-command-catalog.json`
21
+ - `.hforge/agent-manifest.json`
22
+
23
+ ## Workflow
24
+
25
+ 1. run `hforge review --root . --json`
26
+ 2. if installation drift is suspected, run `hforge doctor --root . --json`
27
+ 3. if package-surface integrity is suspected, run `hforge audit --root . --json`
28
+ 4. summarize blockers, warnings, stale runtime artifacts, decision gaps, and the best cleanup order
29
+
30
+ ## Output Contract
31
+
32
+ - runtime health summary with blocker, warning, and cleanup sections
33
+ - decision-coverage and stale-task callouts when relevant
34
+ - the next remediation command to run
35
+
36
+ ## Validation Path
37
+
38
+ - `hforge review --root . --json`
39
+ - `hforge doctor --root . --json`
40
+ - `hforge audit --root . --json`
41
+
42
+ ## Failure Modes
43
+
44
+ - the workspace is not initialized
45
+ - review signals are incomplete because runtime summaries are stale
46
+ - doctor or audit cannot read the current install state
47
+
48
+ ## Escalation
49
+
50
+ - escalate when install drift risks losing managed state
51
+ - escalate when audit shows package-surface mismatches that need a maintainer fix
52
+ - escalate when runtime findings and source-of-truth manifests disagree
53
+
54
+ ## References
55
+
56
+ - `skills/hforge-review/references/review-order.md`
57
+ - `skills/hforge-review/references/output-contract.md`
@@ -0,0 +1,7 @@
1
+ # Output contract
2
+
3
+ A good `/hforge-review` result should include:
4
+ - whether the runtime is healthy enough to trust
5
+ - what is stale, drifted, or missing
6
+ - what can be fixed by refresh versus what needs a maintainer change
7
+ - the single best next remediation step
@@ -0,0 +1,7 @@
1
+ # Review order
2
+
3
+ 1. `hforge review --root . --json`
4
+ 2. `.hforge/runtime/decisions/index.json`
5
+ 3. `.hforge/runtime/tasks/`
6
+ 4. `hforge doctor --root . --json` when managed surfaces look incomplete
7
+ 5. `hforge audit --root . --json` when package-surface integrity matters