@antomanc/aginit 0.3.0 → 0.4.1

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +5 -3
  3. package/dist/adapters/agents-md.d.ts +12 -0
  4. package/dist/adapters/agents-md.d.ts.map +1 -1
  5. package/dist/adapters/agents-md.js +25 -1
  6. package/dist/adapters/agents-md.js.map +1 -1
  7. package/dist/adapters/graft.d.ts +1 -0
  8. package/dist/adapters/graft.d.ts.map +1 -1
  9. package/dist/adapters/graft.js +5 -3
  10. package/dist/adapters/graft.js.map +1 -1
  11. package/dist/adapters/skills.d.ts +20 -1
  12. package/dist/adapters/skills.d.ts.map +1 -1
  13. package/dist/adapters/skills.js +38 -1
  14. package/dist/adapters/skills.js.map +1 -1
  15. package/dist/adapters/tool-ignores.d.ts +9 -0
  16. package/dist/adapters/tool-ignores.d.ts.map +1 -0
  17. package/dist/adapters/tool-ignores.js +121 -0
  18. package/dist/adapters/tool-ignores.js.map +1 -0
  19. package/dist/cli/doctor.d.ts.map +1 -1
  20. package/dist/cli/doctor.js +59 -2
  21. package/dist/cli/doctor.js.map +1 -1
  22. package/dist/cli/main.d.ts.map +1 -1
  23. package/dist/cli/main.js +13 -3
  24. package/dist/cli/main.js.map +1 -1
  25. package/dist/cli/new.d.ts.map +1 -1
  26. package/dist/cli/new.js +17 -4
  27. package/dist/cli/new.js.map +1 -1
  28. package/dist/config/defaults.d.ts.map +1 -1
  29. package/dist/config/defaults.js +6 -3
  30. package/dist/config/defaults.js.map +1 -1
  31. package/dist/config/schema.d.ts +5 -0
  32. package/dist/config/schema.d.ts.map +1 -1
  33. package/dist/config/schema.js.map +1 -1
  34. package/dist/config/validation.d.ts.map +1 -1
  35. package/dist/config/validation.js +2 -0
  36. package/dist/config/validation.js.map +1 -1
  37. package/dist/presets/web.d.ts.map +1 -1
  38. package/dist/presets/web.js +34 -3
  39. package/dist/presets/web.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/adapters/agents-md.ts +30 -1
  42. package/src/adapters/graft.ts +6 -4
  43. package/src/adapters/skills.ts +46 -2
  44. package/src/adapters/tool-ignores.ts +158 -0
  45. package/src/cli/doctor.ts +72 -2
  46. package/src/cli/main.ts +12 -3
  47. package/src/cli/new.ts +14 -4
  48. package/src/config/defaults.ts +6 -3
  49. package/src/config/schema.ts +5 -0
  50. package/src/config/validation.ts +2 -0
  51. package/src/presets/web.ts +35 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.1 — 2026-10-11
4
+
5
+ ### Fixed
6
+
7
+ - `typecheck` on existing web projects uses the framework's checker instead of `tsc --noEmit`, which can't resolve Astro virtual modules or single-file components: `astro check` (adds `@astrojs/check`), `nuxi typecheck`, `svelte-kit sync && svelte-check` or `svelte-check`, and `vue-tsc` (each adds its checker package when missing). An existing `typecheck` script is left alone.
8
+ - Projects with a solution-style `tsconfig.json` (`"files": []` plus `references`, as in the Vite templates) get `tsc -b --noEmit`. Plain `tsc --noEmit` checked nothing there, so a fresh `--framework vite` project passed typecheck with type errors.
9
+ - Vendored skills no longer break the project's linters and formatters. `aginit init` and `aginit update` add `.agents/` and `.claude/` to `.prettierignore`, to `.eslintignore` (legacy ESLint, oxlint), to the global ignores of a flat ESLint config (`globalIgnores([...])` or an ignores-only object), and to `files.includes` in `biome.json` (Biome 2.2+). Configs that can't be edited safely get a warning with the exact line to add.
10
+ - `aginit doctor` reports linters and formatters that still check vendored skills.
11
+
12
+ ## 0.4.0 — 2026-10-11
13
+
14
+ ### Added
15
+
16
+ - Claude Code support. Skills are now installed for the `claude-code` agent too, so the Skills CLI links each one from `.agents/skills/` into `.claude/skills/`, where Claude Code finds it as `/name`. aginit writes a one-line `CLAUDE.md` (`@AGENTS.md`) when none exists, and wires Graft for Claude Code (`graft init --agents ... claude`). See `docs/adr/0002-claude-code-skills-and-instructions.md`.
17
+ - New `agents.claudeCode` config flag, `true` by default. Configs without the flag keep loading and count as enabled. Set it to `false` to opt out.
18
+ - `aginit update` links already-installed skills for Claude Code when they're missing from `.claude/skills/`, and adds the `CLAUDE.md` import.
19
+ - `aginit doctor` reports skills missing from `.claude/skills/` and a `CLAUDE.md` that doesn't import `AGENTS.md`.
20
+
3
21
  ## 0.3.0 — 2026-10-10
4
22
 
5
23
  ### Fixed
package/README.md CHANGED
@@ -15,6 +15,8 @@ npx @antomanc/aginit
15
15
  [![npm version](https://img.shields.io/npm/v/@antomanc/aginit)](https://www.npmjs.com/package/@antomanc/aginit)
16
16
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
17
17
 
18
+ <p align="center"><img src="docs/assets/demo.gif" alt="aginit wizard creating a CLI project with AGENTS.md, skills and a Graft codebase graph" width="720"></p>
19
+
18
20
  > **Beta.** Expect flags and defaults to change before 1.0.
19
21
 
20
22
  ## Why
@@ -32,8 +34,8 @@ aginit sets all of this up the same way every time, and you can re-run it whenev
32
34
 
33
35
  | | |
34
36
  |---|---|
35
- | **Instructions** | `AGENTS.md` with the project's real commands, invariants and a first-session playbook, shared by Antigravity, Codex and any agent that reads `AGENTS.md` |
36
- | **Skills** | All 27 stable [Matt Pocock skills](https://github.com/mattpocock/skills) (`tdd`, `code-review`, `diagnosing-bugs`, `to-spec`, `to-tickets`, `implement-spec`, `pr`...) plus [humanizer](https://github.com/blader/humanizer) and [ponytail](https://github.com/DietrichGebert/ponytail), installed in `.agents/skills/` via the [Skills CLI](https://github.com/vercel-labs/skills) |
37
+ | **Instructions** | `AGENTS.md` with the project's real commands, invariants and a first-session playbook, shared by Antigravity, Codex and any agent that reads `AGENTS.md`, plus a one-line `CLAUDE.md` (`@AGENTS.md`) so Claude Code loads it too |
38
+ | **Skills** | All 27 stable [Matt Pocock skills](https://github.com/mattpocock/skills) (`tdd`, `code-review`, `diagnosing-bugs`, `to-spec`, `to-tickets`, `implement-spec`, `pr`...) plus [humanizer](https://github.com/blader/humanizer) and [ponytail](https://github.com/DietrichGebert/ponytail), installed in `.agents/skills/` via the [Skills CLI](https://github.com/vercel-labs/skills) and linked into `.claude/skills/` for Claude Code |
37
39
  | **Codebase graph** | [Graft](https://www.npmjs.com/package/@nanonets/graft): `graft map` and `graft ask` give agents the relevant code spans before they grep |
38
40
  | **Test tooling** | Vitest for TypeScript projects, plus Playwright when a web framework is selected |
39
41
  | **Web extras** | [Impeccable](https://github.com/pbakaus/impeccable) for UI design and [agent-browser](https://github.com/vercel-labs/agent-browser) for visual QA, with its CLI and browser binaries installed so it works out of the box |
@@ -65,7 +67,7 @@ npm install -g @nanonets/graft
65
67
  ```
66
68
  aginit new [name] Create a new project
67
69
  aginit init Add or update agent setup in the current directory
68
- aginit doctor Check Node.js, package manager, Git, Graft, Codex, Skills CLI, agent-browser and config
70
+ aginit doctor Check Node.js, package manager, Git, Graft, Codex, Skills CLI, agent-browser, Claude Code wiring and config
69
71
  aginit update Update installed skills and rebuild the Graft index
70
72
  ```
71
73
 
@@ -5,4 +5,16 @@ export declare function setupAgentsMarkdown(targetDir: string, config: AginitCon
5
5
  dryRun?: boolean;
6
6
  silent?: boolean;
7
7
  }): boolean;
8
+ export declare const CLAUDE_AGENTS_IMPORT = "@AGENTS.md";
9
+ /**
10
+ * Point Claude Code at AGENTS.md through a one-line `@AGENTS.md` import. Recent
11
+ * Claude Code reads AGENTS.md on its own, but only without a CLAUDE.md and not
12
+ * in every session; the import works everywhere and never loads it twice.
13
+ * An existing CLAUDE.md is left alone (doctor reports a missing import).
14
+ */
15
+ export declare function setupClaudeMarkdown(targetDir: string, options?: {
16
+ dryRun?: boolean;
17
+ silent?: boolean;
18
+ }): boolean;
19
+ export declare function claudeMarkdownImportsAgents(content: string): boolean;
8
20
  //# sourceMappingURL=agents-md.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../src/adapters/agents-md.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAiIR;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACxE,OAAO,CA+BT"}
1
+ {"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../src/adapters/agents-md.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAmIR;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACxE,OAAO,CA+BT;AAED,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAQT;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIpE"}
@@ -92,7 +92,9 @@ export function generateAgentsMarkdown(config, scripts) {
92
92
  '',
93
93
  '## AI Capabilities & Skills',
94
94
  hasSkills
95
- ? 'Configured skills install into `.agents/skills/` (shared by Antigravity and Codex):'
95
+ ? config.agents.claudeCode === false
96
+ ? 'Configured skills install into `.agents/skills/` (shared by Antigravity and Codex):'
97
+ : 'Configured skills install into `.agents/skills/` (shared by Antigravity and Codex, linked into `.claude/skills/` for Claude Code):'
96
98
  : 'Skills installation is disabled in this configuration.',
97
99
  engineeringCapability || undefined,
98
100
  proseCapability || undefined,
@@ -148,4 +150,26 @@ export function setupAgentsMarkdown(targetDir, config, options = {}) {
148
150
  const content = generateAgentsMarkdown(config, readPackageManifest(targetDir)?.scripts);
149
151
  return safeWriteFile(filePath, content, { overwrite: true, dryRun, silent });
150
152
  }
153
+ export const CLAUDE_AGENTS_IMPORT = '@AGENTS.md';
154
+ /**
155
+ * Point Claude Code at AGENTS.md through a one-line `@AGENTS.md` import. Recent
156
+ * Claude Code reads AGENTS.md on its own, but only without a CLAUDE.md and not
157
+ * in every session; the import works everywhere and never loads it twice.
158
+ * An existing CLAUDE.md is left alone (doctor reports a missing import).
159
+ */
160
+ export function setupClaudeMarkdown(targetDir, options = {}) {
161
+ const { dryRun = false, silent = false } = options;
162
+ const filePath = path.join(targetDir, 'CLAUDE.md');
163
+ if (fileExists(filePath)) {
164
+ if (!silent)
165
+ logger.dim('CLAUDE.md already exists, preserving content.');
166
+ return true;
167
+ }
168
+ return safeWriteFile(filePath, CLAUDE_AGENTS_IMPORT + '\n', { overwrite: false, dryRun, silent });
169
+ }
170
+ export function claudeMarkdownImportsAgents(content) {
171
+ return content
172
+ .split(/\r?\n/)
173
+ .some((line) => ['@AGENTS.md', '@./AGENTS.md'].includes(line.trim()));
174
+ }
151
175
  //# sourceMappingURL=agents-md.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/adapters/agents-md.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/adapters/agents-md.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export declare function isGraftInstalled(): Promise<boolean>;
2
2
  export declare function initGraft(targetDir: string, options?: {
3
3
  dryRun?: boolean;
4
4
  silent?: boolean;
5
+ claude?: boolean;
5
6
  }): Promise<boolean>;
6
7
  export declare function buildGraft(targetDir: string, options?: {
7
8
  dryRun?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"graft.d.ts","sourceRoot":"","sources":["../../src/adapters/graft.ts"],"names":[],"mappings":"AAKA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
1
+ {"version":3,"file":"graft.d.ts","sourceRoot":"","sources":["../../src/adapters/graft.ts"],"names":[],"mappings":"AAKA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACrE,OAAO,CAAC,OAAO,CAAC,CAkClB;AAED,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -6,7 +6,7 @@ export async function isGraftInstalled() {
6
6
  return await commandExists('graft');
7
7
  }
8
8
  export async function initGraft(targetDir, options = {}) {
9
- const { dryRun = false, silent = false } = options;
9
+ const { dryRun = false, silent = false, claude = true } = options;
10
10
  const installed = dryRun || (await isGraftInstalled());
11
11
  if (!installed) {
12
12
  if (!silent) {
@@ -16,8 +16,10 @@ export async function initGraft(targetDir, options = {}) {
16
16
  }
17
17
  if (!silent)
18
18
  logger.dim('Initializing Graft context graph...');
19
- // Run graft init with antigravity and agents, without touching global system files (--no-global)
20
- const res = await runExecutable('graft', ['init', '--no-global', '--agents', 'antigravity', 'agents', '-y'], {
19
+ // Wire Antigravity, AGENTS.md readers and (optionally) Claude Code's in-repo
20
+ // .claude/ + .mcp.json, without touching global system files (--no-global)
21
+ const agents = ['antigravity', 'agents', ...(claude ? ['claude'] : [])];
22
+ const res = await runExecutable('graft', ['init', '--no-global', '--agents', ...agents, '-y'], {
21
23
  cwd: targetDir,
22
24
  dryRun,
23
25
  silent: true
@@ -1 +1 @@
1
- {"version":3,"file":"graft.js","sourceRoot":"","sources":["../../src/adapters/graft.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graft.js","sourceRoot":"","sources":["../../src/adapters/graft.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
- import { SkillSourceConfig } from '../config/schema.js';
1
+ import { AginitConfig, SkillSourceConfig } from '../config/schema.js';
2
+ /** The skills CLI id for Claude Code; it links skills into `.claude/skills/`. */
3
+ export declare const CLAUDE_CODE_AGENT = "claude-code";
4
+ export declare function claudeCodeEnabled(config: Pick<AginitConfig, 'agents'>): boolean;
5
+ /** Agents the skills CLI installs into, deduplicated. */
6
+ export declare function skillAgents(config: Pick<AginitConfig, 'agents'>): string[];
2
7
  export interface SkillsLockFile {
3
8
  version: number;
4
9
  skills: Record<string, {
@@ -22,6 +27,20 @@ export declare function installAllSkills(targetDir: string, sources: SkillSource
22
27
  failed: string[];
23
28
  }>;
24
29
  export declare function getInstalledSkills(targetDir: string): string[];
30
+ /**
31
+ * Installed skills Claude Code cannot see because `.claude/skills/<name>/SKILL.md`
32
+ * is missing (the skills CLI links them there when `claude-code` is an agent).
33
+ */
34
+ export declare function getSkillsMissingForClaude(targetDir: string): string[];
35
+ /**
36
+ * Bring projects set up before Claude Code support up to date: when Claude Code
37
+ * is enabled and some installed skill is not linked into `.claude/skills/`,
38
+ * reinstall the configured sources with the full agent list (idempotent).
39
+ */
40
+ export declare function ensureClaudeSkillLinks(targetDir: string, config: AginitConfig, options?: {
41
+ dryRun?: boolean;
42
+ silent?: boolean;
43
+ }): Promise<boolean>;
25
44
  export declare function updateSkills(targetDir: string, options?: {
26
45
  dryRun?: boolean;
27
46
  silent?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/adapters/skills.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CACF,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B5C;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAcpD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAuB9D;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CASlB"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/adapters/skills.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,OAAO,CAE/E;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,EAAE,CAI1E;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CACF,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B5C;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAcpD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAuB9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAIrE;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CASlB"}
@@ -4,8 +4,20 @@ import { fileExists, readJsonFile } from '../utils/fs.js';
4
4
  import { runExecutable } from '../utils/shell.js';
5
5
  import { logger } from '../utils/logger.js';
6
6
  import { validateUpstreamArgument } from '../config/validation.js';
7
+ /** The skills CLI id for Claude Code; it links skills into `.claude/skills/`. */
8
+ export const CLAUDE_CODE_AGENT = 'claude-code';
9
+ export function claudeCodeEnabled(config) {
10
+ return config.agents.claudeCode !== false;
11
+ }
12
+ /** Agents the skills CLI installs into, deduplicated. */
13
+ export function skillAgents(config) {
14
+ const agents = [config.agents.primary, config.agents.secondary];
15
+ if (claudeCodeEnabled(config))
16
+ agents.push(CLAUDE_CODE_AGENT);
17
+ return [...new Set(agents)];
18
+ }
7
19
  export async function installSkillSource(targetDir, source, options = {}) {
8
- const { agents = ['antigravity', 'codex'], dryRun = false, silent = false } = options;
20
+ const { agents = ['antigravity', 'codex', CLAUDE_CODE_AGENT], dryRun = false, silent = false } = options;
9
21
  validateUpstreamArgument(source.package, 'skill package');
10
22
  for (const skill of source.skills)
11
23
  validateUpstreamArgument(skill, 'skill name');
@@ -70,6 +82,31 @@ export function getInstalledSkills(targetDir) {
70
82
  }
71
83
  return [...installed];
72
84
  }
85
+ /**
86
+ * Installed skills Claude Code cannot see because `.claude/skills/<name>/SKILL.md`
87
+ * is missing (the skills CLI links them there when `claude-code` is an agent).
88
+ */
89
+ export function getSkillsMissingForClaude(targetDir) {
90
+ return getInstalledSkills(targetDir).filter((name) => !fileExists(path.join(targetDir, '.claude', 'skills', name, 'SKILL.md')));
91
+ }
92
+ /**
93
+ * Bring projects set up before Claude Code support up to date: when Claude Code
94
+ * is enabled and some installed skill is not linked into `.claude/skills/`,
95
+ * reinstall the configured sources with the full agent list (idempotent).
96
+ */
97
+ export async function ensureClaudeSkillLinks(targetDir, config, options = {}) {
98
+ if (!claudeCodeEnabled(config) || config.skills.sources.length === 0)
99
+ return true;
100
+ if (getSkillsMissingForClaude(targetDir).length === 0)
101
+ return true;
102
+ if (!options.silent)
103
+ logger.dim('Linking skills into .claude/skills/ for Claude Code...');
104
+ const { failed } = await installAllSkills(targetDir, config.skills.sources, {
105
+ ...options,
106
+ agents: skillAgents(config)
107
+ });
108
+ return failed.length === 0;
109
+ }
73
110
  export async function updateSkills(targetDir, options = {}) {
74
111
  const { dryRun = false, silent = false } = options;
75
112
  if (!silent)
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/adapters/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/adapters/skills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** Keeps the project's linters and formatters off vendored skills. Returns the
2
+ * advice for configs that could not be edited safely. */
3
+ export declare function ignoreVendoredSkills(targetDir: string, options?: {
4
+ dryRun?: boolean;
5
+ silent?: boolean;
6
+ }): string[];
7
+ /** Doctor view: every config that still lets a linter or formatter see vendored skills. */
8
+ export declare function vendoredSkillsExposure(targetDir: string): string[];
9
+ //# sourceMappingURL=tool-ignores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-ignores.d.ts","sourceRoot":"","sources":["../../src/adapters/tool-ignores.ts"],"names":[],"mappings":"AAyIA;yDACyD;AACzD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,MAAM,EAAE,CAUV;AAED,2FAA2F;AAC3F,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE"}
@@ -0,0 +1,121 @@
1
+ import path from 'node:path';
2
+ import { fileExists, readTextFile, safeWriteFile } from '../utils/fs.js';
3
+ import { readPackageManifest } from '../config/validation.js';
4
+ // Vendored skill sources ship third-party JS and Markdown that the project's own
5
+ // linters and formatters must not check. No ignore convention is shared across tools,
6
+ // so each tool below says where its ignores live and how to add to them.
7
+ const VENDORED_DIRS = ['.agents', '.claude'];
8
+ const configs = (base, extensions) => extensions.map((ext) => `${base}${ext}`);
9
+ /** Gitignore-syntax files: append the directories. */
10
+ function ignoreFile(name, used) {
11
+ return {
12
+ file: (project) => (used(project) ? name : undefined),
13
+ missing: (text) => {
14
+ const lines = text.split(/\r?\n/).map((line) => line.trim().replace(/^\/|\/(\*\*)?$/g, ''));
15
+ return VENDORED_DIRS.filter((dir) => !lines.includes(dir));
16
+ },
17
+ patch: (text, dirs) => {
18
+ const block = `# Vendored agent skills (aginit)\n${dirs.map((dir) => `${dir}/`).join('\n')}\n`;
19
+ return text.trim() ? `${text.trimEnd()}\n\n${block}` : block;
20
+ },
21
+ advice: (file, dirs) => `add ${dirs.map((dir) => `${dir}/`).join(' and ')} to ${file}`
22
+ };
23
+ }
24
+ const prettier = ignoreFile('.prettierignore', (project) => project.has('prettier') ||
25
+ Boolean(project.manifest?.prettier) ||
26
+ [
27
+ ...configs('.prettierrc', ['', '.json', '.json5', '.yaml', '.yml', '.toml']),
28
+ ...configs('.prettierrc', ['.js', '.cjs', '.mjs', '.ts', '.cts', '.mts']),
29
+ ...configs('prettier.config', ['.js', '.cjs', '.mjs', '.ts', '.cts', '.mts'])
30
+ ].some(project.exists));
31
+ // Legacy ESLint and oxlint read .eslintignore; flat-config ESLint does not.
32
+ const eslintIgnore = ignoreFile('.eslintignore', (project) => project.has('oxlint') ||
33
+ Boolean(project.manifest?.eslintConfig) ||
34
+ configs('.eslintrc', ['', '.js', '.cjs', '.json', '.yaml', '.yml']).some(project.exists));
35
+ /** Flat ESLint config: extend a global ignores array if there is an unambiguous one,
36
+ * `globalIgnores([...])` or an object holding only `ignores`. */
37
+ const eslintFlat = {
38
+ file: (project) => configs('eslint.config', ['.js', '.mjs', '.cjs', '.ts', '.mts', '.cts']).find(project.exists),
39
+ missing: (text) => VENDORED_DIRS.filter((dir) => !text.includes(`${dir}/`)),
40
+ patch: (text, dirs) => {
41
+ const match = /globalIgnores\(\s*\[/.exec(text) ??
42
+ /\{\s*ignores\s*:\s*\[(?=[^[\]]*\]\s*,?\s*\})/.exec(text);
43
+ if (!match)
44
+ return null;
45
+ const at = match.index + match[0].length;
46
+ const rest = text.slice(at);
47
+ const quote = /^\s*(['"`])/.exec(rest)?.[1] ??
48
+ ((text.match(/"/g)?.length ?? 0) > (text.match(/'/g)?.length ?? 0) ? '"' : "'");
49
+ const entries = dirs.map((dir) => `${quote}${dir}/**${quote}`);
50
+ const indent = /^(\s*\n[ \t]*)/.exec(rest)?.[1];
51
+ const insertion = indent
52
+ ? entries.map((entry) => `${indent}${entry},`).join('')
53
+ : entries.join(', ') + (/^\s*\]/.test(rest) ? '' : ', ');
54
+ return text.slice(0, at) + insertion + rest;
55
+ },
56
+ advice: (file, dirs) => `add { ignores: [${dirs.map((dir) => `'${dir}/**'`).join(', ')}] } to the exported array in ${file}`
57
+ };
58
+ /** Biome 2.2+: force-ignore the folders through files.includes. */
59
+ const biome = {
60
+ file: (project) => ['biome.json', 'biome.jsonc'].find(project.exists),
61
+ missing: (text) => VENDORED_DIRS.filter((dir) => !text.includes(`**/${dir}`)),
62
+ patch: (text, dirs) => {
63
+ let config;
64
+ try {
65
+ config = JSON.parse(text); // a biome.jsonc with comments gets advice instead
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ const includes = config.files?.includes ?? ['**'];
71
+ if (!Array.isArray(includes))
72
+ return null;
73
+ config.files = {
74
+ ...config.files,
75
+ includes: [...includes, ...dirs.map((dir) => `!!**/${dir}`)]
76
+ };
77
+ const json = JSON.stringify(config, null, /\n([ \t]+)"/.exec(text)?.[1] ?? 2) + '\n';
78
+ // Like Biome's formatter, keep the array on one line when it fits in 80 columns.
79
+ return json.replace(/^([ \t]*"includes": )\[[^\]]*\]/m, (block, key) => {
80
+ const inline = `${key}[${config.files.includes.map((p) => JSON.stringify(p)).join(', ')}]`;
81
+ return inline.replace(/\t/g, ' ').length <= 80 ? inline : block;
82
+ });
83
+ },
84
+ advice: (file, dirs) => `add ${dirs.map((dir) => `"!!**/${dir}"`).join(', ')} to files.includes in ${file}`
85
+ };
86
+ const TOOLS = [prettier, eslintIgnore, eslintFlat, biome];
87
+ function pendingIgnores(targetDir) {
88
+ const manifest = readPackageManifest(targetDir);
89
+ const project = {
90
+ manifest,
91
+ has: (name) => Boolean(manifest?.dependencies?.[name] || manifest?.devDependencies?.[name]),
92
+ exists: (file) => fileExists(path.join(targetDir, file))
93
+ };
94
+ return TOOLS.flatMap((tool) => {
95
+ const file = tool.file(project);
96
+ if (!file)
97
+ return [];
98
+ const text = readTextFile(path.join(targetDir, file)) ?? '';
99
+ const missing = tool.missing(text);
100
+ return missing.length > 0 ? [{ tool, file, text, missing }] : [];
101
+ });
102
+ }
103
+ /** Keeps the project's linters and formatters off vendored skills. Returns the
104
+ * advice for configs that could not be edited safely. */
105
+ export function ignoreVendoredSkills(targetDir, options = {}) {
106
+ const { dryRun = false, silent = false } = options;
107
+ const advice = [];
108
+ for (const { tool, file, text, missing } of pendingIgnores(targetDir)) {
109
+ const patched = tool.patch(text, missing);
110
+ if (patched === null)
111
+ advice.push(`Linters check vendored skills: ${tool.advice(file, missing)}`);
112
+ else
113
+ safeWriteFile(path.join(targetDir, file), patched, { overwrite: true, dryRun, silent });
114
+ }
115
+ return advice;
116
+ }
117
+ /** Doctor view: every config that still lets a linter or formatter see vendored skills. */
118
+ export function vendoredSkillsExposure(targetDir) {
119
+ return pendingIgnores(targetDir).map(({ tool, file, missing }) => tool.advice(file, missing));
120
+ }
121
+ //# sourceMappingURL=tool-ignores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-ignores.js","sourceRoot":"","sources":["../../src/adapters/tool-ignores.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AA8BA,wBAAsB,SAAS,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgShF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAqCA,wBAAsB,SAAS,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+VhF"}
@@ -4,9 +4,12 @@ import { runExecutable, commandExists } from '../utils/shell.js';
4
4
  import { fileExists, readTextFile } from '../utils/fs.js';
5
5
  import { AGINIT_CONFIG_FILENAME, LEGACY_CONFIG_FILENAME } from '../config/schema.js';
6
6
  import { detectPackageManager } from '../adapters/package-manager.js';
7
- import { getInstalledSkills } from '../adapters/skills.js';
7
+ import fs from 'node:fs';
8
+ import { claudeCodeEnabled, getInstalledSkills, getSkillsMissingForClaude } from '../adapters/skills.js';
9
+ import { claudeMarkdownImportsAgents } from '../adapters/agents-md.js';
8
10
  import { agentBrowserConfigured, agentBrowserStubInstalled, findUsernsRestriction, runAgentBrowserDiagnostics } from '../adapters/agent-browser.js';
9
11
  import { readProjectConfig } from '../config/validation.js';
12
+ import { vendoredSkillsExposure } from '../adapters/tool-ignores.js';
10
13
  import { logger } from '../utils/logger.js';
11
14
  export async function runDoctor(targetDir = process.cwd()) {
12
15
  logger.banner('Aginit — System & Project Doctor', `Target: ${targetDir}`);
@@ -139,7 +142,7 @@ export async function runDoctor(targetDir = process.cwd()) {
139
142
  category: 'Project Config',
140
143
  ok: !!projectConfig,
141
144
  detail: projectConfig
142
- ? `Preset: "${projectConfig.preset}" (v${projectConfig.schemaVersion || '1.0.0'}), pm: ${activePm}, agents: ${projectConfig.agents.primary}/${projectConfig.agents.secondary}`
145
+ ? `Preset: "${projectConfig.preset}" (v${projectConfig.schemaVersion || '1.0.0'}), pm: ${activePm}, agents: ${projectConfig.agents.primary}/${projectConfig.agents.secondary}${claudeCodeEnabled(projectConfig) ? '/claude-code' : ''}`
143
146
  : configError
144
147
  ? `Invalid configuration: ${configError}`
145
148
  : 'No aginit.config.json found in current directory',
@@ -185,6 +188,60 @@ export async function runDoctor(targetDir = process.cwd()) {
185
188
  ? undefined
186
189
  : 'Run `aginit init` or `npx skills add ...` to install skills'
187
190
  });
191
+ // 9a. Vendored skills must stay out of the project's linters and formatters
192
+ if (installedSkills.length > 0) {
193
+ const exposure = vendoredSkillsExposure(targetDir);
194
+ checks.push({
195
+ name: 'Lint/format ignores for vendored skills',
196
+ category: 'Project Config',
197
+ ok: exposure.length === 0,
198
+ detail: exposure.length === 0
199
+ ? 'Detected linters and formatters skip .agents/ and .claude/'
200
+ : 'Project linters or formatters will check vendored skill files',
201
+ suggestion: exposure.length === 0 ? undefined : `Run \`aginit update\`, or ${exposure.join('; ')}`
202
+ });
203
+ }
204
+ // 9b. Claude Code: skills linked into .claude/skills/ and AGENTS.md reachable
205
+ if (projectConfig !== null && claudeCodeEnabled(projectConfig)) {
206
+ if (!skillsDisabled && installedSkills.length > 0) {
207
+ const missing = getSkillsMissingForClaude(targetDir);
208
+ checks.push({
209
+ name: 'Claude Code Skills (.claude/skills/)',
210
+ category: 'Project Config',
211
+ ok: missing.length === 0,
212
+ detail: missing.length === 0
213
+ ? `All ${installedSkills.length} skills visible to Claude Code`
214
+ : `${missing.length} skills not linked for Claude Code: ${missing.join(', ')}`,
215
+ suggestion: missing.length === 0
216
+ ? undefined
217
+ : 'Run `aginit update` or `aginit init` to link skills into .claude/skills/ (or set agents.claudeCode: false)'
218
+ });
219
+ }
220
+ const claudePath = path.join(targetDir, 'CLAUDE.md');
221
+ const claudeExists = fileExists(claudePath);
222
+ // A CLAUDE.md symlinked to AGENTS.md is as good as the import.
223
+ const claudeIsAgentsLink = claudeExists &&
224
+ agentsExists &&
225
+ fs.realpathSync(claudePath) === fs.realpathSync(agentsPath);
226
+ const claudeOk = !claudeExists ||
227
+ claudeIsAgentsLink ||
228
+ claudeMarkdownImportsAgents(readTextFile(claudePath) || '');
229
+ checks.push({
230
+ name: 'CLAUDE.md → AGENTS.md',
231
+ category: 'Project Config',
232
+ ok: claudeExists && claudeOk,
233
+ detail: !claudeExists
234
+ ? 'No CLAUDE.md; only Claude Code v2.1.277+ reads AGENTS.md on its own'
235
+ : claudeOk
236
+ ? 'CLAUDE.md imports AGENTS.md'
237
+ : 'CLAUDE.md exists without `@AGENTS.md`, so Claude Code ignores AGENTS.md',
238
+ suggestion: !claudeExists
239
+ ? 'Run `aginit update` or `aginit init` to add a CLAUDE.md that imports AGENTS.md'
240
+ : claudeOk
241
+ ? undefined
242
+ : 'Add a line `@AGENTS.md` to CLAUDE.md'
243
+ });
244
+ }
188
245
  // 10. agent-browser runtime (only when the project ships the skill)
189
246
  const agentBrowserWanted = projectConfig !== null &&
190
247
  (agentBrowserConfigured(projectConfig.skills.sources) || agentBrowserStubInstalled(targetDir));
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}