gm-skill 2.0.1258 → 2.0.1260
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/plugkit.version +1 -1
- package/bin/plugkit.wasm +0 -0
- package/bin/plugkit.wasm.sha256 +1 -1
- package/gm.json +2 -2
- package/lib/skill-bootstrap.js +0 -96
- 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.1260` — 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/plugkit.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.466
|
package/bin/plugkit.wasm
CHANGED
|
Binary file
|
package/bin/plugkit.wasm.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
57ac36c09356f83f314dac040c6b785310cfe3d757e3c55726d52a99e74dd2d1 plugkit.wasm
|
package/gm.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1260",
|
|
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.466"
|
|
21
21
|
}
|
package/lib/skill-bootstrap.js
CHANGED
|
@@ -164,53 +164,6 @@ async function getLatestRemoteVersion() {
|
|
|
164
164
|
return { version, sha, source };
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
function gitignorePath(cwd) { return path.join(cwd, '.gitignore'); }
|
|
168
|
-
|
|
169
|
-
function getManagedGitignoreEntries() {
|
|
170
|
-
return [
|
|
171
|
-
'.gm/exec-spool/',
|
|
172
|
-
'.gm/gm-fired-*',
|
|
173
|
-
'.gm/needs-gm',
|
|
174
|
-
'.gm/lastskill',
|
|
175
|
-
'.gm/last-prompt.txt',
|
|
176
|
-
'.gm/turn-state.json',
|
|
177
|
-
'.gm/turn-state.json.corrupted-*',
|
|
178
|
-
'.gm/residual-check-fired',
|
|
179
|
-
'.gm/bootstrap-status.json',
|
|
180
|
-
'.gm/bootstrap-error.json',
|
|
181
|
-
'.gm/rslearn-counter.json',
|
|
182
|
-
'.gm/git-block-counter.json',
|
|
183
|
-
'.gm/no-memorize-this-turn',
|
|
184
|
-
'.gm/learning-state.md',
|
|
185
|
-
'.gm/prd.paused.yml',
|
|
186
|
-
'.gm/rs-learn.db-shm',
|
|
187
|
-
'.gm/rs-learn.db-wal',
|
|
188
|
-
'.gm/hooks/',
|
|
189
|
-
'.gm/trajectory-drafts/',
|
|
190
|
-
'.gm/ingest-drafts/',
|
|
191
|
-
'.gm/prd-state.json',
|
|
192
|
-
'.gm/subagent-*.json',
|
|
193
|
-
'.gm/browser-profile/',
|
|
194
|
-
'.gm/browser-profile-*/',
|
|
195
|
-
'.gm/build-tool-ignores.md',
|
|
196
|
-
'.plugkit-browser-profile/',
|
|
197
|
-
'.plugkit-browser-profile-*/',
|
|
198
|
-
];
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
function getMustStayTracked() {
|
|
202
|
-
return [
|
|
203
|
-
'.gm/rs-learn.db',
|
|
204
|
-
'.gm/code-search/',
|
|
205
|
-
'.gm/disciplines/',
|
|
206
|
-
'.gm/prd.yml',
|
|
207
|
-
'.gm/mutables.yml',
|
|
208
|
-
'gm-data/rs-learn.db',
|
|
209
|
-
'gm-data/code-search/',
|
|
210
|
-
'gm-data/disciplines/',
|
|
211
|
-
];
|
|
212
|
-
}
|
|
213
|
-
|
|
214
167
|
function detectBuildToolConfigs(cwd) {
|
|
215
168
|
const detectors = [
|
|
216
169
|
{ tool: 'vite', patterns: ['vite.config.js', 'vite.config.ts', 'vite.config.mjs', 'vite.config.cjs'] },
|
|
@@ -347,54 +300,6 @@ function writeSessionSidecar(sessionId) {
|
|
|
347
300
|
} catch (_) {}
|
|
348
301
|
}
|
|
349
302
|
|
|
350
|
-
function ensureManagedGitignore(cwd) {
|
|
351
|
-
try {
|
|
352
|
-
const gi = gitignorePath(cwd);
|
|
353
|
-
let content = '';
|
|
354
|
-
try { content = fs.readFileSync(gi, 'utf-8'); } catch (_) {}
|
|
355
|
-
const START = '# >>> plugkit managed';
|
|
356
|
-
const END = '# <<< plugkit managed';
|
|
357
|
-
const entries = getManagedGitignoreEntries();
|
|
358
|
-
const block = [START, ...entries, END].join('\n');
|
|
359
|
-
const startIdx = content.indexOf(START);
|
|
360
|
-
const endIdx = content.indexOf(END);
|
|
361
|
-
let cleaned;
|
|
362
|
-
if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
|
|
363
|
-
const before = content.slice(0, startIdx).replace(/\n+$/, '');
|
|
364
|
-
const after = content.slice(endIdx + END.length).replace(/^\n+/, '');
|
|
365
|
-
cleaned = [before, block, after].filter(Boolean).join('\n');
|
|
366
|
-
} else {
|
|
367
|
-
cleaned = content.replace(/\n+$/, '');
|
|
368
|
-
cleaned = cleaned ? `${cleaned}\n\n${block}` : block;
|
|
369
|
-
}
|
|
370
|
-
if (!cleaned.endsWith('\n')) cleaned += '\n';
|
|
371
|
-
if (cleaned !== content) {
|
|
372
|
-
fs.writeFileSync(gi, cleaned);
|
|
373
|
-
emitBootstrapEvent('info', 'Managed .gitignore block updated', { path: gi, entries: entries.length });
|
|
374
|
-
}
|
|
375
|
-
const mustTrack = getMustStayTracked();
|
|
376
|
-
const lines = cleaned.split(/\r?\n/);
|
|
377
|
-
const inManaged = (idx) => {
|
|
378
|
-
let inside = false;
|
|
379
|
-
for (let i = 0; i <= idx; i++) {
|
|
380
|
-
if (lines[i] === START) inside = true;
|
|
381
|
-
else if (lines[i] === END) inside = false;
|
|
382
|
-
}
|
|
383
|
-
return inside;
|
|
384
|
-
};
|
|
385
|
-
for (let i = 0; i < lines.length; i++) {
|
|
386
|
-
const t = lines[i].trim();
|
|
387
|
-
if (!t || t.startsWith('#')) continue;
|
|
388
|
-
if (inManaged(i)) continue;
|
|
389
|
-
if (mustTrack.includes(t)) {
|
|
390
|
-
emitBootstrapEvent('warn', 'Hostile .gitignore entry — must stay tracked', { entry: t, line: i + 1 });
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
} catch (e) {
|
|
394
|
-
emitBootstrapEvent('warn', 'ensureManagedGitignore failed', { error: e.message });
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
|
|
398
303
|
async function downloadPlugkitBinary(version) {
|
|
399
304
|
const binaryName = 'plugkit.wasm';
|
|
400
305
|
const url = `https://github.com/AnEntrypoint/plugkit-bin/releases/download/v${version}/${binaryName}`;
|
|
@@ -755,5 +660,4 @@ module.exports = {
|
|
|
755
660
|
checkPortReachable,
|
|
756
661
|
ensureBuildToolIgnores,
|
|
757
662
|
detectBuildToolConfigs,
|
|
758
|
-
ensureManagedGitignore,
|
|
759
663
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gm-skill",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1260",
|
|
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.1260"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=16.0.0"
|