@heart-of-gold/toolkit 0.1.21 → 0.1.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heart-of-gold/toolkit",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "type": "module",
5
5
  "description": "Cross-platform installer for Heart of Gold skills — works with Codex, OpenCode, Pi, Claude Code, and more",
6
6
  "bin": {
@@ -41,20 +41,22 @@ Hard rule: do not use `plan` for ordinary reviews just because it sounds safe. F
41
41
  - review / analysis / debugging: `default`
42
42
  - implementation / refactor / fix: `acceptEdits`
43
43
  - strict read-only planning requested by the user: `plan`
44
- 3. Pick a sane `--max-turns`:
44
+ 3. Treat `--max-turns` as an optional circuit breaker, not a default quality knob.
45
+ - omit it for long repo reviews or investigations unless you specifically need a hard cap
45
46
  - narrow question or follow-up: `3`
46
47
  - normal file or diff review: `6`
47
- - multi-directory repo review or investigation: `8`
48
- - implementation / refactor: `10` to `12`
48
+ - implementation / refactor when you must bound automation: `10` to `12`
49
49
  4. Do not add `--effort high` by default. Use the CLI default unless the user explicitly wants deeper reasoning or the task is unusually ambiguous.
50
50
  5. Assemble the direct `claude` command with the appropriate options:
51
51
  - `-p, --print`
52
- - `--output-format text`
52
+ - `--output-format text` for short runs that should complete quickly
53
+ - `--output-format stream-json --verbose` for long repo reviews, investigations, or any run where you need progress visibility
53
54
  - `--model <MODEL>`
54
55
  - `--permission-mode <MODE>`
55
- - `--max-turns <N>`
56
+ - `--max-turns <N>` only when you intentionally want to cap the run
56
57
  - `"your prompt here"` immediately after `-p` when using variadic flags like `--allowedTools`
57
- - `--allowedTools <TOOL> [<TOOL> ...]` when you want predictable read-only repo inspection
58
+ - `--allowedTools <TOOL> [<TOOL> ...]` only to pre-approve tools without prompting
59
+ - `--disallowedTools <TOOL> [<TOOL> ...]` when you actually need to prevent specific tools
58
60
  6. Run the command, capture the output, and summarize Claude's actual result.
59
61
  7. If Claude does not actually return output, stop and report failure plainly.
60
62
 
@@ -64,6 +66,8 @@ When this skill is used from Codex, use the execution path that actually works h
64
66
 
65
67
  - For real Claude runs in this environment, prefer `exec_command` with `sandbox_permissions: "require_escalated"`.
66
68
  - Do not treat the sandboxed path as normal. Direct `claude -p` has been verified to work outside the sandbox and to hang or misbehave inside it.
69
+ - For long repo reviews from Codex, prefer `--output-format stream-json --verbose` so progress is visible. Plain `text` output can remain silent for a long time even when Claude is actively working.
70
+ - For long repo reviews from Codex, do not default to a low `--max-turns`. Claude may spend several turns exploring the repo before producing the review.
67
71
  - Use a narrow approval request tied to the Claude invocation, for example:
68
72
  - "Do you want me to run Claude Code outside the sandbox so it can complete this review?"
69
73
  - "Do you want me to run Claude Code with network/auth access so it can complete this task?"
@@ -78,11 +82,12 @@ Use this as the default review path:
78
82
  ```bash
79
83
  claude -p \
80
84
  "Review this repository and return findings ordered by severity with file references where possible." \
81
- --output-format text \
85
+ --output-format stream-json \
86
+ --verbose \
82
87
  --model sonnet \
83
88
  --permission-mode default \
84
- --max-turns 8 \
85
- --allowedTools "Read" "Grep" "Glob" "LS" "Bash(git status:*)" "Bash(git diff:*)"
89
+ --allowedTools "Read" "Grep" "Glob" "LS" "Bash(git status:*)" "Bash(git diff:*)" \
90
+ --disallowedTools "Edit" "Write" "NotebookEdit"
86
91
  ```
87
92
 
88
93
  ### 2. Review current changes only
@@ -103,11 +108,12 @@ Use this when the prompt names several directories or asks for deeper inspection
103
108
  ```bash
104
109
  claude -p \
105
110
  "Inspect the relevant parts of this repo, evaluate the design, and return evidence-based findings ordered by severity." \
106
- --output-format text \
111
+ --output-format stream-json \
112
+ --verbose \
107
113
  --model opus \
108
114
  --permission-mode default \
109
- --max-turns 8 \
110
- --allowedTools "Read" "Grep" "Glob" "LS" "Bash(git status:*)" "Bash(git diff:*)"
115
+ --allowedTools "Read" "Grep" "Glob" "LS" "Bash(git status:*)" "Bash(git diff:*)" \
116
+ --disallowedTools "Edit" "Write" "NotebookEdit"
111
117
  ```
112
118
 
113
119
  ### 4. Implementation or refactor
@@ -138,10 +144,13 @@ claude -r latest -p "Focus only on the open issue you identified earlier and pro
138
144
 
139
145
  - Stop and report failures whenever `claude --version` or a `claude -p` command exits non-zero.
140
146
  - If Claude reaches `max turns`, report that plainly. Do not paraphrase it as a hang.
141
- - If Claude hangs or returns no output, report that plainly and stop.
147
+ - Do not assume a repo review should fit in `6` or `8` turns. Exploration-heavy runs can legitimately need more.
148
+ - If `--output-format text` stays silent during a long repo review, do not assume it is hung. Re-run or start with `--output-format stream-json --verbose` to confirm whether Claude is actively working.
149
+ - If Claude truly hangs or returns no output even in streaming mode, report that plainly and stop.
142
150
  - Do not substitute your own review and imply it came from Claude.
143
151
  - Do not automatically switch to `plan` after a failed `default` run.
144
152
  - Do not pass the prompt after `--allowedTools`, because this CLI can consume it as another allowed tool and then fail with "Input must be provided..."
153
+ - Do not describe `--allowedTools` as a strict read-only sandbox. It pre-approves tools; it does not, by itself, ban other tools.
145
154
  - Do not automatically fall back to giant `cat file1 file2 ... | claude ...` pipelines.
146
155
  - Do not use the bundled wrapper unless the user explicitly asks for it or you are debugging the invocation itself.
147
156
 
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ import { targetsCommand } from "./commands/targets";
7
7
  const main = defineCommand({
8
8
  meta: {
9
9
  name: "heart-of-gold",
10
- version: "0.1.21",
10
+ version: "0.1.23",
11
11
  description:
12
12
  "Cross-platform installer for Heart of Gold skills — Codex, OpenCode, Pi, Claude Code, and more",
13
13
  },