@ryuenn3123/agentic-senior-core 5.8.3 → 5.8.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,3 +1,9 @@
1
+ ---
2
+ name: asc
3
+ description: >
4
+ Universal AI coding rules. Write code like a staff engineer.
5
+ ---
6
+
1
7
  # Agentic Senior Core
2
8
 
3
9
  Universal AI coding rules. Write code like a staff engineer.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-adapter
3
+ description: >
4
+ Detect installed AI coding hosts and generate adapter files for the current project.
5
+ ---
6
+
1
7
  # ASC Adapter
2
8
 
3
9
  Detect installed AI coding hosts and generate adapter files for the current project.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-add-feature
3
+ description: >
4
+ Structured brownfield workflow. Adapted from QRSPI to prevent context rot and ensure alignment before building.
5
+ ---
6
+
1
7
  # Add Feature Workflow
2
8
 
3
9
  Structured brownfield workflow. Adapted from QRSPI to prevent context rot and ensure alignment before building.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-audit
3
+ description: >
4
+ Security and architecture audit. Deeper than review, focused on finding vulnerabilities and structural anti-patterns.
5
+ ---
6
+
1
7
  # Audit Skill
2
8
 
3
9
  Security and architecture audit. Deeper than review, focused on finding vulnerabilities and structural anti-patterns.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-debt
3
+ description: >
4
+ Track deferred enforcement violations. When an ASC ladder nudge fires and the shortcut is accepted rather than fixed, log it here for later resolution.
5
+ ---
6
+
1
7
  # Debt Ledger
2
8
 
3
9
  Track deferred enforcement violations. When an ASC ladder nudge fires and the shortcut is accepted rather than fixed, log it here for later resolution.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-new-project
3
+ description: >
4
+ Structured greenfield workflow. Prevents building before alignment on what to build.
5
+ ---
6
+
1
7
  # New Project Workflow
2
8
 
3
9
  Structured greenfield workflow. Prevents building before alignment on what to build.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-refactor
3
+ description: >
4
+ Structured refactoring workflow. Preserves existing behavior while improving structure.
5
+ ---
6
+
1
7
  # Refactor Skill
2
8
 
3
9
  Structured refactoring workflow. Preserves existing behavior while improving structure.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-reference
3
+ description: >
4
+ Domain-specific coding rules for testing, API design, database queries, frontend components, infrastructure configs, and service resilience. Load this skill when working on any of these domains.
5
+ ---
6
+
1
7
  # ASC Domain Reference
2
8
 
3
9
  Domain-specific coding rules for testing, API design, database queries, frontend components, infrastructure configs, and service resilience. Load this skill when working on any of these domains.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-review
3
+ description: >
4
+ Production-risk code review. Prioritize findings by severity.
5
+ ---
6
+
1
7
  # Review Skill
2
8
 
3
9
  Production-risk code review. Prioritize findings by severity.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-senior-core",
3
- "version": "5.8.3",
3
+ "version": "5.8.6",
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.3",
3
+ "version": "5.8.6",
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.3",
3
+ "version": "5.8.6",
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.3",
4
+ "version": "5.8.6",
5
5
  "author": {
6
6
  "name": "fatidaprilian",
7
7
  "url": "https://github.com/fatidaprilian"
package/README.md CHANGED
@@ -236,10 +236,10 @@ asc global --antigravity
236
236
  ```
237
237
 
238
238
  This installs:
239
- - **Skills** (`/asc-review`, `/asc-audit`, `/asc-refactor`, `/asc-reference`, `/asc-debt`, etc.) → `~/.gemini/config/skills/` (one folder per skill)
239
+ - **Plugin bundle** (skills: `/asc-review`, `/asc-audit`, `/asc-refactor`, `/asc-reference`, `/asc-debt`, etc.) → `~/.gemini/config/plugins/agentic-senior-core/`
240
240
  - **Rules** → `~/.gemini/GEMINI.md` (appended if you already have content; ASC section is replaced on re-runs)
241
241
 
242
- If you previously installed to `~/.gemini/config/plugins/agentic-senior-core/` (v5.8.2 or earlier), the old path is cleaned up automatically.
242
+ If you previously installed to `~/.gemini/antigravity-ide/plugins/agentic-senior-core/` or `~/.gemini/config/skills/` (v5.8.4 or earlier), the old paths are cleaned up automatically.
243
243
 
244
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.
245
245
 
@@ -289,7 +289,7 @@ asc global --all
289
289
 
290
290
  | Tool | Global location | Notes |
291
291
  |------|----------------|-------|
292
- | Google Antigravity IDE | `~/.gemini/config/skills/` + `~/.gemini/GEMINI.md` | Skills + rules, always-on |
292
+ | Google Antigravity IDE | `~/.gemini/config/plugins/agentic-senior-core/` + `~/.gemini/GEMINI.md` | Plugin bundle (rules + skills) + global rules |
293
293
  | Cline | `~/Documents/Cline/Rules/` | Toggleable in the Cline rules panel |
294
294
  | Kilo Code | `~/.kilocode/rules/` | Or point `instructions:` in `~/.config/kilo/kilo.jsonc` at the npm package path — that variant auto-updates |
295
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.3",
3
+ "version": "5.8.6",
4
4
  "description": "Universal AI coding rules. Write code like a staff engineer.",
5
5
  "author": "fatidaprilian",
6
6
  "license": "MIT",
@@ -20,18 +20,21 @@ function vscodeUserPromptsDirectory() {
20
20
  return path.join(HOME, '.config', 'Code', 'User', 'prompts');
21
21
  }
22
22
 
23
- const OLD_ANTIGRAVITY_PLUGIN_PATH = path.join(HOME, '.gemini', 'config', 'plugins', 'agentic-senior-core');
23
+ const OLD_PATHS = [
24
+ path.join(HOME, '.gemini', 'config', 'skills'),
25
+ path.join(HOME, '.gemini', 'antigravity-ide', 'plugins', 'agentic-senior-core'), // Clean up 5.8.4 mistake
26
+ ];
24
27
 
25
28
  const GLOBAL_TARGETS = {
26
29
  antigravity: {
27
30
  label: 'Google Antigravity IDE',
28
31
  kind: 'antigravity-ide',
29
- skillsSourcePath: '.agents/plugins/agentic-senior-core/skills',
32
+ pluginSourcePath: '.agents/plugins/agentic-senior-core',
30
33
  rulesSourcePath: '.agents/rules/agentic-senior-core.md',
31
- skillsTargetDir: () => path.join(HOME, '.gemini', 'config', 'skills'),
34
+ pluginTargetPath: () => path.join(HOME, '.gemini', 'config', 'plugins', 'agentic-senior-core'),
32
35
  rulesTargetPath: () => path.join(HOME, '.gemini', 'GEMINI.md'),
33
- targetPath: () => `${path.join(HOME, '.gemini', 'config', 'skills')}${path.sep} + GEMINI.md`,
34
- note: 'Skills in ~/.gemini/config/skills/, rules in ~/.gemini/GEMINI.md. Always-on in every project.',
36
+ targetPath: () => path.join(HOME, '.gemini', 'config', 'plugins', 'agentic-senior-core'),
37
+ note: 'Plugin bundle (rules + skills) in ~/.gemini/config/plugins/, rules also in ~/.gemini/GEMINI.md.',
35
38
  },
36
39
  cline: {
37
40
  label: 'Cline',
@@ -153,13 +156,13 @@ async function installGlobalTarget(targetKey) {
153
156
  }
154
157
 
155
158
  async function installAntigravityIde(target) {
156
- const skillsSource = path.join(REPOSITORY_ROOT, target.skillsSourcePath);
159
+ const pluginSource = path.join(REPOSITORY_ROOT, target.pluginSourcePath);
157
160
  const rulesSource = path.join(REPOSITORY_ROOT, target.rulesSourcePath);
158
- const skillsTargetDir = target.skillsTargetDir();
161
+ const pluginTargetPath = target.pluginTargetPath();
159
162
  const rulesTargetPath = target.rulesTargetPath();
160
163
 
161
- if (!(await pathExists(skillsSource))) {
162
- console.error(` ${target.label}: skills source not found (${skillsSource}) ... FAIL`);
164
+ if (!(await pathExists(pluginSource))) {
165
+ console.error(` ${target.label}: plugin source not found (${pluginSource}) ... FAIL`);
163
166
  return false;
164
167
  }
165
168
  if (!(await pathExists(rulesSource))) {
@@ -167,17 +170,10 @@ async function installAntigravityIde(target) {
167
170
  return false;
168
171
  }
169
172
 
170
- // Copy each skill folder flat into ~/.gemini/config/skills/<skill-name>/
171
- const skillFolders = await fs.readdir(skillsSource, { withFileTypes: true });
172
- const skillNames = skillFolders.filter(entry => entry.isDirectory()).map(entry => entry.name);
173
-
174
- await fs.mkdir(skillsTargetDir, { recursive: true });
175
- for (const skillName of skillNames) {
176
- const source = path.join(skillsSource, skillName);
177
- const destination = path.join(skillsTargetDir, skillName);
178
- await fs.cp(source, destination, { recursive: true, force: true });
179
- }
180
- console.log(` ${target.label}: ${skillNames.length} skills -> ${skillsTargetDir} ... OK`);
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`);
181
177
 
182
178
  // Append rules to ~/.gemini/GEMINI.md (guarded: replace ASC section if present, append if not)
183
179
  const rulesContent = await fs.readFile(rulesSource, 'utf8');
@@ -191,13 +187,11 @@ async function installAntigravityIde(target) {
191
187
  if (await pathExists(rulesTargetPath)) {
192
188
  const existingContent = await fs.readFile(rulesTargetPath, 'utf8');
193
189
  if (existingContent.includes(ASC_MARKER)) {
194
- // Replace existing ASC section (from marker to end-of-file or next top-level heading)
195
190
  const markerIndex = existingContent.indexOf(ASC_MARKER);
196
191
  const beforeAsc = existingContent.substring(0, markerIndex).trimEnd();
197
192
  await fs.writeFile(rulesTargetPath, beforeAsc + ascSection);
198
193
  console.log(` ${target.label}: rules updated in ${rulesTargetPath} ... OK`);
199
194
  } else {
200
- // Append to existing content
201
195
  await fs.writeFile(rulesTargetPath, existingContent.trimEnd() + ascSection);
202
196
  console.log(` ${target.label}: rules appended to ${rulesTargetPath} ... OK`);
203
197
  }
@@ -206,10 +200,24 @@ async function installAntigravityIde(target) {
206
200
  console.log(` ${target.label}: rules -> ${rulesTargetPath} ... OK`);
207
201
  }
208
202
 
209
- // Clean up old plugin path if it exists
210
- if (await pathExists(OLD_ANTIGRAVITY_PLUGIN_PATH)) {
211
- await fs.rm(OLD_ANTIGRAVITY_PLUGIN_PATH, { recursive: true, force: true });
212
- console.log(` ${target.label}: cleaned up old path ${OLD_ANTIGRAVITY_PLUGIN_PATH}`);
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
+ }
213
221
  }
214
222
 
215
223
  return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryuenn3123/agentic-senior-core",
3
- "version": "5.8.3",
3
+ "version": "5.8.6",
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.3
2
+ version: 5.8.6
3
3
  description: Universal AI coding rules. Write code like a staff engineer.
4
4
  author: fatidaprilian
5
5
  provides_hooks:
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc
3
+ description: >
4
+ Universal AI coding rules. Write code like a staff engineer.
5
+ ---
6
+
1
7
  # Agentic Senior Core
2
8
 
3
9
  Universal AI coding rules. Write code like a staff engineer.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-adapter
3
+ description: >
4
+ Detect installed AI coding hosts and generate adapter files for the current project.
5
+ ---
6
+
1
7
  # ASC Adapter
2
8
 
3
9
  Detect installed AI coding hosts and generate adapter files for the current project.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-add-feature
3
+ description: >
4
+ Structured brownfield workflow. Adapted from QRSPI to prevent context rot and ensure alignment before building.
5
+ ---
6
+
1
7
  # Add Feature Workflow
2
8
 
3
9
  Structured brownfield workflow. Adapted from QRSPI to prevent context rot and ensure alignment before building.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-audit
3
+ description: >
4
+ Security and architecture audit. Deeper than review, focused on finding vulnerabilities and structural anti-patterns.
5
+ ---
6
+
1
7
  # Audit Skill
2
8
 
3
9
  Security and architecture audit. Deeper than review, focused on finding vulnerabilities and structural anti-patterns.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-debt
3
+ description: >
4
+ Track deferred enforcement violations. When an ASC ladder nudge fires and the shortcut is accepted rather than fixed, log it here for later resolution.
5
+ ---
6
+
1
7
  # Debt Ledger
2
8
 
3
9
  Track deferred enforcement violations. When an ASC ladder nudge fires and the shortcut is accepted rather than fixed, log it here for later resolution.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-new-project
3
+ description: >
4
+ Structured greenfield workflow. Prevents building before alignment on what to build.
5
+ ---
6
+
1
7
  # New Project Workflow
2
8
 
3
9
  Structured greenfield workflow. Prevents building before alignment on what to build.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-refactor
3
+ description: >
4
+ Structured refactoring workflow. Preserves existing behavior while improving structure.
5
+ ---
6
+
1
7
  # Refactor Skill
2
8
 
3
9
  Structured refactoring workflow. Preserves existing behavior while improving structure.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-reference
3
+ description: >
4
+ Domain-specific coding rules for testing, API design, database queries, frontend components, infrastructure configs, and service resilience. Load this skill when working on any of these domains.
5
+ ---
6
+
1
7
  # ASC Domain Reference
2
8
 
3
9
  Domain-specific coding rules for testing, API design, database queries, frontend components, infrastructure configs, and service resilience. Load this skill when working on any of these domains.
@@ -1,3 +1,9 @@
1
+ ---
2
+ name: asc-review
3
+ description: >
4
+ Production-risk code review. Prioritize findings by severity.
5
+ ---
6
+
1
7
  # Review Skill
2
8
 
3
9
  Production-risk code review. Prioritize findings by severity.