@ryuenn3123/agentic-senior-core 5.8.2 → 5.8.4

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": "5.8.2",
3
+ "version": "5.8.4",
4
4
  "displayName": "Agentic Senior Core",
5
5
  "description": "Universal AI coding rules. Write code like a staff engineer.",
6
6
  "author": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-senior-core",
3
- "version": "5.8.2",
3
+ "version": "5.8.4",
4
4
  "description": "Universal AI coding rules. Write code like a staff engineer.",
5
5
  "author": {
6
6
  "name": "fatidaprilian",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-senior-core",
3
- "version": "5.8.2",
3
+ "version": "5.8.4",
4
4
  "description": "Universal AI coding rules. Write code like a staff engineer.",
5
5
  "author": {
6
6
  "name": "fatidaprilian",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agentic-senior-core",
3
3
  "description": "Universal AI coding rules. Write code like a staff engineer.",
4
- "version": "5.8.2",
4
+ "version": "5.8.4",
5
5
  "author": {
6
6
  "name": "fatidaprilian",
7
7
  "url": "https://github.com/fatidaprilian"
package/README.md CHANGED
@@ -227,7 +227,7 @@ cp "$(npm root -g)/@ryuenn3123/agentic-senior-core/.agents/rules/agentic-senior-
227
227
 
228
228
  Antigravity IDE reads it automatically with `trigger: always_on`.
229
229
 
230
- **Option B -- global plugin (all projects):**
230
+ **Option B -- global install (all projects):**
231
231
 
232
232
  One command (works on all platforms):
233
233
 
@@ -235,26 +235,15 @@ One command (works on all platforms):
235
235
  asc global --antigravity
236
236
  ```
237
237
 
238
- Or copy the plugin bundle manually to Antigravity's global plugin directory:
238
+ This installs:
239
+ - **Plugin bundle** (skills: `/asc-review`, `/asc-audit`, `/asc-refactor`, `/asc-reference`, `/asc-debt`, etc.) → `~/.gemini/antigravity-ide/plugins/agentic-senior-core/`
240
+ - **Rules** → `~/.gemini/GEMINI.md` (appended if you already have content; ASC section is replaced on re-runs)
239
241
 
240
- ```powershell
241
- # Windows (PowerShell)
242
- Copy-Item -Recurse -Force "$env:APPDATA\npm\node_modules\@ryuenn3123\agentic-senior-core\.agents\plugins\agentic-senior-core" "$env:USERPROFILE\.gemini\config\plugins\agentic-senior-core"
243
- ```
244
-
245
- ```cmd
246
- :: Windows (cmd.exe)
247
- xcopy /E /I /Y "%APPDATA%\npm\node_modules\@ryuenn3123\agentic-senior-core\.agents\plugins\agentic-senior-core" "%USERPROFILE%\.gemini\config\plugins\agentic-senior-core"
248
- ```
249
-
250
- ```bash
251
- # macOS / Linux
252
- cp -r "$(npm root -g)/@ryuenn3123/agentic-senior-core/.agents/plugins/agentic-senior-core" ~/.gemini/config/plugins/
253
- ```
242
+ If you previously installed to `~/.gemini/config/plugins/agentic-senior-core/` or `~/.gemini/config/skills/` (v5.8.3 or earlier), the old paths are cleaned up automatically.
254
243
 
255
- The plugin bundle includes rules, skills (`/asc-review`, `/asc-audit`, `/asc-refactor`, `/asc-reference`, `/asc-debt`), and `plugin.json`.
244
+ > Note: `npm update -g` refreshes the npm package only. The global copy does not auto-update -- re-run `asc global --antigravity` after each update.
256
245
 
257
- > Note: `npm update -g` refreshes the npm package only. The global plugin copy does not auto-update -- re-run `asc global --antigravity` after each update.
246
+ > **WSL / dual-environment:** `asc global --antigravity` writes to the HOME directory of the current environment. If you use both Windows native and WSL, run it separately in each terminal. The same applies to `agy plugin install` for Antigravity CLI.
258
247
 
259
248
  </details>
260
249
 
@@ -300,7 +289,7 @@ asc global --all
300
289
 
301
290
  | Tool | Global location | Notes |
302
291
  |------|----------------|-------|
303
- | Google Antigravity IDE | `~/.gemini/config/plugins/agentic-senior-core/` | Full plugin bundle: rules + skills, always-on |
292
+ | Google Antigravity IDE | `~/.gemini/antigravity-ide/plugins/agentic-senior-core/` + `~/.gemini/GEMINI.md` | Plugin bundle (rules + skills) + global rules |
304
293
  | Cline | `~/Documents/Cline/Rules/` | Toggleable in the Cline rules panel |
305
294
  | Kilo Code | `~/.kilocode/rules/` | Or point `instructions:` in `~/.config/kilo/kilo.jsonc` at the npm package path — that variant auto-updates |
306
295
  | Kiro | `~/.kiro/steering/` | Some builds have global-steering loading bugs; fall back to `asc adapter --kiro` |
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-senior-core",
3
- "version": "5.8.2",
3
+ "version": "5.8.4",
4
4
  "description": "Universal AI coding rules. Write code like a staff engineer.",
5
5
  "author": "fatidaprilian",
6
6
  "license": "MIT",
@@ -20,13 +20,21 @@ function vscodeUserPromptsDirectory() {
20
20
  return path.join(HOME, '.config', 'Code', 'User', 'prompts');
21
21
  }
22
22
 
23
+ const OLD_PATHS = [
24
+ path.join(HOME, '.gemini', 'config', 'plugins', 'agentic-senior-core'),
25
+ path.join(HOME, '.gemini', 'config', 'skills'),
26
+ ];
27
+
23
28
  const GLOBAL_TARGETS = {
24
29
  antigravity: {
25
30
  label: 'Google Antigravity IDE',
26
- kind: 'directory',
27
- sourcePath: '.agents/plugins/agentic-senior-core',
28
- targetPath: () => path.join(HOME, '.gemini', 'config', 'plugins', 'agentic-senior-core'),
29
- note: 'Full plugin bundle (rules + skills), always-on in every project.',
31
+ kind: 'antigravity-ide',
32
+ pluginSourcePath: '.agents/plugins/agentic-senior-core',
33
+ rulesSourcePath: '.agents/rules/agentic-senior-core.md',
34
+ pluginTargetPath: () => path.join(HOME, '.gemini', 'antigravity-ide', 'plugins', 'agentic-senior-core'),
35
+ rulesTargetPath: () => path.join(HOME, '.gemini', 'GEMINI.md'),
36
+ targetPath: () => path.join(HOME, '.gemini', 'antigravity-ide', 'plugins', 'agentic-senior-core'),
37
+ note: 'Plugin bundle (rules + skills) in ~/.gemini/antigravity-ide/plugins/, rules also in ~/.gemini/GEMINI.md.',
30
38
  },
31
39
  cline: {
32
40
  label: 'Cline',
@@ -97,6 +105,11 @@ async function pathExists(filePath) {
97
105
 
98
106
  async function installGlobalTarget(targetKey) {
99
107
  const target = GLOBAL_TARGETS[targetKey];
108
+
109
+ if (target.kind === 'antigravity-ide') {
110
+ return await installAntigravityIde(target);
111
+ }
112
+
100
113
  const sourcePath = path.join(REPOSITORY_ROOT, target.sourcePath);
101
114
  const targetPath = target.targetPath();
102
115
 
@@ -142,6 +155,74 @@ async function installGlobalTarget(targetKey) {
142
155
  return true;
143
156
  }
144
157
 
158
+ async function installAntigravityIde(target) {
159
+ const pluginSource = path.join(REPOSITORY_ROOT, target.pluginSourcePath);
160
+ const rulesSource = path.join(REPOSITORY_ROOT, target.rulesSourcePath);
161
+ const pluginTargetPath = target.pluginTargetPath();
162
+ const rulesTargetPath = target.rulesTargetPath();
163
+
164
+ if (!(await pathExists(pluginSource))) {
165
+ console.error(` ${target.label}: plugin source not found (${pluginSource}) ... FAIL`);
166
+ return false;
167
+ }
168
+ if (!(await pathExists(rulesSource))) {
169
+ console.error(` ${target.label}: rules source not found (${rulesSource}) ... FAIL`);
170
+ return false;
171
+ }
172
+
173
+ // Copy plugin bundle (plugin.json + skills/) to ~/.gemini/antigravity-ide/plugins/agentic-senior-core/
174
+ await fs.mkdir(path.dirname(pluginTargetPath), { recursive: true });
175
+ await fs.cp(pluginSource, pluginTargetPath, { recursive: true, force: true });
176
+ console.log(` ${target.label}: plugin -> ${pluginTargetPath} ... OK`);
177
+
178
+ // Append rules to ~/.gemini/GEMINI.md (guarded: replace ASC section if present, append if not)
179
+ const rulesContent = await fs.readFile(rulesSource, 'utf8');
180
+ // Strip frontmatter (trigger: always_on) — GEMINI.md is always loaded, no frontmatter needed
181
+ const rulesBody = rulesContent.replace(/^---[\s\S]*?---\n*/, '');
182
+ // rulesBody already starts with '# Agentic Senior Core' which matches ASC_MARKER
183
+ const ascSection = `\n\n${rulesBody.trim()}\n`;
184
+
185
+ await fs.mkdir(path.dirname(rulesTargetPath), { recursive: true });
186
+
187
+ if (await pathExists(rulesTargetPath)) {
188
+ const existingContent = await fs.readFile(rulesTargetPath, 'utf8');
189
+ if (existingContent.includes(ASC_MARKER)) {
190
+ const markerIndex = existingContent.indexOf(ASC_MARKER);
191
+ const beforeAsc = existingContent.substring(0, markerIndex).trimEnd();
192
+ await fs.writeFile(rulesTargetPath, beforeAsc + ascSection);
193
+ console.log(` ${target.label}: rules updated in ${rulesTargetPath} ... OK`);
194
+ } else {
195
+ await fs.writeFile(rulesTargetPath, existingContent.trimEnd() + ascSection);
196
+ console.log(` ${target.label}: rules appended to ${rulesTargetPath} ... OK`);
197
+ }
198
+ } else {
199
+ await fs.writeFile(rulesTargetPath, ascSection.trimStart());
200
+ console.log(` ${target.label}: rules -> ${rulesTargetPath} ... OK`);
201
+ }
202
+
203
+ // Clean up old paths from previous versions
204
+ for (const oldPath of OLD_PATHS) {
205
+ if (await pathExists(oldPath)) {
206
+ // For config/skills/, only remove ASC skill folders, not other tools' skills
207
+ if (oldPath.endsWith('skills')) {
208
+ const ASC_SKILL_NAMES = ['asc', 'asc-adapter', 'asc-add-feature', 'asc-audit', 'asc-debt', 'asc-new-project', 'asc-refactor', 'asc-reference', 'asc-review'];
209
+ for (const skillName of ASC_SKILL_NAMES) {
210
+ const skillPath = path.join(oldPath, skillName);
211
+ if (await pathExists(skillPath)) {
212
+ await fs.rm(skillPath, { recursive: true, force: true });
213
+ }
214
+ }
215
+ console.log(` ${target.label}: cleaned up old skills from ${oldPath}`);
216
+ } else {
217
+ await fs.rm(oldPath, { recursive: true, force: true });
218
+ console.log(` ${target.label}: cleaned up old path ${oldPath}`);
219
+ }
220
+ }
221
+ }
222
+
223
+ return true;
224
+ }
225
+
145
226
  function printGlobalUsage() {
146
227
  console.log('Agentic Senior Core -- Global Install\n');
147
228
  console.log('Installs rules to user-level locations. Applies to ALL projects, zero project files.\n');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryuenn3123/agentic-senior-core",
3
- "version": "5.8.2",
3
+ "version": "5.8.4",
4
4
  "type": "module",
5
5
  "description": "Universal AI coding rules. 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: 5.8.2
2
+ version: 5.8.4
3
3
  description: Universal AI coding rules. Write code like a staff engineer.
4
4
  author: fatidaprilian
5
5
  provides_hooks: