@ryuenn3123/agentic-senior-core 5.9.0 → 6.1.0
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/.agents/plugins/agentic-senior-core/commands/asc-dedup.md +1 -0
- package/.agents/plugins/agentic-senior-core/commands/asc-dedup.toml +2 -0
- package/.agents/plugins/agentic-senior-core/hooks/constants.cjs +21 -0
- package/.agents/plugins/agentic-senior-core/hooks/dedup-gate.js +283 -0
- package/.agents/plugins/agentic-senior-core/hooks/ladder-pulse.js +41 -0
- package/.agents/plugins/agentic-senior-core/hooks/lib/known-ui-slop-patterns.json +34 -0
- package/.agents/plugins/agentic-senior-core/hooks/post-edit-enforce.js +64 -15
- package/.agents/plugins/agentic-senior-core/hooks/pre-tool-dependency-gate.js +5 -5
- package/.agents/plugins/agentic-senior-core/hooks/session-pulse.js +44 -0
- package/.agents/plugins/agentic-senior-core/hooks.json +21 -4
- package/.agents/plugins/agentic-senior-core/plugin.json +2 -2
- package/.agents/plugins/agentic-senior-core/rules/agentic-senior-core.md +4 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-dedup/SKILL.md +52 -0
- package/.agents/plugins/agentic-senior-core/skills/asc-reference/SKILL.md +1 -0
- package/.asc/dedup-config.json +6 -0
- package/AGENTS.md +3 -0
- package/README.md +21 -449
- package/gemini-extension.json +1 -1
- package/package.json +2 -1
- package/plugin.yaml +2 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: asc-dedup
|
|
3
|
+
description: >
|
|
4
|
+
Trigger this skill when the user says: "find duplicate code", "check
|
|
5
|
+
for clones", "audit for duplication", "is this repeated elsewhere",
|
|
6
|
+
"scan for copy-paste", "run jscpd", "dedup report", "consolidate
|
|
7
|
+
duplicate logic". Use for whole-repo or whole-directory duplication
|
|
8
|
+
audits on demand — this is a deep, on-demand scan, distinct from the
|
|
9
|
+
continuous per-edit check already enforced by the dedup-gate hook.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Duplicate Code Audit
|
|
13
|
+
|
|
14
|
+
On-demand deep duplication scan using jscpd (token-level clone detection). Distinct from the continuous per-edit `dedup-gate` hook — this skill runs a full-scope scan and produces a ranked report.
|
|
15
|
+
|
|
16
|
+
Grounded in: GitClear 2024 analysis (211M LOC, 8x increase in duplicated code blocks in AI-assisted repos). Token-level clone detection catches near-duplicates that differ in names/structure — something diff-only review tools and pattern matching cannot do.
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
- User asks to scan a directory, package, or entire repo for duplicated code
|
|
21
|
+
- Before a refactoring pass, to identify consolidation targets
|
|
22
|
+
- After a multi-file feature addition, to verify no accidental duplication was introduced
|
|
23
|
+
|
|
24
|
+
## Scan Procedure
|
|
25
|
+
|
|
26
|
+
1. Determine scope from user's request (specific directory, package, or full repo).
|
|
27
|
+
2. Check for `.asc/dedup-config.json` — use `ignoreDirs` and `minTokens` from it if present.
|
|
28
|
+
3. Run: `npx jscpd@5 "<scope>" --min-tokens <minTokens> --reporters console,json --output ./report/`
|
|
29
|
+
- If `bunx` is available, prefer `bunx jscpd` for speed (24-37x faster per jscpd v5 benchmarks).
|
|
30
|
+
- Apply `--ignore` flags from config `ignoreDirs`.
|
|
31
|
+
4. Parse the JSON report and present findings ranked by number of duplicated lines (largest clusters first).
|
|
32
|
+
|
|
33
|
+
## Report Format
|
|
34
|
+
|
|
35
|
+
For each duplicate cluster, report:
|
|
36
|
+
- **Files involved** and line ranges
|
|
37
|
+
- **Duplicated lines count** and overlap percentage
|
|
38
|
+
- **Consolidation recommendation** (only if pattern appears 3+ times — Rule of Three)
|
|
39
|
+
|
|
40
|
+
## Consolidation Rules
|
|
41
|
+
|
|
42
|
+
Per this repo's asc-refactor YAGNI and Rule of Three conventions:
|
|
43
|
+
|
|
44
|
+
- **2 occurrences**: Report the duplication. Do NOT suggest a shared abstraction — "three similar lines is better than a premature abstraction."
|
|
45
|
+
- **3+ occurrences**: Suggest the smallest safe consolidation — extract a shared function, component, or module. Explain what risk or friction the duplication creates and what the consolidated shape looks like.
|
|
46
|
+
- **Structural boilerplate** (imports, prop types, export statements): Flag but do not count as actionable duplication — these are framework-mandated patterns, not logic clones.
|
|
47
|
+
|
|
48
|
+
## Integration
|
|
49
|
+
|
|
50
|
+
- The `dedup-gate` hook provides continuous per-edit detection (PostToolUse, scoped, fast).
|
|
51
|
+
- This skill provides deep on-demand audits (full scope, thorough, user-triggered).
|
|
52
|
+
- Findings from either can be logged to the debt ledger via `/asc-debt` if deferred.
|
|
@@ -39,6 +39,7 @@ Grounded in: WCAG 2.2 AA (accessibility), Fowler's Money Pattern (monetary types
|
|
|
39
39
|
|
|
40
40
|
## Frontend
|
|
41
41
|
|
|
42
|
+
- Match the project's existing styling paradigm (Tailwind, CSS Modules, Vanilla CSS, styled-components, etc.). Do not introduce a new CSS framework or build tool without explicit user confirmation.
|
|
42
43
|
- Semantic HTML before custom components.
|
|
43
44
|
- WCAG 2.2 AA is the accessibility floor.
|
|
44
45
|
- Responsive by default. Handle empty, loading, error, and offline states.
|
package/AGENTS.md
CHANGED
|
@@ -75,6 +75,9 @@ whether to invoke it. Skip this for trivial edits.
|
|
|
75
75
|
- Non-trivial feature in an existing codebase → `/asc-add-feature` (research/plan gate before implementation)
|
|
76
76
|
- Refactor spanning multiple files or changing architecture → `/asc-refactor` (classifies scope, gates on high-level changes)
|
|
77
77
|
|
|
78
|
+
### Enforcement Fallbacks (For hosts without hook support)
|
|
79
|
+
- **Duplicate-Code Check**: When creating new functions or components, actively check for existing near-duplicates across directories (not just siblings) before implementing. If a similar pattern exists, reuse it. Apply the Rule of Three: consolidate only if a pattern appears 3+ times.
|
|
80
|
+
- **Ladder Persistence**: Before completing a task, explicitly verify you have selected the lowest feasible step on the 1-6 decision ladder. Document deferred technical debt (via `/asc-debt` or inline comment) if a shortcut is taken.
|
|
78
81
|
## Response Style
|
|
79
82
|
|
|
80
83
|
Lead with what the developer needs to act: the command, file path, code change, or decision point. Follow with context only when the action depends on it.
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Agentic-Senior-Core
|
|
4
4
|
|
|
5
|
-
### Universal AI coding rules.
|
|
5
|
+
### Universal AI coding rules. Because your AI writes code like it gets paid by the line.
|
|
6
6
|
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
[](CONTRIBUTING.md)
|
|
@@ -13,326 +13,23 @@
|
|
|
13
13
|
|
|
14
14
|
</div>
|
|
15
15
|
|
|
16
|
-
##
|
|
17
|
-
|
|
18
|
-
| Component | Status | Notes |
|
|
19
|
-
|-----------|--------|-------|
|
|
20
|
-
| Rules & Skills (Instructional Layer) | Stable | Universal across 23+ AI tools |
|
|
21
|
-
| Hooks (Enforcement Layer) | Stable | Claude Code, Antigravity IDE, Copilot CLI, Cursor |
|
|
22
|
-
| `ascx` (Output Compression) | Beta | 7 adapters (git, npm, tsc, rg); unsupported commands pass through safely |
|
|
23
|
-
| CLI (`asc adapter`, `asc global`) | Stable | Install adapters for any supported host |
|
|
24
|
-
|
|
25
|
-
## How Skills & Hooks Work (Multi-Tier Architecture)
|
|
26
|
-
|
|
27
|
-
Agentic Senior Core operates on a two-tier architecture:
|
|
28
|
-
|
|
29
|
-
1. **Instructional Layer (Universal — Works in 23+ AI Tools)**:
|
|
30
|
-
- **Rules (`AGENTS.md` / `agentic-senior-core.md`) & Skills (`SKILL.md`)** are cross-compatible across **Google Antigravity IDE, Claude Code, Cursor, Windsurf, Copilot, Codex, Kiro, Roo, OpenCode, Zed, Aider, etc.**.
|
|
31
|
-
- **Automatic Skill Triggering**: Agents attempt to detect and load skills if your prompt matches the skill's description (e.g., asking "perform a security audit" loads `asc-audit`).
|
|
32
|
-
- **Manual Skill Triggering (Highly Recommended)**: Explicitly call skills using commands like `/asc-refactor` or `/asc-new-project` for guaranteed execution.
|
|
33
|
-
|
|
34
|
-
2. **Active Enforcement Layer (Hooks — Host-Specific Hard Guardrails)**:
|
|
35
|
-
- **Hard-Block Guardrails**: For tools supporting active hook execution engines (Claude Code, GitHub Copilot CLI, Google Antigravity IDE, Cursor), ASC automatically intercepts tool calls:
|
|
36
|
-
- **PreToolUse Hard Block**: Immediately rejects edits adding stdlib-duplicating dependencies (e.g., `lodash`, `moment`, `uuid`) before execution (`permissionDecision: "deny"`). Escape hatch available via `.asc/dependency-allowlist.json`.
|
|
37
|
-
- **PostToolUse Advisory**: Soft nudges for LOC deltas, spec drift, and workflow gate bypasses.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Install
|
|
42
|
-
|
|
43
|
-
### Step 1: Install / Update the package
|
|
16
|
+
## Quick Start
|
|
44
17
|
|
|
18
|
+
### 1. Install the package
|
|
45
19
|
To install or forcefully update to the absolute latest version:
|
|
46
20
|
|
|
47
21
|
```bash
|
|
48
22
|
npm install -g @ryuenn3123/agentic-senior-core@latest
|
|
49
23
|
```
|
|
50
24
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
### Step 2: Set up for your AI tool
|
|
55
|
-
|
|
56
|
-
<details>
|
|
57
|
-
<summary><b>Claude Code</b> (terminal agent)</summary>
|
|
58
|
-
|
|
59
|
-
Rules load automatically via plugin hooks. No per-project files needed.
|
|
60
|
-
|
|
61
|
-
From inside Claude Code, add the marketplace then install:
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
/plugin marketplace add fatidaprilian/Agentic-Senior-Core
|
|
65
|
-
/plugin install agentic-senior-core@agentic-senior-core
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Or from your terminal shell:
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
claude plugin marketplace add fatidaprilian/Agentic-Senior-Core
|
|
72
|
-
claude plugin install agentic-senior-core@agentic-senior-core
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
After install, every Claude Code session injects the rules on startup -- including subagents.
|
|
76
|
-
|
|
77
|
-
</details>
|
|
78
|
-
|
|
79
|
-
<details>
|
|
80
|
-
<summary><b>Codex CLI</b> (terminal agent)</summary>
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
codex plugins install agentic-senior-core
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Rules load automatically via plugin hooks on every session.
|
|
87
|
-
|
|
88
|
-
</details>
|
|
89
|
-
|
|
90
|
-
<details>
|
|
91
|
-
<summary><b>Gemini CLI</b> (terminal agent)</summary>
|
|
92
|
-
|
|
93
|
-
Auto-detected. Gemini CLI reads `gemini-extension.json` from the installed package and loads `AGENTS.md` as context. Commands available as `.toml` format (`/asc-refactor`, `/asc-review`, `/asc-audit`).
|
|
94
|
-
|
|
95
|
-
</details>
|
|
96
|
-
|
|
97
|
-
<details>
|
|
98
|
-
<summary><b>Copilot CLI</b> (terminal agent)</summary>
|
|
99
|
-
|
|
100
|
-
Plugin files ship at `.github/plugin/`. After global npm install, register the plugin per your Copilot CLI version. Rules inject via hooks on every session.
|
|
101
|
-
|
|
102
|
-
</details>
|
|
103
|
-
|
|
104
|
-
<details>
|
|
105
|
-
<summary><b>Cursor</b> (IDE)</summary>
|
|
106
|
-
|
|
107
|
-
Run from your project root:
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
asc adapter --cursor
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
This copies one file to `.cursor/rules/agentic-senior-core.mdc`. Cursor reads it automatically on every session. Repeat per project.
|
|
114
|
-
|
|
115
|
-
</details>
|
|
116
|
-
|
|
117
|
-
<details>
|
|
118
|
-
<summary><b>Windsurf / Devin Desktop</b> (IDE)</summary>
|
|
119
|
-
|
|
120
|
-
Windsurf was acquired by Cognition and renamed to Devin Desktop. Use `--devin` for the preferred path:
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
asc adapter --devin
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
This copies one file to `.devin/rules/agentic-senior-core.md`. For legacy Windsurf installations:
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
asc adapter --windsurf
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
Repeat per project — or install once globally with `asc global --windsurf` (writes `~/.codeium/windsurf/memories/global_rules.md`, applies to all workspaces; skipped if you already have your own global rules file).
|
|
133
|
-
|
|
134
|
-
</details>
|
|
135
|
-
|
|
136
|
-
<details>
|
|
137
|
-
<summary><b>Cline</b> (VS Code extension)</summary>
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
asc adapter --cline
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
Copies one file to `.clinerules/agentic-senior-core.md`. Repeat per project — or install once globally with `asc global --cline` (rules land in `~/Documents/Cline/Rules/`, apply to all projects).
|
|
144
|
-
|
|
145
|
-
</details>
|
|
146
|
-
|
|
147
|
-
<details>
|
|
148
|
-
<summary><b>GitHub Copilot</b> (VS Code extension)</summary>
|
|
149
|
-
|
|
150
|
-
```bash
|
|
151
|
-
asc adapter --copilot
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
Copies one file to `.github/copilot-instructions.md`. Repeat per project — or install once globally with `asc global --copilot` (user-level instructions file in your VS Code profile, applies to all workspaces).
|
|
155
|
-
|
|
156
|
-
</details>
|
|
157
|
-
|
|
158
|
-
<details>
|
|
159
|
-
<summary><b>Kiro</b> (IDE)</summary>
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
asc adapter --kiro
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
Copies one file to `.kiro/steering/agentic-senior-core.md`. Repeat per project. A global option exists (`asc global --kiro` → `~/.kiro/steering/`), but some Kiro builds have known bugs loading global steering — prefer the per-project adapter if rules are not picked up.
|
|
166
|
-
|
|
167
|
-
</details>
|
|
168
|
-
|
|
169
|
-
<details>
|
|
170
|
-
<summary><b>Continue</b> (VS Code extension)</summary>
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
asc adapter --continue
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
Copies one file to `.continue/rules/agentic-senior-core.md`. Repeat per project.
|
|
177
|
-
|
|
178
|
-
</details>
|
|
179
|
-
|
|
180
|
-
<details>
|
|
181
|
-
<summary><b>Zed</b> (IDE)</summary>
|
|
182
|
-
|
|
183
|
-
```bash
|
|
184
|
-
asc adapter --zed
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
Copies one file to `.zed/rules/agentic-senior-core.md`. Zed also reads `AGENTS.md` natively, so this is optional if you already have AGENTS.md in your project. Repeat per project.
|
|
188
|
-
|
|
189
|
-
</details>
|
|
190
|
-
|
|
191
|
-
<details>
|
|
192
|
-
<summary><b>Aider</b> (terminal agent)</summary>
|
|
193
|
-
|
|
194
|
-
```bash
|
|
195
|
-
asc adapter --aider
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
Copies one file to `CONVENTIONS.md` at project root. Aider reads this automatically. Repeat per project — or set it once globally in `~/.aider.conf.yml` with an absolute path into the npm package (`read: <npm root -g>/@ryuenn3123/agentic-senior-core/CONVENTIONS.md`). That pointer auto-updates with `npm update -g`.
|
|
199
|
-
|
|
200
|
-
</details>
|
|
201
|
-
|
|
202
|
-
<details>
|
|
203
|
-
<summary><b>Kilo Code</b> (VS Code extension)</summary>
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
asc adapter --kilocode
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
Copies one file to `.kilocode/rules/agentic-senior-core.md`. Repeat per project — or install once globally with `asc global --kilocode`. On Kilo v7+, the zero-maintenance option is pointing the `instructions:` array in `~/.config/kilo/kilo.jsonc` at the rules file inside the npm package (auto-updates with `npm update -g`).
|
|
210
|
-
|
|
211
|
-
</details>
|
|
212
|
-
|
|
213
|
-
<details>
|
|
214
|
-
<summary><b>Roo Code</b> (VS Code extension)</summary>
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
asc adapter --roo
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
Copies one file to `.roo/rules/agentic-senior-core.md`. Repeat per project — or install once globally with `asc global --roo` (`~/.roo/rules/`). Note: Roo Code was discontinued in May 2026; support is kept for existing installs.
|
|
221
|
-
|
|
222
|
-
</details>
|
|
223
|
-
|
|
224
|
-
<details>
|
|
225
|
-
<summary><b>OpenHands</b></summary>
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
asc adapter --openhands
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
Copies one file to `.openhands/microagents/agentic-senior-core.md`. Repeat per project — or install once globally with `asc global --openhands` (`~/.openhands/microagents/`, loaded in all conversations for CLI/headless/dev modes; Docker runs need the directory mounted).
|
|
232
|
-
|
|
233
|
-
</details>
|
|
234
|
-
|
|
235
|
-
<details>
|
|
236
|
-
<summary><b>Google Antigravity (2.0, IDE, and CLI)</b></summary>
|
|
237
|
-
|
|
238
|
-
**Option A -- workspace rules (per project for 2.0 and IDE only):**
|
|
239
|
-
|
|
240
|
-
Copy the rules file into your project's `.agents/rules/` directory:
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
# Create the directory first, then copy
|
|
244
|
-
mkdir -p .agents/rules
|
|
245
|
-
|
|
246
|
-
# From the npm package (after Step 1)
|
|
247
|
-
cp "$(npm root -g)/@ryuenn3123/agentic-senior-core/.agents/rules/agentic-senior-core.md" .agents/rules/
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
PowerShell (Windows):
|
|
251
|
-
```powershell
|
|
252
|
-
mkdir .agents\rules -Force
|
|
253
|
-
cp "$(npm root -g)/@ryuenn3123/agentic-senior-core/.agents/rules/agentic-senior-core.md" .agents\rules\
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
Antigravity IDE and 2.0 read it automatically with `trigger: always_on`. *(Note: Antigravity CLI does not support workspace plugins, use Option B for CLI).*
|
|
257
|
-
|
|
258
|
-
**Option B -- global install (all projects and ALL clients):**
|
|
259
|
-
|
|
260
|
-
One command (works on all platforms):
|
|
261
|
-
|
|
262
|
-
```bash
|
|
263
|
-
asc global --antigravity
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
This automatically stages the plugin bundle (skills, rules, hooks, and MCP servers) for:
|
|
267
|
-
- **Antigravity 2.0 & IDE** (`~/.gemini/config/plugins/agentic-senior-core/`)
|
|
268
|
-
- **Antigravity CLI** (`~/.gemini/antigravity-cli/plugins/agentic-senior-core/`)
|
|
269
|
-
|
|
270
|
-
If you previously installed to legacy locations (v5.8.4 or earlier), the old paths are cleaned up automatically.
|
|
271
|
-
|
|
272
|
-
> Note: `npm update -g` refreshes the npm package only. The global copy does not auto-update -- re-run `asc global --antigravity` after each update.
|
|
273
|
-
|
|
274
|
-
> **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.
|
|
275
|
-
|
|
276
|
-
</details>
|
|
277
|
-
|
|
278
|
-
<details>
|
|
279
|
-
<summary><b>Devin / Hermes / OpenCode / OpenClaw</b></summary>
|
|
280
|
-
|
|
281
|
-
Plugin manifests ship in the npm package at their standard paths (`.devin-plugin/`, `plugin.yaml`, `.opencode/plugins/`, `.openclaw/skills/`). After global npm install, each host auto-discovers or manually register per host docs.
|
|
282
|
-
|
|
283
|
-
</details>
|
|
284
|
-
|
|
285
|
-
<details>
|
|
286
|
-
<summary><b>All IDE adapters at once</b></summary>
|
|
287
|
-
|
|
288
|
-
```bash
|
|
289
|
-
asc adapter --all
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
Generates adapter files for Cursor, Devin Desktop, Windsurf, Cline, Copilot, Kiro, Continue, Zed, Aider, Kilo Code, Roo Code, and OpenHands in one go.
|
|
293
|
-
|
|
294
|
-
</details>
|
|
295
|
-
|
|
296
|
-
**Terminal agents** (Claude Code, Codex, Gemini, Copilot CLI) = install once, always-on, zero per-project files.
|
|
297
|
-
**IDE agents** = one file per project via `asc adapter`, or install once globally via `asc global` (below).
|
|
298
|
-
|
|
299
|
-
### Global install (all projects, zero project files)
|
|
300
|
-
|
|
301
|
-
Most IDE tools also support user-level rules that apply to **every project** — no files in any repo root. One command installs them all:
|
|
25
|
+
### 2. Set up globally (Recommended)
|
|
26
|
+
To automatically configure all supported IDEs and Agents at once across your entire system, run:
|
|
302
27
|
|
|
303
28
|
```bash
|
|
304
29
|
asc global --all
|
|
305
30
|
```
|
|
306
31
|
|
|
307
|
-
|
|
308
|
-
|------|----------------|-------|
|
|
309
|
-
| Google Antigravity (2.0, IDE, CLI) | `~/.gemini/config/plugins/...` and `~/.gemini/antigravity-cli/plugins/...` | Plugin bundle (skills, hooks, rules) |
|
|
310
|
-
| Cline | `~/Documents/Cline/Rules/` | Toggleable in the Cline rules panel |
|
|
311
|
-
| Kilo Code | `~/.kilocode/rules/` | Or point `instructions:` in `~/.config/kilo/kilo.jsonc` at the npm package path — that variant auto-updates |
|
|
312
|
-
| Kiro | `~/.kiro/steering/` | Some builds have global-steering loading bugs; fall back to `asc adapter --kiro` |
|
|
313
|
-
| OpenHands | `~/.openhands/microagents/` | CLI/headless/dev modes; Docker runs need the mount |
|
|
314
|
-
| Windsurf / Devin Desktop | `~/.codeium/windsurf/memories/global_rules.md` | 6,000-char global limit (ASC rules fit); skipped if you already have your own file |
|
|
315
|
-
| GitHub Copilot (VS Code) | VS Code profile `prompts/` folder | Installed as a user `*.instructions.md` with `applyTo: '**'` |
|
|
316
|
-
| Roo Code | `~/.roo/rules/` | Roo Code was discontinued May 2026; kept for existing installs |
|
|
317
|
-
|
|
318
|
-
Tools without a global rules **file** (manual one-time setup instead):
|
|
319
|
-
|
|
320
|
-
- **Cursor** — Settings → Rules → User Rules: paste the contents of `AGENTS.md` (plain text field; a global rules directory is still a Cursor feature request).
|
|
321
|
-
- **Zed** — Rules Library in the Agent Panel: create a rule from `AGENTS.md` and mark it as default (paper clip icon).
|
|
322
|
-
- **Continue** — add a rules block to the global `config.yaml`.
|
|
323
|
-
- **Aider** — add `read: <absolute path to npm package>/CONVENTIONS.md` in `~/.aider.conf.yml`. This is a live pointer: it auto-updates with `npm update -g`, no re-copy ever.
|
|
324
|
-
|
|
325
|
-
Global rules load first; per-project adapter files (if present) take precedence on conflicts in every tool that supports both.
|
|
326
|
-
|
|
327
|
-
### Updating
|
|
328
|
-
|
|
329
|
-
Already installed? Just update the global package:
|
|
330
|
-
|
|
331
|
-
```bash
|
|
332
|
-
npm update -g @ryuenn3123/agentic-senior-core
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
Terminal agent plugins pick up the new version automatically on next session. Global installs and IDE adapter files are static copies — after updating, re-run `asc global --all` once and `asc adapter --all` in each project that uses per-project files. (Aider's `read:` pointer and Kilo's `kilo.jsonc` path variant auto-update — nothing to re-run.)
|
|
32
|
+
**[See the full Installation Guide](docs/INSTALLATION.md)** for per-project (local) setups or specific tool instructions.
|
|
336
33
|
|
|
337
34
|
---
|
|
338
35
|
|
|
@@ -351,16 +48,6 @@ This plugin loads universal engineering rules on every session. Before writing a
|
|
|
351
48
|
5. Can this be one straightforward function?
|
|
352
49
|
6. Only then: write the minimum code that works.
|
|
353
50
|
|
|
354
|
-
## Marking Simplification
|
|
355
|
-
|
|
356
|
-
When you pick the minimal option at step 5 or 6, and it isn't obviously trivial:
|
|
357
|
-
- Leave a one-line comment noting why, and the upgrade trigger if there is a ceiling.
|
|
358
|
-
Example: `// minimal: single global lock — split per-account if throughput becomes an issue`
|
|
359
|
-
- Leave one runnable check (assertion, small test, or `__main__` demo) proving it works.
|
|
360
|
-
Skip only for genuinely trivial one-liners.
|
|
361
|
-
|
|
362
|
-
The rules also cover security, architecture, testing, error handling, API design, database safety, frontend accessibility, infrastructure, resilience, and async patterns. All universal invariants -- no project-specific configuration needed.
|
|
363
|
-
|
|
364
51
|
### Before / After
|
|
365
52
|
|
|
366
53
|
<details>
|
|
@@ -384,9 +71,7 @@ app.post('/users', (req, res) => {
|
|
|
384
71
|
});
|
|
385
72
|
});
|
|
386
73
|
```
|
|
387
|
-
|
|
388
74
|
Issues: no input validation, SQL injection, plaintext password stored and returned, internal error details leaked, no auth check.
|
|
389
|
-
|
|
390
75
|
</details>
|
|
391
76
|
|
|
392
77
|
<details>
|
|
@@ -406,152 +91,39 @@ app.post('/users', authenticate, async (req, res) => {
|
|
|
406
91
|
res.status(201).json({ name, email });
|
|
407
92
|
});
|
|
408
93
|
```
|
|
409
|
-
|
|
410
94
|
Validated input, parameterized query, hashed password, safe error response, auth middleware, no sensitive data in response.
|
|
411
|
-
|
|
412
95
|
</details>
|
|
413
96
|
|
|
414
|
-
### Not lazy about
|
|
415
|
-
|
|
416
|
-
Input validation at trust boundaries, parameterized queries, auth checks, error handling that prevents data loss, accessibility, anything explicitly requested. These are never skipped.
|
|
417
|
-
|
|
418
|
-
---
|
|
419
|
-
|
|
420
|
-
## Supported Hosts
|
|
421
|
-
|
|
422
|
-
| Host | Type | Install | Per-project files? |
|
|
423
|
-
|------|------|---------|-------------------|
|
|
424
|
-
| Claude Code | Terminal agent | `/plugin install` | No |
|
|
425
|
-
| Codex CLI | Terminal agent | `codex plugins install` | No |
|
|
426
|
-
| Gemini CLI | Terminal agent | Auto-detected | No |
|
|
427
|
-
| Copilot CLI | Terminal agent | Plugin registration | No |
|
|
428
|
-
| Devin | Terminal agent | Auto-detected | No |
|
|
429
|
-
| Hermes | Terminal agent | Plugin registration | No |
|
|
430
|
-
| OpenCode | Terminal agent | Auto-detected | No |
|
|
431
|
-
| OpenClaw | Terminal agent | Auto-detected | No |
|
|
432
|
-
| Antigravity IDE | IDE | `asc global --antigravity` | No (global) |
|
|
433
|
-
| Antigravity CLI | Terminal agent | `agy plugin install` | No |
|
|
434
|
-
| Cursor | IDE | `asc adapter --cursor` | Yes (1 file) — or paste User Rules once |
|
|
435
|
-
| Devin Desktop | IDE | `asc adapter --devin` | Yes (1 file) |
|
|
436
|
-
| Windsurf (legacy) | IDE | `asc global --windsurf` | No (global) — or `asc adapter --windsurf` |
|
|
437
|
-
| Cline | VS Code ext | `asc global --cline` | No (global) — or `asc adapter --cline` |
|
|
438
|
-
| GitHub Copilot | VS Code ext | `asc global --copilot` | No (global) — or `asc adapter --copilot` |
|
|
439
|
-
| Kiro | IDE | `asc adapter --kiro` | Yes (1 file) — global via `asc global --kiro` (buggy in some builds) |
|
|
440
|
-
| Continue | VS Code ext | `asc adapter --continue` | Yes (1 file) — or global config.yaml rules |
|
|
441
|
-
| Zed | IDE | `asc adapter --zed` | Yes (1 file) — or default rule in Rules Library |
|
|
442
|
-
| Aider | Terminal agent | `asc adapter --aider` | Yes (1 file) — or `read:` pointer in `~/.aider.conf.yml` |
|
|
443
|
-
| Kilo Code | VS Code ext | `asc global --kilocode` | No (global) — or `asc adapter --kilocode` |
|
|
444
|
-
| Roo Code | VS Code ext | `asc global --roo` | No (global) — discontinued May 2026 |
|
|
445
|
-
| OpenHands | Agent | `asc global --openhands` | No (global) — or `asc adapter --openhands` |
|
|
446
|
-
|
|
447
|
-
---
|
|
448
|
-
|
|
449
|
-
## Commands
|
|
450
|
-
|
|
451
|
-
Available on plugin hosts (Claude Code, Codex, Gemini CLI):
|
|
452
|
-
|
|
453
|
-
| Command | Purpose |
|
|
454
|
-
|---------|---------|
|
|
455
|
-
| `/asc-new-project` | Greenfield workflow (Define -> Spec -> Implement -> Validate) |
|
|
456
|
-
| `/asc-add-feature` | Brownfield workflow (Research -> Plan -> Implement) |
|
|
457
|
-
| `/asc-refactor` | Structured refactoring workflow |
|
|
458
|
-
| `/asc-review` | Production-risk code review with severity-ordered findings |
|
|
459
|
-
| `/asc-audit` | Security and architecture audit |
|
|
460
|
-
| `/asc-reference` | Domain-specific rules (testing, API, database, frontend, infra, resilience) |
|
|
461
|
-
| `/asc-debt` | Track deferred enforcement violations (add, list, resolve, summary) |
|
|
462
|
-
| `/asc-help` | Show available commands |
|
|
463
|
-
|
|
464
|
-
---
|
|
465
|
-
|
|
466
|
-
## CLI
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
asc adapter [--cursor|--devin|--windsurf|--cline|--copilot|--kiro|--continue|--zed|--aider|--kilocode|--roo|--openhands|--all]
|
|
470
|
-
asc global [--antigravity|--cline|--kilocode|--kiro|--openhands|--windsurf|--copilot|--roo|--all]
|
|
471
|
-
asc uninstall [--dry-run]
|
|
472
|
-
asc clean [--dry-run]
|
|
473
|
-
asc status
|
|
474
|
-
asc mcp
|
|
475
|
-
asc --version
|
|
476
|
-
asc --help
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
`ascx` is a token-saving command wrapper that compresses noisy output while preserving debugging evidence. Install globally and use as: `ascx git status`, `ascx npm test`.
|
|
480
|
-
|
|
481
|
-
---
|
|
482
|
-
|
|
483
|
-
## Works With Other Plugins
|
|
484
|
-
|
|
485
|
-
ASC covers security, architecture, testing, API design, database safety, accessibility, infrastructure, and resilience — domains that code-reduction and minimalism plugins explicitly leave out of scope. They reduce volume; ASC enforces safety on what remains.
|
|
486
|
-
|
|
487
|
-
Use them together. No conflicts — ASC is designed to be complementary.
|
|
488
|
-
|
|
489
97
|
---
|
|
490
98
|
|
|
491
|
-
##
|
|
492
|
-
|
|
493
|
-
Measured on `claude-opus-4-6` using headless Claude Code sessions against real tasks.
|
|
99
|
+
## Configuration & Overrides
|
|
494
100
|
|
|
495
|
-
|
|
496
|
-
|---|---|---|---|---|---|
|
|
497
|
-
| **Simple tasks** | 0% | -3% to -8% | -1% | -2% to -13% | 100% |
|
|
498
|
-
| **Complex tasks** | **-18%** | **-30%** | **-42%** | **-18%** | 100% |
|
|
101
|
+
By default, ASC works perfectly out of the box with zero configuration. It enforces guardrails silently in the background.
|
|
499
102
|
|
|
500
|
-
|
|
103
|
+
If you need to override these defaults (e.g., to whitelist a specific dependency or ignore specific folders for code-duplication scanning), you can create an `.asc/` folder in your project root.
|
|
501
104
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
Full methodology and raw data: [`benchmarks/RESULTS.md`](benchmarks/RESULTS.md)
|
|
505
|
-
|
|
506
|
-
> Model: `claude-opus-4-6` · n=1-2 per task · Baseline = Claude without rules (not zero-prompt).
|
|
507
|
-
> Opus is inherently disciplined — gains on more verbose models would likely be larger.
|
|
105
|
+
**[Read the Configuration Guide](docs/CONFIGURATION.md)**
|
|
508
106
|
|
|
509
107
|
---
|
|
510
108
|
|
|
511
|
-
##
|
|
512
|
-
|
|
513
|
-
v5.0 is a breaking change. The per-project system (`.agent-context/`, bridge files, project scaffolding) is replaced by the universal plugin system.
|
|
109
|
+
## Commands & CLI
|
|
514
110
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
# Preview what will be removed
|
|
518
|
-
asc clean --dry-run
|
|
519
|
-
|
|
520
|
-
# Remove v4 files (.agent-context/, AGENTS.md, CLAUDE.md, GEMINI.md, etc.)
|
|
521
|
-
asc clean
|
|
522
|
-
```
|
|
111
|
+
ASC provides powerful commands to steer your agents (e.g. `/asc-refactor`, `/asc-audit`).
|
|
112
|
+
It also provides a CLI to manage your local setup (e.g. `asc adapter --all`, `asc global --all`).
|
|
523
113
|
|
|
524
|
-
|
|
114
|
+
**[See all available CLI Options and Agent Commands](docs/INSTALLATION.md#commands--cli)**
|
|
525
115
|
|
|
526
116
|
---
|
|
527
117
|
|
|
528
|
-
##
|
|
529
|
-
|
|
530
|
-
| Component | Tokens | When loaded |
|
|
531
|
-
|-----------|--------|------------|
|
|
532
|
-
| Rules (`AGENTS.md`) | ~1,200 | Every session + every subagent |
|
|
533
|
-
| Each skill | ~500-800 | On user invocation only |
|
|
534
|
-
| Commands | 0 | Metadata only |
|
|
118
|
+
## Documentation Index
|
|
535
119
|
|
|
536
|
-
|
|
120
|
+
- **[Installation & Supported Hosts](docs/INSTALLATION.md)** - Setup instructions for Claude Code, Copilot, Antigravity, Cursor, Windsurf, Zed, Aider, and more.
|
|
121
|
+
- **[Configuration Overrides](docs/CONFIGURATION.md)** - How to use `.asc/dedup-config.json` and `.asc/dependency-allowlist.json`.
|
|
122
|
+
- **[Architecture & Philosophy](docs/ARCHITECTURE.md)** - How the hooks work, our engineering principles, and Migration guide from v4.x.
|
|
123
|
+
- **[Benchmarks](benchmarks/RESULTS.md)** - ASC produces **18% less code**, uses **30% fewer tokens**, costs **42% less**, and finishes **18% faster**.
|
|
537
124
|
|
|
538
125
|
---
|
|
539
126
|
|
|
540
|
-
##
|
|
541
|
-
|
|
542
|
-
Every rule and skill workflow is derived from established engineering standards, not invented conventions.
|
|
543
|
-
|
|
544
|
-
| Domain | Standards |
|
|
545
|
-
|--------|-----------|
|
|
546
|
-
| Security & audit | OWASP Top 10, OWASP ASVS v4, CWE classification, CVSS report structure |
|
|
547
|
-
| Code review | OWASP Risk Rating Methodology, Google Engineering Practices |
|
|
548
|
-
| Architecture | Clean Architecture, Hexagonal Architecture |
|
|
549
|
-
| Workflows | RPI & QRSPI (Dex Horthy/HumanLayer), SDD (GitHub Spec Kit) |
|
|
550
|
-
| Refactoring | Fowler's Refactoring, Rule of Three, YAGNI (XP/Kent Beck) |
|
|
551
|
-
| Database | Fowler's Money Pattern, UTC timestamp convention, migration versioning |
|
|
552
|
-
| Accessibility | WCAG 2.2 AA |
|
|
553
|
-
| Resilience | Nygard's Release It!, AWS Well-Architected Reliability Pillar |
|
|
554
|
-
| Technical debt | Cunningham's debt metaphor (1992) |
|
|
555
|
-
| Instruction design | Low instruction density for higher LLM compliance — supported by IFScale (arXiv:2507.11538) and RECAST (arXiv:2505.19030) |
|
|
127
|
+
## Works With Other Plugins
|
|
556
128
|
|
|
557
|
-
|
|
129
|
+
ASC covers security, architecture, testing, API design, database safety, accessibility, infrastructure, and resilience — domains that code-reduction and minimalism plugins explicitly leave out of scope. They reduce volume; ASC enforces safety on what remains. Use them together. No conflicts — ASC is designed to be complementary.
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryuenn3123/agentic-senior-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.1.0",
|
|
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": {
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"ascx": "bin/ascx.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
|
+
".asc/",
|
|
12
13
|
"bin/",
|
|
13
14
|
"lib/cli/commands/adapter.mjs",
|
|
14
15
|
"lib/cli/commands/global.mjs",
|
package/plugin.yaml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: agentic-senior-core
|
|
2
|
-
version:
|
|
2
|
+
version: 6.1.0
|
|
3
3
|
description: Universal AI coding rules. Write code like a staff engineer.
|
|
4
4
|
author: fatidaprilian
|
|
5
5
|
provides_hooks:
|
|
@@ -18,6 +18,7 @@ provides_skills:
|
|
|
18
18
|
- asc-add-feature
|
|
19
19
|
- asc-audit
|
|
20
20
|
- asc-debt
|
|
21
|
+
- asc-dedup
|
|
21
22
|
- asc-new-project
|
|
22
23
|
- asc-refactor
|
|
23
24
|
- asc-reference
|