gm-skill 2.0.1286 → 2.0.1287
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/README.md +1 -1
- package/bin/bootstrap.js +50 -0
- package/bin/plugkit.version +1 -1
- package/bin/plugkit.wasm +0 -0
- package/bin/plugkit.wasm.sha256 +1 -1
- package/gm.json +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ An earlier generation fanned out fifteen per-platform downstream repos (gm-cc, g
|
|
|
35
35
|
|
|
36
36
|
## Version
|
|
37
37
|
|
|
38
|
-
`2.0.
|
|
38
|
+
`2.0.1287` — auto-bumped from the canonical `gm` repo. Every push to `AnEntrypoint/gm` (or any cascading sibling crate) republishes this package.
|
|
39
39
|
|
|
40
40
|
## Source of truth
|
|
41
41
|
|
package/bin/bootstrap.js
CHANGED
|
@@ -64,6 +64,55 @@ function ensureSkillMdCurrent(wrapperDir) {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
function ensureNextStepWiring(cwd) {
|
|
68
|
+
const changes = [];
|
|
69
|
+
const gmDir = path.join(cwd, '.gm');
|
|
70
|
+
try { fs.mkdirSync(gmDir, { recursive: true }); }
|
|
71
|
+
catch (e) { obsEvent('bootstrap', 'next-step.wiring.target-failed', { target: gmDir, error: e.message }); }
|
|
72
|
+
|
|
73
|
+
const nextStepPath = path.join(gmDir, 'next-step.md');
|
|
74
|
+
const nextStepBody = '# Next step\n\nDispatch the `instruction` verb to plugkit by writing `.gm/exec-spool/in/instruction/<N>.txt` (any unique N) with body `{}` (or `{"prompt":"<user request>"}` on the first dispatch of the turn). Read the response from `.gm/exec-spool/out/<N>.json` and follow the imperative in the `instruction` field.\n\nThis file is auto-rewritten by plugkit on every instruction dispatch.\n';
|
|
75
|
+
try {
|
|
76
|
+
if (!fs.existsSync(nextStepPath)) {
|
|
77
|
+
fs.writeFileSync(nextStepPath, nextStepBody);
|
|
78
|
+
changes.push('seeded .gm/next-step.md');
|
|
79
|
+
}
|
|
80
|
+
} catch (e) { obsEvent('bootstrap', 'next-step.wiring.target-failed', { target: nextStepPath, error: e.message }); }
|
|
81
|
+
|
|
82
|
+
const claudeMdPath = path.join(cwd, 'CLAUDE.md');
|
|
83
|
+
try {
|
|
84
|
+
if (!fs.existsSync(claudeMdPath)) {
|
|
85
|
+
fs.writeFileSync(claudeMdPath, '@AGENTS.md\n');
|
|
86
|
+
changes.push('created CLAUDE.md');
|
|
87
|
+
} else {
|
|
88
|
+
const cur = fs.readFileSync(claudeMdPath, 'utf8');
|
|
89
|
+
const hasLine = cur.split(/\r?\n/).some(l => l.trim() === '@AGENTS.md');
|
|
90
|
+
if (!hasLine) {
|
|
91
|
+
fs.writeFileSync(claudeMdPath, '@AGENTS.md\n' + cur);
|
|
92
|
+
changes.push('prepended @AGENTS.md to CLAUDE.md');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
} catch (e) { obsEvent('bootstrap', 'next-step.wiring.target-failed', { target: claudeMdPath, error: e.message }); }
|
|
96
|
+
|
|
97
|
+
const agentsMdPath = path.join(cwd, 'AGENTS.md');
|
|
98
|
+
try {
|
|
99
|
+
if (fs.existsSync(agentsMdPath)) {
|
|
100
|
+
const cur = fs.readFileSync(agentsMdPath, 'utf8');
|
|
101
|
+
const hasLine = cur.split(/\r?\n/).some(l => l.trim() === '@.gm/next-step.md');
|
|
102
|
+
if (!hasLine) {
|
|
103
|
+
const sep = cur.endsWith('\n') ? '' : '\n';
|
|
104
|
+
fs.writeFileSync(agentsMdPath, cur + sep + '\n@.gm/next-step.md\n');
|
|
105
|
+
changes.push('appended @.gm/next-step.md to AGENTS.md');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
} catch (e) { obsEvent('bootstrap', 'next-step.wiring.target-failed', { target: agentsMdPath, error: e.message }); }
|
|
109
|
+
|
|
110
|
+
if (changes.length > 0) {
|
|
111
|
+
log(`next-step wiring: ${changes.join(', ')}`);
|
|
112
|
+
obsEvent('bootstrap', 'next-step.wiring.applied', { changes });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
67
116
|
// Resolve a bare command name to its actual .exe on Windows. cmd.exe + .cmd
|
|
68
117
|
// shim chains re-enter conhost (visible window flash) even with
|
|
69
118
|
// windowsHide:true on the parent. Spawning the real .exe directly lets
|
|
@@ -403,6 +452,7 @@ async function bootstrap(opts) {
|
|
|
403
452
|
opts = opts || {};
|
|
404
453
|
const wrapperDir = opts.wrapperDir || __dirname;
|
|
405
454
|
try { ensureSkillMdCurrent(wrapperDir); } catch (_) {}
|
|
455
|
+
try { ensureNextStepWiring(process.cwd()); } catch (_) {}
|
|
406
456
|
const version = opts.version || readVersionFile(wrapperDir);
|
|
407
457
|
const shaManifest = readShaManifest(wrapperDir);
|
|
408
458
|
const wasmName = 'plugkit.wasm';
|
package/bin/plugkit.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.477
|
package/bin/plugkit.wasm
CHANGED
|
Binary file
|
package/bin/plugkit.wasm.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
250e13e0c1b802f74a3130d14d7d71634d5043f902f617c9e977f30fee5bc157 plugkit.wasm
|
package/gm.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1287",
|
|
4
4
|
"description": "Spool-dispatch orchestration engine with unified state machine, skills, and automated git enforcement",
|
|
5
5
|
"author": "AnEntrypoint",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
"publishConfig": {
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
|
-
"plugkitVersion": "0.1.
|
|
20
|
+
"plugkitVersion": "0.1.477"
|
|
21
21
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-skill",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1287",
|
|
4
4
|
"description": "Canonical universal harness — AI-native software engineering via skill-driven orchestration; bootstraps plugkit for task execution and session isolation. Install in any AI coding agent host.",
|
|
5
5
|
"author": "AnEntrypoint",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"gm.json"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"gm-plugkit": "^2.0.
|
|
42
|
+
"gm-plugkit": "^2.0.1287"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=16.0.0"
|