@harness-forge/cli 1.2.2 → 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 (57) 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 +2 -2
  7. package/README.md +5 -2
  8. package/commands/hforge-cartograph.md +35 -0
  9. package/commands/hforge-commands.md +34 -0
  10. package/commands/hforge-decide.md +35 -0
  11. package/commands/hforge-init.md +37 -0
  12. package/commands/hforge-recommend.md +34 -0
  13. package/commands/hforge-recursive.md +34 -0
  14. package/commands/hforge-refresh.md +35 -0
  15. package/commands/hforge-review.md +36 -0
  16. package/commands/hforge-status.md +34 -0
  17. package/commands/hforge-task.md +35 -0
  18. package/commands/hforge-update.md +34 -0
  19. package/dist/application/install/agent-manifest.d.ts +8 -0
  20. package/dist/application/install/agent-manifest.d.ts.map +1 -1
  21. package/dist/application/install/agent-manifest.js +7 -0
  22. package/dist/application/install/agent-manifest.js.map +1 -1
  23. package/dist/application/recommendations/recommend-bundles.d.ts.map +1 -1
  24. package/dist/application/recommendations/recommend-bundles.js +41 -2
  25. package/dist/application/recommendations/recommend-bundles.js.map +1 -1
  26. package/dist/application/runtime/command-catalog.d.ts +7 -0
  27. package/dist/application/runtime/command-catalog.d.ts.map +1 -1
  28. package/dist/application/runtime/command-catalog.js +101 -0
  29. package/dist/application/runtime/command-catalog.js.map +1 -1
  30. package/dist/cli/commands/commands.d.ts.map +1 -1
  31. package/dist/cli/commands/commands.js +5 -1
  32. package/dist/cli/commands/commands.js.map +1 -1
  33. package/dist/domain/intelligence/repo-intelligence.js +1 -1
  34. package/dist/domain/intelligence/repo-intelligence.js.map +1 -1
  35. package/docs/agent-usage-playbook.md +12 -4
  36. package/docs/commands.md +12 -1
  37. package/manifests/bundles/core.json +11 -0
  38. package/manifests/catalog/compatibility-matrix.json +171 -1
  39. package/manifests/catalog/package-surface.json +42 -0
  40. package/package.json +1 -1
  41. package/scripts/intelligence/shared.mjs +187 -51
  42. package/skills/hforge-analyze/SKILL.md +40 -0
  43. package/skills/hforge-analyze/references/analysis-order.md +15 -0
  44. package/skills/hforge-analyze/references/decision-promotion.md +9 -0
  45. package/skills/hforge-analyze/references/output-contract.md +7 -0
  46. package/skills/hforge-decide/SKILL.md +58 -0
  47. package/skills/hforge-decide/references/decision-rubric.md +18 -0
  48. package/skills/hforge-decide/references/output-contract.md +7 -0
  49. package/skills/hforge-init/SKILL.md +58 -0
  50. package/skills/hforge-init/references/bootstrap-order.md +7 -0
  51. package/skills/hforge-init/references/output-contract.md +7 -0
  52. package/skills/hforge-refresh/SKILL.md +52 -0
  53. package/skills/hforge-refresh/references/output-contract.md +7 -0
  54. package/skills/hforge-refresh/references/refresh-order.md +5 -0
  55. package/skills/hforge-review/SKILL.md +57 -0
  56. package/skills/hforge-review/references/output-contract.md +7 -0
  57. package/skills/hforge-review/references/review-order.md +7 -0
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: "hforge-analyze"
3
+ description: "Analyze the current repository using Harness Forge runtime surfaces, refresh stale findings when needed, summarize repo shape and risks, and promote architecture-significant findings into durable notes or decision candidates."
4
+ compatibility: "Works best in repositories already initialized with Harness Forge, but may bootstrap first if needed."
5
+ metadata:
6
+ author: "harness-forge"
7
+ source: "skills/hforge-analyze/SKILL.md"
8
+ ---
9
+
10
+ ## User Input
11
+
12
+ ```text
13
+ $ARGUMENTS
14
+ ```
15
+
16
+ You must consider the user input before proceeding.
17
+
18
+ ## Goal
19
+
20
+ Use Harness Forge as the primary repo-analysis system instead of re-deriving the repository state from scratch.
21
+
22
+ ## Execution
23
+
24
+ 1. Treat the text after `/hforge-analyze` as the focus area or analysis lens.
25
+ 2. Inspect `.hforge/agent-manifest.json`, `.hforge/runtime/index.json`, and `.hforge/runtime/repo/` first when present.
26
+ 3. Run `hforge status --root . --json`.
27
+ 4. If runtime artifacts are missing or stale, run `hforge refresh --root . --json`.
28
+ 5. Run `hforge review --root . --json` when health, decision coverage, or stale task state matters.
29
+ 6. Summarize:
30
+ - repo shape
31
+ - dominant languages and frameworks
32
+ - risks and validation gaps
33
+ - recommended next actions
34
+ 7. When the analysis reveals architecture-significant changes, promote them into an ASR or ADR under `.hforge/runtime/decisions/`.
35
+ 8. Keep product code unchanged unless the user explicitly asks for edits.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: "hforge-decide"
3
+ description: "Create or update a durable ASR or ADR for architecture-significant repository findings so the reasoning survives the current session."
4
+ compatibility: "Works best in Harness Forge workspaces with runtime decision surfaces."
5
+ metadata:
6
+ author: "harness-forge"
7
+ source: "skills/hforge-decide/SKILL.md"
8
+ ---
9
+
10
+ ## User Input
11
+
12
+ ```text
13
+ $ARGUMENTS
14
+ ```
15
+
16
+ You must consider the user input before proceeding.
17
+
18
+ ## Goal
19
+
20
+ Turn a meaningful technical choice into a durable decision artifact under `.hforge/runtime/decisions/`.
21
+
22
+ ## Execution
23
+
24
+ 1. Treat the text after `/hforge-decide` as the decision topic or scope.
25
+ 2. Inspect `.hforge/runtime/decisions/index.json` first when present.
26
+ 3. Inspect the most relevant task pack, impact analysis, repo findings, and existing related decisions.
27
+ 4. Use an ASR when the direction is still being evaluated and an ADR when the decision is accepted enough to guide future work.
28
+ 5. Write a concise, reviewable record with context, decision, consequences, and follow-up items.
29
+ 6. Explicitly link superseded or related decisions when applicable.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: "hforge-init"
3
+ description: "Bootstrap Harness Forge in the current repository, install or refresh the project-owned runtime, and summarize the managed surfaces that are now available."
4
+ compatibility: "Requires a repository where Harness Forge can write project-owned runtime files."
5
+ metadata:
6
+ author: "harness-forge"
7
+ source: "skills/hforge-init/SKILL.md"
8
+ ---
9
+
10
+ ## User Input
11
+
12
+ ```text
13
+ $ARGUMENTS
14
+ ```
15
+
16
+ You must consider the user input before proceeding.
17
+
18
+ ## Goal
19
+
20
+ Initialize the current repository for Harness Forge usage and make the installed runtime easy to inspect and use.
21
+
22
+ ## Execution
23
+
24
+ 1. Treat the text after `/hforge-init` as optional setup hints such as target preference or setup intent.
25
+ 2. Check whether `.hforge/agent-manifest.json` or `.hforge/runtime/index.json` already exists.
26
+ 3. Run `hforge status --root . --json` first.
27
+ 4. If the repository is not initialized or required target runtime surfaces are missing, run `hforge bootstrap --root . --yes`.
28
+ 5. Run `hforge refresh --root . --json` after bootstrap or whenever runtime summaries look incomplete.
29
+ 6. Summarize:
30
+ - detected targets
31
+ - installed managed surfaces
32
+ - runtime artifacts now available
33
+ - the best next command to run
34
+ 7. If bootstrap cannot run safely, explain the blocker and list the minimum next manual step.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: "hforge-refresh"
3
+ description: "Refresh Harness Forge runtime summaries and generated state after install changes, content updates, or stale repo-intelligence artifacts."
4
+ compatibility: "Requires a repository where Harness Forge runtime artifacts already exist or can be bootstrapped."
5
+ metadata:
6
+ author: "harness-forge"
7
+ source: "skills/hforge-refresh/SKILL.md"
8
+ ---
9
+
10
+ ## User Input
11
+
12
+ ```text
13
+ $ARGUMENTS
14
+ ```
15
+
16
+ You must consider the user input before proceeding.
17
+
18
+ ## Goal
19
+
20
+ Regenerate the shared runtime summaries and report what changed.
21
+
22
+ ## Execution
23
+
24
+ 1. Treat the text after `/hforge-refresh` as optional focus notes.
25
+ 2. Run `hforge refresh --root . --json`.
26
+ 3. Run `hforge status --root . --json` after refresh when install-state confirmation matters.
27
+ 4. Summarize refreshed runtime artifacts, any missing prerequisites, and the best next command.
28
+ 5. If refresh fails because the repo is not initialized, recommend `/hforge-init` as the next step.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: "hforge-review"
3
+ description: "Review Harness Forge runtime health, decision coverage, drift, stale task artifacts, and managed-surface integrity for the current repository."
4
+ compatibility: "Requires an initialized Harness Forge workspace for full value."
5
+ metadata:
6
+ author: "harness-forge"
7
+ source: "skills/hforge-review/SKILL.md"
8
+ ---
9
+
10
+ ## User Input
11
+
12
+ ```text
13
+ $ARGUMENTS
14
+ ```
15
+
16
+ You must consider the user input before proceeding.
17
+
18
+ ## Goal
19
+
20
+ Produce a runtime-health review instead of a generic repo summary.
21
+
22
+ ## Execution
23
+
24
+ 1. Treat the text after `/hforge-review` as optional review emphasis.
25
+ 2. Run `hforge review --root . --json` first.
26
+ 3. If the review suggests installation drift or missing managed surfaces, run `hforge doctor --root . --json`.
27
+ 4. If package-surface integrity is in doubt, run `hforge audit --root . --json`.
28
+ 5. Summarize blockers, warnings, stale artifacts, decision gaps, and the highest-value cleanup steps.
29
+ 6. Do not mutate runtime state unless the user asks for a follow-up fix.
package/AGENTS.md CHANGED
@@ -12,7 +12,7 @@ Use the thin visible bridge surfaces first in installed workspaces:
12
12
  - `.hforge/runtime/index.json` and `.hforge/runtime/README.md` for shared runtime state and bridge resolution
13
13
  - `.hforge/generated/agent-command-catalog.json` for safe command discovery
14
14
  - `docs/agent-usage-playbook.md` for concrete command-resolution guidance, operator prompts, and examples that promote actual Harness Forge usage
15
- - `commands/hforge-analyze.md` for runtimes that support slash-style markdown command entrypoints such as `/hforge-analyze`
15
+ - `commands/hforge-init.md`, `commands/hforge-analyze.md`, `commands/hforge-review.md`, `commands/hforge-refresh.md`, `commands/hforge-decide.md`, `commands/hforge-status.md`, `commands/hforge-commands.md`, `commands/hforge-recommend.md`, `commands/hforge-cartograph.md`, `commands/hforge-task.md`, `commands/hforge-recursive.md`, and `commands/hforge-update.md` for runtimes that support slash-style markdown command entrypoints such as `/hforge-analyze`
16
16
 
17
17
  ## Mode awareness
18
18
 
@@ -92,7 +92,7 @@ Use the thin visible bridge surfaces first in installed workspaces:
92
92
  ## Command discovery and execution
93
93
 
94
94
  - for first use in a repo, prefer `npx @harness-forge/cli`
95
- - prefer `hforge commands --json` or `.hforge/generated/agent-command-catalog.json` to discover shipped CLI commands and npm scripts before inventing a command path
95
+ - prefer `hforge commands --json` or `.hforge/generated/agent-command-catalog.json` to discover shipped CLI commands, markdown-backed agent commands, and npm scripts before inventing a command path
96
96
  - resolve CLI execution in this order inside an installed workspace: `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
97
97
  - prefer `hforge status --root . --json` to inspect the installed workspace state
98
98
  - prefer `hforge catalog --json` to review installed bundles, packs, and profiles
package/README.md CHANGED
@@ -727,8 +727,11 @@ That playbook includes:
727
727
  - examples for task artifacts, decision records, recursive mode, and support verification
728
728
 
729
729
  In runtimes that expose packaged markdown commands, Harness Forge can also ship
730
- triggerable command docs such as `/hforge-analyze`, alongside supporting
731
- command surfaces like `commands/plan.md` and `commands/test.md`.
730
+ triggerable command docs such as `/hforge-init`, `/hforge-analyze`,
731
+ `/hforge-review`, `/hforge-refresh`, `/hforge-decide`, `/hforge-status`,
732
+ `/hforge-commands`, `/hforge-recommend`, `/hforge-cartograph`,
733
+ `/hforge-task`, `/hforge-recursive`, and `/hforge-update`, alongside
734
+ supporting command surfaces like `commands/plan.md` and `commands/test.md`.
732
735
 
733
736
  ---
734
737
 
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: command-hforge-cartograph
3
+ kind: command
4
+ title: Harness Cartograph Command
5
+ summary: Use when an agent should build or inspect repo maps, service boundaries, hotspots, and validation gaps before planning or implementation.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Cartograph Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-cartograph` followed by the repo area, risk, or architecture
23
+ question that needs deeper investigation.
24
+
25
+ ## Expected workflow
26
+
27
+ 1. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
28
+ 2. run `hforge cartograph . --json`
29
+ 3. when boundary or recommendation context is needed, run `hforge classify-boundaries . --json` and `hforge recommend . --json`
30
+ 4. summarize dominant languages, likely service boundaries, risk hotspots, validation gaps, and the next best command or skill to use
31
+
32
+ ## Failure behavior
33
+
34
+ - if the workspace is not initialized, the command may still run through `npx @harness-forge/cli`
35
+ - keep repo topology and support claims tied to the generated evidence, not inference alone
@@ -0,0 +1,34 @@
1
+ ---
2
+ id: command-hforge-commands
3
+ kind: command
4
+ title: Harness Commands Command
5
+ summary: Use when an agent should inspect the shipped Harness Forge command catalog before inventing an execution path.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Commands Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-commands`.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
27
+ 2. run `hforge commands --json`
28
+ 3. prefer the agent-safe variants and the markdown command entrypoints from the generated catalog before inventing commands
29
+ 4. summarize the best command or trigger for the task at hand
30
+
31
+ ## Failure behavior
32
+
33
+ - if the command catalog is missing, recommend `hforge refresh --root . --json`
34
+ - if the workspace is not initialized, recommend `/hforge-init`
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: command-hforge-decide
3
+ kind: command
4
+ title: Harness Decide Command
5
+ summary: Use when an agent should capture an architecture-significant choice as a durable ASR or ADR inside the Harness Forge runtime.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Decide Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-decide` followed by the decision topic or scope.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. inspect `.hforge/runtime/decisions/index.json`, relevant task-runtime artifacts, and runtime findings first
27
+ 2. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
28
+ 3. choose ASR when the direction is still being evaluated and ADR when the decision is stable enough to guide later work
29
+ 4. write or update the durable record under `.hforge/runtime/decisions/`
30
+ 5. summarize the decision statement, rationale, constraints, consequences, and related runtime evidence
31
+
32
+ ## Failure behavior
33
+
34
+ - if the decision is still too vague, say so and list the missing evidence
35
+ - if the new record would contradict an accepted ADR, call that out explicitly before writing
@@ -0,0 +1,37 @@
1
+ ---
2
+ id: command-hforge-init
3
+ kind: command
4
+ title: Harness Init Command
5
+ summary: Use when an agent should initialize or bootstrap Harness Forge in the current repository before deeper analysis or implementation.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Init Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-init` followed by optional target or setup hints.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. inspect `AGENTS.md`, `.hforge/agent-manifest.json`, and `.hforge/runtime/index.json` when present
27
+ 2. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
28
+ 3. run `hforge status --root . --json` before bootstrapping blindly
29
+ 4. run `hforge bootstrap --root . --yes` when the repo is not initialized or required target surfaces are missing
30
+ 5. follow with `hforge refresh --root . --json` so runtime summaries and indexes are current
31
+ 6. summarize detected targets, installed surfaces, and the best next command
32
+
33
+ ## Failure behavior
34
+
35
+ - if the repo is not writable, explain the blocker instead of retrying blindly
36
+ - if the launcher is unavailable, fall back to `npx @harness-forge/cli`
37
+ - do not claim initialization succeeded unless the managed runtime surfaces now exist
@@ -0,0 +1,34 @@
1
+ ---
2
+ id: command-hforge-recommend
3
+ kind: command
4
+ title: Harness Recommend Command
5
+ summary: Use when an agent should run repo-intelligence and recommendation flows before setup, architecture, or implementation work.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Recommend Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-recommend` followed by the active repo question or focus area.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
27
+ 2. run `hforge recommend . --json`
28
+ 3. when the task needs deeper shape analysis, run `hforge cartograph . --json` and `hforge classify-boundaries . --json`
29
+ 4. summarize dominant languages, frameworks, risks, validation gaps, and the most relevant recommended bundles, skills, or profiles
30
+
31
+ ## Failure behavior
32
+
33
+ - if the workspace is not initialized, the command may still run from `npx @harness-forge/cli`
34
+ - keep support claims tied to recommendation evidence, not assumptions
@@ -0,0 +1,34 @@
1
+ ---
2
+ id: command-hforge-recursive
3
+ kind: command
4
+ title: Harness Recursive Command
5
+ summary: Use when an agent should escalate difficult work into recursive structured-analysis with durable session and run artifacts.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ languages:
12
+ - all
13
+ generated: false
14
+ ---
15
+ # Harness Recursive Command
16
+
17
+ ## Syntax
18
+
19
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
20
+ for example `/hforge-recursive` followed by the investigation goal, task id, or
21
+ the specific recursive structured-analysis step you want to run.
22
+
23
+ ## Expected workflow
24
+
25
+ 1. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
26
+ 2. run `hforge recursive capabilities --root . --json` before claiming language support
27
+ 3. create or inspect a session with `hforge recursive plan ... --root . --json` or `hforge recursive inspect <sessionId> --root . --json`
28
+ 4. submit structured analysis with `hforge recursive run <sessionId> --file <snippet>` or `--stdin`
29
+ 5. inspect durable results with `hforge recursive runs <sessionId> --root . --json` and `hforge recursive inspect-run <sessionId> <runId> --root . --json`
30
+
31
+ ## Failure behavior
32
+
33
+ - if the current language is not supported, say so explicitly and fall back to non-recursive investigation
34
+ - do not imply recursive-native parity on partial targets; keep support claims aligned with the capability map
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: command-hforge-refresh
3
+ kind: command
4
+ title: Harness Refresh Command
5
+ summary: Use when an agent should regenerate Harness Forge runtime summaries and repo-intelligence artifacts after install or content changes.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Refresh Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-refresh` with optional notes about what changed.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. inspect `.hforge/runtime/index.json`, `.hforge/runtime/repo/`, and `.hforge/generated/agent-command-catalog.json` first when present
27
+ 2. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
28
+ 3. run `hforge refresh --root . --json`
29
+ 4. run `hforge status --root . --json` when install-state confirmation matters
30
+ 5. summarize which runtime artifacts were regenerated and what to inspect next
31
+
32
+ ## Failure behavior
33
+
34
+ - if the repo is not initialized, recommend `/hforge-init`
35
+ - do not pretend refresh repaired drift that still needs `doctor`, `audit`, or a maintainer fix
@@ -0,0 +1,36 @@
1
+ ---
2
+ id: command-hforge-review
3
+ kind: command
4
+ title: Harness Review Command
5
+ summary: Use when an agent should review runtime health, drift, decision coverage, and stale task artifacts in an installed Harness Forge workspace.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Review Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-review` followed by optional review focus notes.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. inspect `.hforge/runtime/index.json`, `.hforge/runtime/decisions/`, and `.hforge/runtime/tasks/` first when present
27
+ 2. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
28
+ 3. run `hforge review --root . --json`
29
+ 4. run `hforge doctor --root . --json` when managed surfaces look incomplete or drifted
30
+ 5. run `hforge audit --root . --json` when packaged-surface integrity is in doubt
31
+ 6. summarize blockers, warnings, stale runtime artifacts, and the single best next remediation step
32
+
33
+ ## Failure behavior
34
+
35
+ - if the workspace is not initialized, say so explicitly and recommend `/hforge-init`
36
+ - do not mutate runtime state unless the operator asks for a fix
@@ -0,0 +1,34 @@
1
+ ---
2
+ id: command-hforge-status
3
+ kind: command
4
+ title: Harness Status Command
5
+ summary: Use when an agent should inspect the current Harness Forge workspace state before acting.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Status Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-status` followed by optional focus notes.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
27
+ 2. run `hforge status --root . --json`
28
+ 3. inspect `.hforge/runtime/index.json`, `.hforge/agent-manifest.json`, and installed target bridges when they exist
29
+ 4. summarize installed targets, visibility mode, important runtime surfaces, and the best next command
30
+
31
+ ## Failure behavior
32
+
33
+ - if the workspace is not initialized, recommend `/hforge-init`
34
+ - if the launcher is unavailable, fall back to `npx @harness-forge/cli`
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: command-hforge-task
3
+ kind: command
4
+ title: Harness Task Command
5
+ summary: Use when an agent should inspect Harness Forge task-runtime folders, task packs, and linked artifacts for the current work item.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Task Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-task` followed by a task id or the current task description.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
27
+ 2. run `hforge task list --root . --json`
28
+ 3. if a task id is known, run `hforge task inspect <taskId> --root . --json`
29
+ 4. when task-pack detail matters, run `hforge pack inspect <taskId> --root . --json`
30
+ 5. summarize the most relevant task-runtime artifacts and the next recommended action
31
+
32
+ ## Failure behavior
33
+
34
+ - if no task folders exist, say so explicitly instead of implying the runtime is broken
35
+ - if the workspace is not initialized, recommend `/hforge-init`
@@ -0,0 +1,34 @@
1
+ ---
2
+ id: command-hforge-update
3
+ kind: command
4
+ title: Harness Update Command
5
+ summary: Use when an agent should preview or apply a non-destructive Harness Forge package refresh while preserving gathered runtime state.
6
+ status: stable
7
+ owner: core
8
+ applies_to:
9
+ - codex
10
+ - claude-code
11
+ - cursor
12
+ - opencode
13
+ languages:
14
+ - all
15
+ generated: false
16
+ ---
17
+ # Harness Update Command
18
+
19
+ ## Syntax
20
+
21
+ Invoke this command in runtimes that support markdown-backed command entrypoints,
22
+ for example `/hforge-update` followed by optional version or safety notes.
23
+
24
+ ## Expected workflow
25
+
26
+ 1. resolve command execution through `.hforge/generated/bin/hforge(.cmd|.ps1)` first, bare `hforge` second, and `npx @harness-forge/cli` last
27
+ 2. run `hforge update --root . --dry-run --yes` first when the user wants a preview
28
+ 3. run `hforge update --root . --yes` or `hforge upgrade --root . --yes` only when the operator wants to apply the refresh
29
+ 4. summarize preserved runtime state, backup location, and the best post-update validation commands such as `review`, `doctor`, or `audit`
30
+
31
+ ## Failure behavior
32
+
33
+ - if the workspace is not initialized, recommend `/hforge-init` instead of forcing an update
34
+ - do not claim gathered runtime state will be preserved unless the managed update flow is actually used
@@ -18,6 +18,7 @@ export interface AgentManifest {
18
18
  machineReadableManifest: string;
19
19
  sharedRuntimeIndex: string;
20
20
  commandCatalog: string;
21
+ markdownCommandRoot: string;
21
22
  installState: string;
22
23
  };
23
24
  resolutionOrder: string[];
@@ -33,6 +34,13 @@ export interface AgentManifest {
33
34
  localLaunchers: string[];
34
35
  commandExecution: {
35
36
  preferredOrder: string[];
37
+ markdownCommands: Array<{
38
+ id: string;
39
+ trigger: string;
40
+ docPath: string;
41
+ description: string;
42
+ relatedCliCommandIds: string[];
43
+ }>;
36
44
  modes: Array<{
37
45
  id: string;
38
46
  platform: "any" | "windows" | "posix";
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manifest.d.ts","sourceRoot":"","sources":["../../../src/application/install/agent-manifest.ts"],"names":[],"mappings":"AAkCA,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EACJ,YAAY,GACZ,WAAW,GACX,qBAAqB,GACrB,eAAe,GACf,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAAC;IACrB,UAAU,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAChE,kBAAkB,EAAE,KAAK,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QACX,wBAAwB,EAAE,MAAM,CAAC;QACjC,uBAAuB,EAAE,MAAM,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,KAAK,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE;QAChB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;YACtC,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC;IACF,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA+HD,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,WAAW,SAAe,GACzB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC,CAkHpD"}
1
+ {"version":3,"file":"agent-manifest.d.ts","sourceRoot":"","sources":["../../../src/application/install/agent-manifest.ts"],"names":[],"mappings":"AAmCA,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EACJ,YAAY,GACZ,WAAW,GACX,qBAAqB,GACrB,eAAe,GACf,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAAC;IACrB,UAAU,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAChE,kBAAkB,EAAE,KAAK,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QACX,wBAAwB,EAAE,MAAM,CAAC;QACjC,uBAAuB,EAAE,MAAM,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,KAAK,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE;QAChB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,gBAAgB,EAAE,KAAK,CAAC;YACtB,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,oBAAoB,EAAE,MAAM,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;YACtC,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;KACJ,CAAC;IACF,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAmID,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,WAAW,SAAe,GACzB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC,CAuHpD"}