@skyf0xx/hedgehog 5.1.4 → 5.1.7
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/bin/cli.mjs
CHANGED
|
@@ -686,7 +686,11 @@ async function init({ force, core, host = DEFAULT_HOST, hostOnly = false }) {
|
|
|
686
686
|
dim(
|
|
687
687
|
` Read ${bold(`${agents}/planner.md`)} and follow it — it runs planning\n` +
|
|
688
688
|
` intake (${skills}/hedgehog-planning-intake/SKILL.md), then hands\n` +
|
|
689
|
-
` off to ${agents}/bootstrap.md
|
|
689
|
+
` off to ${agents}/bootstrap.md.\n` +
|
|
690
|
+
` Some hosts register agents/skills once, at session start: if a\n` +
|
|
691
|
+
` later dispatch by name reports one of these as not found, read\n` +
|
|
692
|
+
` its file directly instead — it becomes dispatchable by name after\n` +
|
|
693
|
+
` a session restart or a fresh context.`,
|
|
690
694
|
),
|
|
691
695
|
);
|
|
692
696
|
console.log();
|
|
@@ -811,6 +815,14 @@ async function update({ hosts }) {
|
|
|
811
815
|
'write-once content.',
|
|
812
816
|
),
|
|
813
817
|
);
|
|
818
|
+
console.log(
|
|
819
|
+
dim(
|
|
820
|
+
'Some hosts register agents/skills once, at session start: a renamed or\n' +
|
|
821
|
+
'newly-added one may not be dispatchable by name until this session\n' +
|
|
822
|
+
'restarts or a fresh context starts — read its file directly if a\n' +
|
|
823
|
+
'name-based dispatch reports it as not found.',
|
|
824
|
+
),
|
|
825
|
+
);
|
|
814
826
|
}
|
|
815
827
|
|
|
816
828
|
// Returned by resolveInstalledCore when the project has a core but its
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyf0xx/hedgehog",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.7",
|
|
4
4
|
"description": "Install the Hedgehog build discipline (agents + skills) into a repo, for Claude Code, Cursor, or Gemini CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"check": "node scripts/check.mjs",
|
|
18
18
|
"repro": "node --experimental-sqlite repro/run-all.mjs",
|
|
19
|
-
"release": "npm version patch -m \"chore: bump version to %s\""
|
|
19
|
+
"release": "npm version patch -m \"chore: bump version to %s\"",
|
|
20
|
+
"release:plugin": "node scripts/bump-plugin-version.mjs"
|
|
20
21
|
},
|
|
21
22
|
"files": [
|
|
22
23
|
"bin",
|
package/src/agents/tweaker.md
CHANGED
|
@@ -211,30 +211,6 @@ discipline as `.hedgehog/BMAD/`. A later related incident is its own new
|
|
|
211
211
|
4. **Repeat step 3** for as many tweaks as the user has, one at a time —
|
|
212
212
|
don't batch unrelated tweaks into one commit.
|
|
213
213
|
|
|
214
|
-
## Self-test
|
|
215
|
-
|
|
216
|
-
- Job 2 ran at most once for this build — but within that run, every
|
|
217
|
-
distinct real pattern the friction log showed, and every distinct
|
|
218
|
-
feedback item the user actually gave, got its own suggested issue, not
|
|
219
|
-
just the single clearest one.
|
|
220
|
-
- The user was directly asked for feedback, separate from the friction
|
|
221
|
-
log — job 2 didn't skip straight to filing friction issues without
|
|
222
|
-
asking.
|
|
223
|
-
- Entries (or feedback items) that trace to the same underlying gap were
|
|
224
|
-
grouped into one issue, not filed as duplicates.
|
|
225
|
-
- Shown content is literal/final and correctly labeled — never a
|
|
226
|
-
summary, never altered post-approval, and never created without an
|
|
227
|
-
explicit approval on that specific issue's exact shown content.
|
|
228
|
-
- Every tweak is its own commit, scoped to what the user actually asked
|
|
229
|
-
for — no drive-by refactor riding along on a color change.
|
|
230
|
-
- A request that's actually new scope was routed onward — to `planner`'s
|
|
231
|
-
Re-entry pass on a module axis, or to the Correction Protocol's
|
|
232
|
-
post-build entry otherwise — not built here, and the user was told the
|
|
233
|
-
build is extendable, not that the request was refused.
|
|
234
|
-
- The `ROADMAP.md`/contributing mention happened at most once for this
|
|
235
|
-
build, stayed to one sentence, and wasn't repeated or pressed after a
|
|
236
|
-
"no" or silence.
|
|
237
|
-
|
|
238
214
|
## Constraints
|
|
239
215
|
|
|
240
216
|
- Never create a GitHub issue against the user's own project repo — job
|
|
@@ -22,12 +22,6 @@ export const AGENT_CAPABILITY = {
|
|
|
22
22
|
'pwa-eng': 'full',
|
|
23
23
|
tweaker: 'full',
|
|
24
24
|
|
|
25
|
-
// Author artifacts, but never run commands.
|
|
26
|
-
'landing-headline-writer': 'no-bash',
|
|
27
|
-
'landing-sequencer': 'no-bash',
|
|
28
|
-
'landing-strategist': 'no-bash',
|
|
29
|
-
'landing-systems': 'no-bash',
|
|
30
|
-
|
|
31
25
|
// Inspect and report; the verification command (and, for the Polish
|
|
32
26
|
// Loop reviewers, the build/screenshot/interaction commands) is theirs
|
|
33
27
|
// to run.
|
|
@@ -35,9 +29,6 @@ export const AGENT_CAPABILITY = {
|
|
|
35
29
|
'landing-visual-reviewer': 'readonly-bash',
|
|
36
30
|
'landing-ux-reviewer': 'readonly-bash',
|
|
37
31
|
|
|
38
|
-
// Inspect and report only.
|
|
39
|
-
'landing-critic': 'readonly',
|
|
40
|
-
|
|
41
32
|
// Write its rationale artifact, nothing else.
|
|
42
33
|
'ux-planner': 'write-only',
|
|
43
34
|
};
|
|
@@ -6,6 +6,14 @@ context with its own tool grant. The skills in `.claude/skills/` are
|
|
|
6
6
|
available the same way; invoke one by name rather than reimplementing what
|
|
7
7
|
it describes.
|
|
8
8
|
|
|
9
|
+
Claude Code reads that registration once, at session start — an agent or
|
|
10
|
+
skill file written mid-session (by `hedgehog init` or `hedgehog update`
|
|
11
|
+
just now) is not yet dispatchable by name in this session. If a name-based
|
|
12
|
+
dispatch reports it as not found, read the file directly from
|
|
13
|
+
`.claude/agents/` or `.claude/skills/` and follow it inline instead of
|
|
14
|
+
retrying the dispatch; it becomes dispatchable by name after a session
|
|
15
|
+
restart or a fresh context.
|
|
16
|
+
|
|
9
17
|
Clear context with `/clear` at the unit boundaries described above —
|
|
10
18
|
`hedgehog boundary` tells you whether you're at one (exit 0), and
|
|
11
19
|
`hedgehog boundary --handoff` is what the next session starts from.
|
|
@@ -117,14 +117,3 @@ back-and-forth to extract the facts.
|
|
|
117
117
|
(`Addresses the "<item name>" item in ROADMAP.md`, or `Fixes #<n>`).
|
|
118
118
|
7. **Report the PR URL** `gh` returns and stop — don't merge, don't push
|
|
119
119
|
further commits without being asked.
|
|
120
|
-
|
|
121
|
-
## Self-test
|
|
122
|
-
|
|
123
|
-
- The change happened in a Hedgehog repo clone, never inside the user's own
|
|
124
|
-
project directory.
|
|
125
|
-
- The PR is scoped to one agent, one skill, one template, or one host —
|
|
126
|
-
not a bundle of unrelated changes.
|
|
127
|
-
- The install smoke test actually ran and actually confirmed the specific
|
|
128
|
-
change, not just that `init` exits zero.
|
|
129
|
-
- Commit messages and the PR title follow Conventional Commits.
|
|
130
|
-
- Nothing was merged or force-pushed without the user explicitly asking.
|