gm-skill 2.0.2015 → 2.0.2017

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.
@@ -1 +1 @@
1
- d7d210e1b0d79b4dc3b816215f011111152217305dbe5ef5041193f24757eb26 plugkit-slim.wasm
1
+ ebb99b9ecd9db29509c2566601c191b7fb269f65bfe542f77a10e9754fea8014 plugkit-slim.wasm
@@ -1 +1 @@
1
- 0.1.931
1
+ 0.1.932
@@ -1 +1 @@
1
- a5bfe10bea840a8014333ea02a0102370bb4e06bebd8eb8fa6f1ecc5939c4871 plugkit.wasm
1
+ 155068051e65d4d18998b8425272b8f7eec5ea5141df3ff31911f3f638be6535 plugkit.wasm
@@ -191,6 +191,37 @@ function ensureNextStepWiring(cwd) {
191
191
  }
192
192
  } catch (e) { obsEvent('bootstrap', 'next-step.wiring.target-failed', { target: agentsMdPath, error: e.message }); }
193
193
 
194
+ // gm writes its own runtime data into .gm/ in every project it drives; if that
195
+ // project is an npm package, that data must never be published. Maintain a
196
+ // managed .npmignore block excluding .gm/, mirroring the managed-gitignore
197
+ // mechanism: append a marker-delimited block to any existing .npmignore
198
+ // without clobbering the user's own entries, and skip entirely when a
199
+ // package.json `files:` allowlist is present (an allowlist already excludes
200
+ // everything not listed, so .gm/ is safe without an .npmignore).
201
+ try {
202
+ const pkgPath = path.join(cwd, 'package.json');
203
+ let hasFilesAllowlist = false;
204
+ try {
205
+ if (fs.existsSync(pkgPath)) {
206
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
207
+ hasFilesAllowlist = Array.isArray(pkg.files) && pkg.files.length > 0;
208
+ }
209
+ } catch (_) {}
210
+ if (!hasFilesAllowlist) {
211
+ const npmIgnorePath = path.join(cwd, '.npmignore');
212
+ const begin = '# >>> gm managed';
213
+ const end = '# <<< gm managed';
214
+ const block = `${begin}\n.gm/\n${end}\n`;
215
+ let content = '';
216
+ if (fs.existsSync(npmIgnorePath)) content = fs.readFileSync(npmIgnorePath, 'utf8');
217
+ if (!content.includes(begin)) {
218
+ const sep = content && !content.endsWith('\n') ? '\n' : '';
219
+ fs.writeFileSync(npmIgnorePath, content + sep + (content ? '\n' : '') + block);
220
+ changes.push(fs.existsSync(npmIgnorePath) && content ? 'added gm managed block to .npmignore' : 'created .npmignore excluding .gm/');
221
+ }
222
+ }
223
+ } catch (e) { obsEvent('bootstrap', 'next-step.wiring.target-failed', { target: '.npmignore', error: e.message }); }
224
+
194
225
  if (changes.length > 0) {
195
226
  log(`next-step wiring: ${changes.join(', ')}`);
196
227
  obsEvent('bootstrap', 'next-step.wiring.applied', { changes });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-plugkit",
3
- "version": "2.0.2015",
3
+ "version": "2.0.2017",
4
4
  "description": "Bootstrap and daemon-spawn tool for gm plugkit binary. Downloads the correct platform binary, verifies SHA256, and starts the spool watcher daemon. Includes plugkit-wasm-wrapper for WASM-based spool watching.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- d7d210e1b0d79b4dc3b816215f011111152217305dbe5ef5041193f24757eb26 plugkit-slim.wasm
1
+ ebb99b9ecd9db29509c2566601c191b7fb269f65bfe542f77a10e9754fea8014 plugkit-slim.wasm
@@ -1 +1 @@
1
- 0.1.931
1
+ 0.1.932
package/gm.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.2015",
3
+ "version": "2.0.2017",
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.931"
20
+ "plugkitVersion": "0.1.932"
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-skill",
3
- "version": "2.0.2015",
3
+ "version": "2.0.2017",
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",