@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.
- package/CHANGELOG.md +18 -0
- package/README.md +5 -3
- package/dist/adapters/agents-md.d.ts +12 -0
- package/dist/adapters/agents-md.d.ts.map +1 -1
- package/dist/adapters/agents-md.js +25 -1
- package/dist/adapters/agents-md.js.map +1 -1
- package/dist/adapters/graft.d.ts +1 -0
- package/dist/adapters/graft.d.ts.map +1 -1
- package/dist/adapters/graft.js +5 -3
- package/dist/adapters/graft.js.map +1 -1
- package/dist/adapters/skills.d.ts +20 -1
- package/dist/adapters/skills.d.ts.map +1 -1
- package/dist/adapters/skills.js +38 -1
- package/dist/adapters/skills.js.map +1 -1
- package/dist/adapters/tool-ignores.d.ts +9 -0
- package/dist/adapters/tool-ignores.d.ts.map +1 -0
- package/dist/adapters/tool-ignores.js +121 -0
- package/dist/adapters/tool-ignores.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +59 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +13 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/new.d.ts.map +1 -1
- package/dist/cli/new.js +17 -4
- package/dist/cli/new.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +6 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +2 -0
- package/dist/config/validation.js.map +1 -1
- package/dist/presets/web.d.ts.map +1 -1
- package/dist/presets/web.js +34 -3
- package/dist/presets/web.js.map +1 -1
- package/package.json +1 -1
- package/src/adapters/agents-md.ts +30 -1
- package/src/adapters/graft.ts +6 -4
- package/src/adapters/skills.ts +46 -2
- package/src/adapters/tool-ignores.ts +158 -0
- package/src/cli/doctor.ts +72 -2
- package/src/cli/main.ts +12 -3
- package/src/cli/new.ts +14 -4
- package/src/config/defaults.ts +6 -3
- package/src/config/schema.ts +5 -0
- package/src/config/validation.ts +2 -0
- 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
|
[](https://www.npmjs.com/package/@antomanc/aginit)
|
|
16
16
|
[](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,
|
|
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
|
-
?
|
|
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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"}
|
package/dist/adapters/graft.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/adapters/graft.js
CHANGED
|
@@ -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
|
-
//
|
|
20
|
-
|
|
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":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAAiB,EACjB,OAAO,
|
|
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;
|
|
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"}
|
package/dist/adapters/skills.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
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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"}
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/cli/doctor.js
CHANGED
|
@@ -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
|
|
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));
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -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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"}
|