@ryuenn3123/agentic-senior-core 6.4.3 → 6.4.6

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,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-senior-core",
3
- "version": "6.4.3",
3
+ "version": "6.4.6",
4
4
  "description": "Universal AI coding rules. Because your AI writes code like it gets paid by the line.",
5
5
  "contextFileName": "rules/agentic-senior-core.md",
6
6
  "rules": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-senior-core",
3
- "version": "6.4.3",
3
+ "version": "6.4.6",
4
4
  "description": "Universal AI coding rules. Write code like a staff engineer.",
5
5
  "author": "fatidaprilian",
6
6
  "license": "MIT",
@@ -234,10 +234,23 @@ async function installAntigravityIde(target) {
234
234
  'utf8'
235
235
  );
236
236
 
237
+ // Unwrap outer "hooks": { ... } key in CLI copy of hooks.json.
238
+ // Antigravity CLI expects top-level event keys (PreToolUse, PostToolUse, etc.) inside plugin hooks.json.
239
+ // Without unwrapping, agy ignores the nested events. Unwrapped, agy processes all 7 hook categories natively from the single plugin bundle.
240
+ const cliHooksPath = path.join(cliTargetPath, 'hooks.json');
241
+ if (await pathExists(cliHooksPath)) {
242
+ try {
243
+ const rawHooks = JSON.parse(await fs.readFile(cliHooksPath, 'utf8'));
244
+ const unwrappedHooks = rawHooks.hooks || rawHooks;
245
+ await fs.writeFile(cliHooksPath, JSON.stringify(unwrappedHooks, null, 2) + '\n', 'utf8');
246
+ } catch (_) {}
247
+ }
248
+
237
249
  // Automatically register the plugin with Antigravity CLI if agy binary is available
238
250
  try {
239
251
  const { execSync } = await import('node:child_process');
240
- execSync(`agy plugin install "${cliTargetPath}"`, { stdio: 'ignore' });
252
+ const agyBin = await findAgyBinaryPath();
253
+ execSync(`"${agyBin}" plugin install "${cliTargetPath}"`, { stdio: 'ignore' });
241
254
  } catch (_) {
242
255
  // Best effort agy plugin registration
243
256
  }
@@ -246,6 +259,23 @@ async function installAntigravityIde(target) {
246
259
  return true;
247
260
  }
248
261
 
262
+ async function findAgyBinaryPath() {
263
+ const candidates = [
264
+ // Windows AppData path
265
+ path.join(HOME, 'AppData', 'Local', 'agy', 'bin', 'agy.exe'),
266
+ path.join(HOME, 'AppData', 'Local', 'Programs', 'Antigravity', 'bin', 'agy.exe'),
267
+ // Linux/WSL paths
268
+ path.join(HOME, '.local', 'share', 'agy', 'bin', 'agy'),
269
+ path.join(HOME, '.local', 'bin', 'agy'),
270
+ path.join(HOME, '.gemini', 'antigravity-cli', 'bin', 'agy'),
271
+ path.join(HOME, '.antigravity', 'bin', 'agy'),
272
+ ];
273
+ for (const candidate of candidates) {
274
+ if (await pathExists(candidate)) return candidate;
275
+ }
276
+ return 'agy';
277
+ }
278
+
249
279
  async function installGlobalTarget(targetKey) {
250
280
  const target = GLOBAL_TARGETS[targetKey];
251
281
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryuenn3123/agentic-senior-core",
3
- "version": "6.4.3",
3
+ "version": "6.4.6",
4
4
  "type": "module",
5
5
  "description": "Agentic Senior Core: Universal AI coding rules and workflows. Write code like a staff engineer, not a junior.",
6
6
  "bin": {
package/plugin.yaml CHANGED
@@ -1,5 +1,5 @@
1
1
  name: agentic-senior-core
2
- version: 6.4.3
2
+ version: 6.4.6
3
3
  description: Universal AI coding rules. Write code like a staff engineer.
4
4
  author: fatidaprilian
5
5
  provides_hooks: