@antomanc/aginit 0.5.0 → 0.6.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/CHANGELOG.md +25 -0
- package/README.md +21 -16
- package/THIRD_PARTY_NOTICES.md +3 -3
- package/dist/adapters/agent-docs.d.ts +4 -1
- package/dist/adapters/agent-docs.d.ts.map +1 -1
- package/dist/adapters/agent-docs.js +17 -5
- package/dist/adapters/agent-docs.js.map +1 -1
- package/dist/adapters/agents-md.d.ts +7 -2
- package/dist/adapters/agents-md.d.ts.map +1 -1
- package/dist/adapters/agents-md.js +33 -20
- package/dist/adapters/agents-md.js.map +1 -1
- package/dist/adapters/git.d.ts.map +1 -1
- package/dist/adapters/git.js +0 -6
- package/dist/adapters/git.js.map +1 -1
- package/dist/adapters/tool-ignores.d.ts.map +1 -1
- package/dist/adapters/tool-ignores.js +25 -1
- package/dist/adapters/tool-ignores.js.map +1 -1
- package/dist/adapters/trail.d.ts +15 -0
- package/dist/adapters/{graft.d.ts.map → trail.d.ts.map} +1 -1
- package/dist/adapters/trail.js +68 -0
- package/dist/adapters/trail.js.map +1 -0
- package/dist/cli/capabilities.js +8 -8
- package/dist/cli/doctor.js +8 -8
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/main.js +13 -13
- package/dist/cli/new.d.ts +1 -1
- package/dist/cli/new.js +5 -5
- package/dist/cli/wizard.d.ts +1 -0
- package/dist/cli/wizard.d.ts.map +1 -1
- package/dist/cli/wizard.js +5 -3
- package/dist/cli/wizard.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/schema.d.ts +2 -2
- package/dist/config/validation.d.ts +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +15 -3
- package/dist/config/validation.js.map +1 -1
- package/dist/detect/index.d.ts +2 -0
- package/dist/detect/index.d.ts.map +1 -1
- package/dist/detect/index.js +15 -2
- package/dist/detect/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/registry/catalog.d.ts.map +1 -1
- package/dist/registry/catalog.js +14 -10
- package/dist/registry/catalog.js.map +1 -1
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.js +5 -5
- package/dist/registry/setup.js +3 -3
- package/dist/registry/types.d.ts +3 -1
- package/dist/registry/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/agent-docs.ts +19 -4
- package/src/adapters/agents-md.ts +38 -20
- package/src/adapters/git.ts +0 -6
- package/src/adapters/tool-ignores.ts +27 -1
- package/src/adapters/trail.ts +94 -0
- package/src/cli/capabilities.ts +6 -6
- package/src/cli/doctor.ts +8 -8
- package/src/cli/main.ts +14 -14
- package/src/cli/new.ts +5 -5
- package/src/cli/wizard.ts +7 -3
- package/src/config/defaults.ts +1 -1
- package/src/config/schema.ts +2 -2
- package/src/config/validation.ts +17 -3
- package/src/detect/index.ts +15 -2
- package/src/index.ts +1 -1
- package/src/registry/catalog.ts +15 -10
- package/src/registry/index.ts +4 -4
- package/src/registry/setup.ts +4 -4
- package/src/registry/types.ts +4 -2
- package/dist/adapters/graft.d.ts +0 -15
- package/dist/adapters/graft.js +0 -58
- package/dist/adapters/graft.js.map +0 -1
- package/src/adapters/graft.ts +0 -82
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.6.0] - 2026-10-20
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Python projects with ruff configured (`ruff.toml`, `.ruff.toml` or `[tool.ruff]` in `pyproject.toml`) get `ruff check . && ruff format --check .` as their lint command (through `uv run` when `uv.lock` exists), and aginit adds `.agents` and `.claude` to ruff's `extend-exclude` so vendored skill scripts don't fail the project's lint. An existing `extend-exclude` gets advice instead of an edit.
|
|
8
|
+
- The wizard's setup summary names the codebase graph and its telemetry opt-out.
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **Breaking:** the codebase graph is now [Trail](https://github.com/trailhq/Trail-Code) (`@trailhq/trail-code`, bin `trail`), which replaces Graft upstream. `--no-graft` is now `--no-trail` and `--without graft` is `--without trail`. Configs saved with `codebase.graft` or a `graft` capability id load as `trail`. `trail init` migrates repos Graft wired before, and aginit removes Graft's unedited `.ignore` hint. Trail sends anonymous usage stats; opt out with `trail telemetry disable` or `DO_NOT_TRACK=1`.
|
|
13
|
+
- The Bootstrap & First Session section of `AGENTS.md` now lives inside the managed block, so aginit can keep it up to date. An unedited copy left outside the block by older versions is removed; an edited one is kept. `aginit doctor` checks for the managed block.
|
|
14
|
+
- The Task Routing row for `PRODUCT.md` appears only when the file exists or a design capability writes it.
|
|
15
|
+
- The native testing guide follows an existing `tests/` or `test/` directory, and no longer tells agents to keep tests next to the module.
|
|
16
|
+
|
|
17
|
+
## [0.5.1] - 2026-10-15
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- Attribution in the `AGENTS.md` managed block marker: `<!-- aginit:start — managed by npx @antomanc/aginit (re-run to refresh) -->`.
|
|
22
|
+
- Attribution in `docs/agents/*.md` micro-docs marker: `<!-- aginit:managed — generated by npx @antomanc/aginit. Delete this line to take ownership of this file. -->`.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Block merging and file ownership checks maintain backward compatibility with previous marker syntax, preserving user ownership and enabling seamless in-place marker upgrades without duplicate blocks.
|
|
27
|
+
|
|
3
28
|
## [0.5.0] - 2026-10-15
|
|
4
29
|
|
|
5
30
|
### Added
|
package/README.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
**Set up a new or existing project for AI coding agents with one command.**
|
|
4
4
|
|
|
5
|
+
[](https://www.npmjs.com/package/@antomanc/aginit)
|
|
6
|
+
[](https://github.com/antomanc/aginit/actions/workflows/ci.yml)
|
|
7
|
+
[](https://www.npmjs.com/package/@antomanc/aginit)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
5
10
|
aginit gives a repo what agents need to do good work from the first session: an `AGENTS.md`
|
|
6
11
|
that routes each task to the right doc, a curated set of engineering skills, a codebase graph
|
|
7
12
|
so agents read less and understand more, a test harness they can actually run, and a way to
|
|
@@ -12,10 +17,6 @@ backend and CLI projects, and it wires up upstream tools instead of reimplementi
|
|
|
12
17
|
npx @antomanc/aginit
|
|
13
18
|
```
|
|
14
19
|
|
|
15
|
-
[](https://github.com/antomanc/aginit/actions)
|
|
16
|
-
[](https://www.npmjs.com/package/@antomanc/aginit)
|
|
17
|
-
[](LICENSE)
|
|
18
|
-
|
|
19
20
|
<p align="center"><img src="https://raw.githubusercontent.com/antomanc/aginit/main/docs/assets/demo.gif" alt="aginit v2 detecting a web project, configuring capabilities and e2e, and passing every doctor check" width="720"></p>
|
|
20
21
|
|
|
21
22
|
> **Beta.** Expect flags and defaults to change before 1.0.
|
|
@@ -37,7 +38,7 @@ aginit sets all of this up the same way every time, and you can re-run it whenev
|
|
|
37
38
|
|---|---|
|
|
38
39
|
| **Instructions** | A lean `AGENTS.md`: invariants, the project's real commands, Karpathy guardrails, a **Task Routing** table and an **Anti-Rationalization** table. Details live in `docs/agents/testing.md`, `ui-verification.md` and `workflows.md`, which agents load only when the task needs them. A one-line `CLAUDE.md` (`@AGENTS.md`) makes Claude Code read it too |
|
|
39
40
|
| **Skills** | One methodology ([Matt Pocock skills](https://github.com/mattpocock/skills) by default, or [Superpowers](https://github.com/obra/superpowers), or none) plus [ponytail](https://github.com/DietrichGebert/ponytail), [karpathy-guidelines](https://github.com/multica-ai/andrej-karpathy-skills) and [humanizer](https://github.com/blader/humanizer). Installed in `.agents/skills/` via the [Skills CLI](https://github.com/vercel-labs/skills), linked into `.claude/skills/` |
|
|
40
|
-
| **Codebase graph** | [
|
|
41
|
+
| **Codebase graph** | [Trail](https://github.com/trailhq/Trail-Code) (formerly Graft): `trail map` and `trail ask` give agents the relevant code spans before they grep, and sessions leave shared learnings in `.trail/learnings/` |
|
|
41
42
|
| **Design** | [Impeccable](https://github.com/pbakaus/impeccable) on web and mobile (`/impeccable init`, `audit`, `polish`). It needs no Node, so it works in Flutter, Swift and Kotlin repos |
|
|
42
43
|
| **UI verification** | [agent-browser](https://github.com/vercel-labs/agent-browser) for web, [agent-device](https://github.com/callstack/agent-device) for iOS Simulator and Android Emulator. Optional: [Chrome DevTools MCP](https://github.com/ChromeDevTools/chrome-devtools-mcp), [BrowserSkill](https://github.com/Tencent/BrowserSkill) |
|
|
43
44
|
| **Testing** | Vitest (+ Playwright with a web framework) for Node projects, the host runner (`flutter test`, `cargo test`, ...) otherwise, and optionally [e2e](https://github.com/tester-army/e2e), natural-language E2E tests with a zero-cost replay cache |
|
|
@@ -57,16 +58,20 @@ pnpm dlx @antomanc/aginit # same, with pnpm
|
|
|
57
58
|
npm install -g @antomanc/aginit # or install globally and run `aginit`
|
|
58
59
|
```
|
|
59
60
|
|
|
60
|
-
The wizard creates a new project or initializes the current directory,
|
|
61
|
-
|
|
61
|
+
The wizard creates a new project or initializes the current directory, auto-detects your stack,
|
|
62
|
+
and walks you through platform, methodology, design, testing, UI driver, and add-on choices with
|
|
63
|
+
a setup summary before writing any files. Existing projects keep the package manager they
|
|
62
64
|
already use.
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
Trail is installed separately (or skip it with `--no-trail`):
|
|
65
67
|
|
|
66
68
|
```bash
|
|
67
|
-
npm install -g @
|
|
69
|
+
npm install -g @trailhq/trail-code
|
|
68
70
|
```
|
|
69
71
|
|
|
72
|
+
Trail sends anonymous usage stats by default. Turn them off with `trail telemetry disable` or
|
|
73
|
+
`DO_NOT_TRACK=1`. Projects set up with Graft move to Trail on the next `aginit init`.
|
|
74
|
+
|
|
70
75
|
## Commands
|
|
71
76
|
|
|
72
77
|
```
|
|
@@ -77,7 +82,7 @@ aginit list Show the capability registry and what this project e
|
|
|
77
82
|
aginit add <id|owner/repo> Enable capabilities (installs skills, refreshes AGENTS.md and docs)
|
|
78
83
|
aginit remove <id> Disable capabilities and remove their skills
|
|
79
84
|
aginit doctor Check the environment and every active capability
|
|
80
|
-
aginit update Update installed skills and rebuild the
|
|
85
|
+
aginit update Update installed skills and rebuild the Trail index
|
|
81
86
|
```
|
|
82
87
|
|
|
83
88
|
Bare `aginit` opens the wizard in a terminal and prints help elsewhere. The wizard detects your stack,
|
|
@@ -86,7 +91,7 @@ Initializing an existing directory preserves its stack; Node-only tools are hidd
|
|
|
86
91
|
`--yes`, to initialize without prompts.
|
|
87
92
|
|
|
88
93
|
Setup flags: `--preset web|cli|generic`, `--framework none|vite|next|existing`,
|
|
89
|
-
`--package-manager pnpm|npm|yarn|bun`, `--dry-run`, `--yes`, `--no-skills`, `--no-
|
|
94
|
+
`--package-manager pnpm|npm|yarn|bun`, `--dry-run`, `--yes`, `--no-skills`, `--no-trail`, `--no-git`.
|
|
90
95
|
|
|
91
96
|
Capability flags (the platform is detected; flags override it):
|
|
92
97
|
|
|
@@ -99,7 +104,7 @@ Capability flags (the platform is detected; flags override it):
|
|
|
99
104
|
| `--ui-driver` | `auto`, `agent-browser`, `agent-device`, `chrome-devtools-mcp`, `browserskill`, `none` |
|
|
100
105
|
| `--addons` | `context-mode`, `worktrunk`, `chrome-devtools-mcp`, `browserskill` (comma-separated) |
|
|
101
106
|
| `--add-skill` | any `owner/repo` skill repository (repeatable) |
|
|
102
|
-
| `--without` | any capability id, e.g. `
|
|
107
|
+
| `--without` | any capability id, e.g. `trail` or `humanizer` (repeatable) |
|
|
103
108
|
|
|
104
109
|
### Examples
|
|
105
110
|
|
|
@@ -131,7 +136,7 @@ aginit list
|
|
|
131
136
|
| --- | --- |
|
|
132
137
|
| `web` | TypeScript and Vitest, with optional Vite or Next.js scaffolding. Playwright is added when a web framework is selected. |
|
|
133
138
|
| `cli` | Node.js/TypeScript CLI with Commander, Picocolors and Vitest. |
|
|
134
|
-
| `generic` | Git, `AGENTS.md`, skills and
|
|
139
|
+
| `generic` | Git, `AGENTS.md`, skills and Trail. Leaves an existing `package.json` untouched. |
|
|
135
140
|
|
|
136
141
|
The web preset's `--framework none` (default) creates a TypeScript baseline without a bundler
|
|
137
142
|
or browser tests. `existing` keeps the framework you already have.
|
|
@@ -178,7 +183,7 @@ dependency versions and test configs, and only adds what's missing. If you alrea
|
|
|
178
183
|
different test runner, aginit adds a separate `test:unit` script instead of touching yours.
|
|
179
184
|
|
|
180
185
|
An existing `AGENTS.md` is preserved. aginit adds its managed block between
|
|
181
|
-
`<!-- aginit:start -->` and `<!-- aginit:end -->`, above
|
|
186
|
+
`<!-- aginit:start -->` and `<!-- aginit:end -->`, above Trail's block, and refreshes only that
|
|
182
187
|
block afterwards. The `docs/agents/` pages carry a marker line; delete it and aginit leaves
|
|
183
188
|
that page to you. Configs from older versions keep loading unchanged. Their capabilities are
|
|
184
189
|
inferred from `skills.sources` and the `codebase`/`browser` switches until you run
|
|
@@ -186,7 +191,7 @@ inferred from `skills.sources` and the `codebase`/`browser` switches until you r
|
|
|
186
191
|
|
|
187
192
|
## Design
|
|
188
193
|
|
|
189
|
-
- **Orchestrates, doesn't vendor.** Skills,
|
|
194
|
+
- **Orchestrates, doesn't vendor.** Skills, Trail, e2e, Vite, Next.js and Playwright come
|
|
190
195
|
from their upstream tools. aginit picks good defaults and runs them. CLIs it does not
|
|
191
196
|
install itself (agent-device, context-mode, `wt`, `bsk`) are checked, and the upstream
|
|
192
197
|
install command is printed.
|
|
@@ -194,7 +199,7 @@ inferred from `skills.sources` and the `codebase`/`browser` switches until you r
|
|
|
194
199
|
- **Honest dry-run.** `--dry-run` lists every planned operation without writing files or
|
|
195
200
|
downloading tools. (Files produced by upstream scaffolders are only known after they run.)
|
|
196
201
|
- **Fails loudly.** Invalid config is reported before any file changes. A failed scaffold
|
|
197
|
-
stops the command; missing
|
|
202
|
+
stops the command; missing Trail, a failed skill install or a failed agent-browser setup
|
|
198
203
|
exits nonzero and keeps the scaffold, so you can fix it and re-run `aginit init`.
|
|
199
204
|
- **Hands off your system.** If the Linux kernel blocks Chrome's sandbox (`No usable
|
|
200
205
|
sandbox!`), aginit tells you the sysctl fix and the narrower `--no-sandbox` option. It
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -14,9 +14,9 @@ Each integrated upstream tool is governed by its respective authors and licenses
|
|
|
14
14
|
|
|
15
15
|
## Codebase graph
|
|
16
16
|
|
|
17
|
-
- **
|
|
18
|
-
- Project: Codebase
|
|
19
|
-
- Author:
|
|
17
|
+
- **Trail** (formerly Graft)
|
|
18
|
+
- Project: Codebase context graph and team learnings CLI (`@trailhq/trail-code`, formerly `@nanonets/graft`)
|
|
19
|
+
- Author: Trail and Graft contributors
|
|
20
20
|
- License: MIT
|
|
21
21
|
- Repository: https://github.com/trailhq/Trail-Code (formerly NanoNets/context-graph-engine)
|
|
22
22
|
|
|
@@ -13,11 +13,14 @@ export declare function projectProfile(config: AginitConfig, options?: {
|
|
|
13
13
|
scripts?: Record<string, string>;
|
|
14
14
|
}): ProjectProfile;
|
|
15
15
|
export declare const DOCS_DIR: string;
|
|
16
|
-
export declare const GENERATED_MARKER = "<!--
|
|
16
|
+
export declare const GENERATED_MARKER = "<!-- aginit:managed \u2014 generated by npx @antomanc/aginit. Delete this line to take ownership of this file. -->";
|
|
17
|
+
export declare const LEGACY_GENERATED_MARKER = "<!-- Generated by aginit from aginit.config.json. Rerun `aginit` to refresh; delete this line to edit by hand. -->";
|
|
17
18
|
/** Markdown for one micro-doc, or null when no active capability contributes to it. */
|
|
18
19
|
export declare function renderMicroDoc(doc: MicroDoc, profile: ProjectProfile): string | null;
|
|
19
20
|
export declare const MICRO_DOCS: MicroDoc[];
|
|
20
21
|
export declare function microDocPath(doc: MicroDoc): string;
|
|
22
|
+
/** Checks if a micro-doc's content still carries an aginit managed marker. */
|
|
23
|
+
export declare function isManagedMicroDoc(text: string | null): boolean;
|
|
21
24
|
/**
|
|
22
25
|
* Write the docs/agents/ micro-docs for the active capabilities. A doc whose
|
|
23
26
|
* marker line was removed belongs to the user and is never touched; a doc no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-docs.d.ts","sourceRoot":"","sources":["../../src/adapters/agent-docs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAEL,oBAAoB,EAGpB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,KAAK,EACN,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAQtC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GACrE,cAAc,
|
|
1
|
+
{"version":3,"file":"agent-docs.d.ts","sourceRoot":"","sources":["../../src/adapters/agent-docs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAEL,oBAAoB,EAGpB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,KAAK,EACN,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAQtC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAO,GACrE,cAAc,CAiBhB;AAED,eAAO,MAAM,QAAQ,QAA8B,CAAC;AACpD,eAAO,MAAM,gBAAgB,uHACoF,CAAC;AAClH,eAAO,MAAM,uBAAuB,uHACkF,CAAC;AAsDvH,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAmBpF;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,EAAgD,CAAC;AAElF,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAElD;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAS9D;AAOD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,QAAQ,EAAE,CAuBZ;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,QAAQ,EAAE,CAEpE"}
|
|
@@ -16,6 +16,7 @@ export function resolvePlatformStack(config, targetDir) {
|
|
|
16
16
|
}
|
|
17
17
|
export function projectProfile(config, options = {}) {
|
|
18
18
|
const { platform, stack } = resolvePlatformStack(config, options.targetDir);
|
|
19
|
+
const targetDir = options.targetDir ?? '.';
|
|
19
20
|
const active = activeCapabilities(config);
|
|
20
21
|
const ids = new Set(active.map((c) => c.id));
|
|
21
22
|
return {
|
|
@@ -23,15 +24,17 @@ export function projectProfile(config, options = {}) {
|
|
|
23
24
|
stack,
|
|
24
25
|
active,
|
|
25
26
|
has: (id) => ids.has(id),
|
|
26
|
-
commands: projectCommands(
|
|
27
|
+
commands: projectCommands(targetDir, stack, {
|
|
27
28
|
packageManager: config.packageManager,
|
|
28
29
|
scripts: options.scripts
|
|
29
30
|
}),
|
|
30
|
-
e2eDir: e2eDirFor(stack)
|
|
31
|
+
e2eDir: e2eDirFor(stack),
|
|
32
|
+
testDir: ['tests', 'test'].find((dir) => fs.statSync(path.join(targetDir, dir), { throwIfNoEntry: false })?.isDirectory())
|
|
31
33
|
};
|
|
32
34
|
}
|
|
33
35
|
export const DOCS_DIR = path.join('docs', 'agents');
|
|
34
|
-
export const GENERATED_MARKER = '<!--
|
|
36
|
+
export const GENERATED_MARKER = '<!-- aginit:managed — generated by npx @antomanc/aginit. Delete this line to take ownership of this file. -->';
|
|
37
|
+
export const LEGACY_GENERATED_MARKER = '<!-- Generated by aginit from aginit.config.json. Rerun `aginit` to refresh; delete this line to edit by hand. -->';
|
|
35
38
|
const DOC_TITLES = {
|
|
36
39
|
testing: 'Testing',
|
|
37
40
|
'ui-verification': 'Live UI verification',
|
|
@@ -102,10 +105,19 @@ export const MICRO_DOCS = ['testing', 'ui-verification', 'workflows'];
|
|
|
102
105
|
export function microDocPath(doc) {
|
|
103
106
|
return path.join(DOCS_DIR, `${doc}.md`).split(path.sep).join('/');
|
|
104
107
|
}
|
|
108
|
+
/** Checks if a micro-doc's content still carries an aginit managed marker. */
|
|
109
|
+
export function isManagedMicroDoc(text) {
|
|
110
|
+
if (text === null)
|
|
111
|
+
return true;
|
|
112
|
+
const firstLine = text.split(/\r?\n/, 1)[0].trim();
|
|
113
|
+
return (firstLine.startsWith(GENERATED_MARKER) ||
|
|
114
|
+
firstLine.startsWith(LEGACY_GENERATED_MARKER) ||
|
|
115
|
+
/^<!--\s*aginit:managed(?:\b[^>]*)?-->/.test(firstLine) ||
|
|
116
|
+
/^<!--\s*Generated by aginit\b/.test(firstLine));
|
|
117
|
+
}
|
|
105
118
|
/** Docs aginit owns: files it wrote that still carry the generated marker. */
|
|
106
119
|
function ownedByAginit(file) {
|
|
107
|
-
|
|
108
|
-
return text === null || text.startsWith(GENERATED_MARKER);
|
|
120
|
+
return isManagedMicroDoc(readTextFile(file));
|
|
109
121
|
}
|
|
110
122
|
/**
|
|
111
123
|
* Write the docs/agents/ micro-docs for the active capabilities. A doc whose
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-docs.js","sourceRoot":"","sources":["../../src/adapters/agent-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAElB,OAAO,EACP,SAAS,EAKV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAM5C,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,MAAoB,EACpB,SAAkB;IAElB,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,OAAO;QACL,QAAQ,EACN,MAAM,CAAC,QAAQ;YACf,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC;QAC/F,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;KAC5F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAoB,EACpB,OAAO,GAA6D,EAAE;IAEtE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,OAAO;QACL,QAAQ;QACR,KAAK;QACL,MAAM;QACN,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,EAAE,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-docs.js","sourceRoot":"","sources":["../../src/adapters/agent-docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { AginitConfig } from '../config/schema.js';
|
|
2
2
|
import { MicroDoc } from '../registry/index.js';
|
|
3
3
|
import { ProjectProfile } from './agent-docs.js';
|
|
4
|
-
export declare const AGINIT_BLOCK_START = "<!-- aginit:start -->";
|
|
4
|
+
export declare const AGINIT_BLOCK_START = "<!-- aginit:start \u2014 managed by npx @antomanc/aginit (re-run to refresh) -->";
|
|
5
5
|
export declare const AGINIT_BLOCK_END = "<!-- aginit:end -->";
|
|
6
|
+
export declare const AGINIT_START_PATTERN: RegExp;
|
|
7
|
+
export declare const AGINIT_END_PATTERN: RegExp;
|
|
6
8
|
/**
|
|
7
9
|
* The part of AGENTS.md aginit keeps in sync with the active capabilities:
|
|
8
10
|
* guardrails, the Task Routing table and the Anti-Rationalization table.
|
|
9
11
|
*/
|
|
10
|
-
export declare function renderAgentsBlock(config: AginitConfig, profile: ProjectProfile,
|
|
12
|
+
export declare function renderAgentsBlock(config: AginitConfig, profile: ProjectProfile, options?: {
|
|
13
|
+
docs?: MicroDoc[];
|
|
14
|
+
targetDir?: string;
|
|
15
|
+
}): string;
|
|
11
16
|
export declare function generateAgentsMarkdown(config: AginitConfig, scripts?: Record<string, string>, targetDir?: string): string;
|
|
12
17
|
/** Insert or refresh the aginit block in an existing AGENTS.md, leaving everything else as written. */
|
|
13
18
|
export declare function mergeAgentsBlock(existing: string, block: string): string;
|
|
@@ -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;AAGnD,OAAO,EAAqC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAIL,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAUzB,eAAO,MAAM,kBAAkB,
|
|
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;AAGnD,OAAO,EAAqC,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAIL,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAUzB,eAAO,MAAM,kBAAkB,qFACgD,CAAC;AAChF,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD,eAAO,MAAM,oBAAoB,QAAuC,CAAC;AACzE,eAAO,MAAM,kBAAkB,QAAqC,CAAC;AA6BrE;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,MAAM,CA4DR;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CA0CR;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBxE;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,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAA;CAAO,GAC3F,OAAO,CAqBT;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"}
|
|
@@ -11,15 +11,20 @@ const PLATFORM_LABELS = {
|
|
|
11
11
|
backend: 'Backend',
|
|
12
12
|
cli: 'CLI'
|
|
13
13
|
};
|
|
14
|
-
export const AGINIT_BLOCK_START = '<!-- aginit:start -->';
|
|
14
|
+
export const AGINIT_BLOCK_START = '<!-- aginit:start — managed by npx @antomanc/aginit (re-run to refresh) -->';
|
|
15
15
|
export const AGINIT_BLOCK_END = '<!-- aginit:end -->';
|
|
16
|
+
export const AGINIT_START_PATTERN = /<!--\s*aginit:start(?:\b[^>]*)?-->/;
|
|
17
|
+
export const AGINIT_END_PATTERN = /<!--\s*aginit:end(?:\b[^>]*)?-->/;
|
|
16
18
|
const BOOTSTRAP_SECTION = [
|
|
17
19
|
'## Bootstrap & First Session',
|
|
18
20
|
'When the user asks to "bootstrap this project" or kicks off a new initiative:',
|
|
19
21
|
'1. Understand product intent and ask 2-3 essential questions to resolve ambiguity.',
|
|
20
22
|
'2. Draft or refine canonical context in `PRODUCT.md` and `DESIGN.md` (or `docs/adr/`).',
|
|
21
|
-
'3. Plan in small verifiable increments and implement test-first using installed skills.'
|
|
23
|
+
'3. Plan in small verifiable increments and implement test-first using installed skills.',
|
|
24
|
+
''
|
|
22
25
|
];
|
|
26
|
+
/** Older releases appended the section after the managed block; it now lives inside. */
|
|
27
|
+
const LEGACY_BOOTSTRAP = new RegExp('\\n*' + BOOTSTRAP_SECTION.join('\n').trim().replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '\\n*', 'g');
|
|
23
28
|
/** Placeholder scripts used when AGENTS.md is rendered without a package.json to read. */
|
|
24
29
|
function presetScripts(config) {
|
|
25
30
|
return config.preset === 'generic'
|
|
@@ -35,11 +40,13 @@ const table = (head, rows) => [
|
|
|
35
40
|
* The part of AGENTS.md aginit keeps in sync with the active capabilities:
|
|
36
41
|
* guardrails, the Task Routing table and the Anti-Rationalization table.
|
|
37
42
|
*/
|
|
38
|
-
export function renderAgentsBlock(config, profile,
|
|
43
|
+
export function renderAgentsBlock(config, profile, options = {}) {
|
|
44
|
+
const { docs = plannedMicroDocs(profile), targetDir } = options;
|
|
39
45
|
const hasSkills = config.skills.sources.length > 0;
|
|
40
|
-
const routing = [
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
const routing = [];
|
|
47
|
+
// Only route to PRODUCT.md when it exists or a design capability will write it.
|
|
48
|
+
if ((targetDir && fileExists(path.join(targetDir, 'PRODUCT.md'))) || profile.active.some((c) => c.category === 'design'))
|
|
49
|
+
routing.push(['Product intent, scope, target users', '`PRODUCT.md`']);
|
|
43
50
|
const order = ['design', 'codebase-graph'];
|
|
44
51
|
const rank = (c) => (order.indexOf(c.category) + order.length + 1) % (order.length + 1);
|
|
45
52
|
const direct = profile.active.filter((c) => c.routing).sort((a, b) => rank(a) - rank(b));
|
|
@@ -64,6 +71,7 @@ export function renderAgentsBlock(config, profile, docs = plannedMicroDocs(profi
|
|
|
64
71
|
`(${profile.commands.e2e && profile.has('playwright') ? '`' + profile.commands.e2e + '`' : 'integration or smoke run'}) before marking complete.`);
|
|
65
72
|
const lines = [
|
|
66
73
|
AGINIT_BLOCK_START,
|
|
74
|
+
...BOOTSTRAP_SECTION,
|
|
67
75
|
...(profile.has('karpathy-guidelines')
|
|
68
76
|
? [
|
|
69
77
|
'## Guardrails (karpathy-guidelines)',
|
|
@@ -126,23 +134,28 @@ export function generateAgentsMarkdown(config, scripts, targetDir) {
|
|
|
126
134
|
'## Essential Commands',
|
|
127
135
|
...(commandLines.length ? commandLines : ['- Add the build and test commands here once they exist.']),
|
|
128
136
|
'',
|
|
129
|
-
renderAgentsBlock(config, profile),
|
|
130
|
-
'',
|
|
131
|
-
...BOOTSTRAP_SECTION,
|
|
137
|
+
renderAgentsBlock(config, profile, { targetDir }),
|
|
132
138
|
''
|
|
133
139
|
];
|
|
134
140
|
return sections.join('\n').replace(/\n{3,}/g, '\n\n').trim() + '\n';
|
|
135
141
|
}
|
|
136
142
|
/** Insert or refresh the aginit block in an existing AGENTS.md, leaving everything else as written. */
|
|
137
143
|
export function mergeAgentsBlock(existing, block) {
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
const startMatch = existing.match(AGINIT_START_PATTERN);
|
|
145
|
+
if (startMatch && startMatch.index !== undefined) {
|
|
146
|
+
const afterStart = existing.slice(startMatch.index + startMatch[0].length);
|
|
147
|
+
const endMatch = afterStart.match(AGINIT_END_PATTERN);
|
|
148
|
+
if (endMatch && endMatch.index !== undefined) {
|
|
149
|
+
const endOffset = startMatch.index + startMatch[0].length + endMatch.index + endMatch[0].length;
|
|
150
|
+
return existing.slice(0, startMatch.index) + block + existing.slice(endOffset);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// Above Trail's block (graft's before it) when there is one, so Trail keeps owning the end of the file.
|
|
154
|
+
const trailMatch = existing.match(/<!--\s*(?:trail|graft):start(?:\b[^>]*)?-->/);
|
|
155
|
+
if (trailMatch && trailMatch.index !== undefined) {
|
|
156
|
+
const trail = trailMatch.index;
|
|
157
|
+
return existing.slice(0, trail).trimEnd() + '\n\n' + block + '\n\n' + existing.slice(trail);
|
|
158
|
+
}
|
|
146
159
|
return existing.trimEnd() + '\n\n' + block + '\n';
|
|
147
160
|
}
|
|
148
161
|
export function setupAgentsMarkdown(targetDir, config, options = {}) {
|
|
@@ -152,9 +165,9 @@ export function setupAgentsMarkdown(targetDir, config, options = {}) {
|
|
|
152
165
|
const existing = readTextFile(filePath) || '';
|
|
153
166
|
const scripts = readPackageManifest(targetDir)?.scripts;
|
|
154
167
|
const profile = projectProfile(config, { targetDir, scripts });
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
168
|
+
const legacyFree = existing.replace(LEGACY_BOOTSTRAP, '\n\n').replace(/\n+$/, '\n');
|
|
169
|
+
const block = renderAgentsBlock(config, profile, { docs: options.docs, targetDir });
|
|
170
|
+
const updated = mergeAgentsBlock(legacyFree, block);
|
|
158
171
|
if (updated === existing) {
|
|
159
172
|
if (!silent)
|
|
160
173
|
logger.dim('AGENTS.md is up to date, preserving content.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/adapters/agents-md.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAwB,WAAW,EAAY,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EAEd,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,eAAe,GAA2B;IAC9C,GAAG,EAAE,KAAK;IACV,eAAe,EAAE,eAAe;IAChC,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/adapters/agents-md.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/adapters/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/adapters/git.ts"],"names":[],"mappings":"AAkCA,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACnD,OAAO,CAAC,OAAO,CAAC,CA0DlB"}
|
package/dist/adapters/git.js
CHANGED
|
@@ -29,11 +29,6 @@ coverage/
|
|
|
29
29
|
test-results/
|
|
30
30
|
playwright-report/
|
|
31
31
|
blob-report/
|
|
32
|
-
|
|
33
|
-
# Codebase intelligence cache (graft builds locally, git-ignored)
|
|
34
|
-
/graft/
|
|
35
|
-
# ripgrep hint graft writes next to that cache; regenerated by \`graft build\`
|
|
36
|
-
.ignore
|
|
37
32
|
`;
|
|
38
33
|
export async function setupGit(targetDir, options = {}) {
|
|
39
34
|
const { dryRun = false, silent = false } = options;
|
|
@@ -69,7 +64,6 @@ export async function setupGit(targetDir, options = {}) {
|
|
|
69
64
|
const toAppend = [];
|
|
70
65
|
const essentialRules = [
|
|
71
66
|
'node_modules/',
|
|
72
|
-
'/graft/',
|
|
73
67
|
'.DS_Store',
|
|
74
68
|
'dist/',
|
|
75
69
|
'.env',
|
package/dist/adapters/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/adapters/git.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,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/adapters/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-ignores.d.ts","sourceRoot":"","sources":["../../src/adapters/tool-ignores.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-ignores.d.ts","sourceRoot":"","sources":["../../src/adapters/tool-ignores.ts"],"names":[],"mappings":"AAmKA;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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { fileExists, readTextFile, safeWriteFile } from '../utils/fs.js';
|
|
3
3
|
import { readPackageManifest } from '../config/validation.js';
|
|
4
|
+
import { ruffConfigFile } from '../detect/index.js';
|
|
4
5
|
// Vendored skill sources ship third-party JS and Markdown that the project's own
|
|
5
6
|
// linters and formatters must not check. No ignore convention is shared across tools,
|
|
6
7
|
// so each tool below says where its ignores live and how to add to them.
|
|
@@ -83,10 +84,33 @@ const biome = {
|
|
|
83
84
|
},
|
|
84
85
|
advice: (file, dirs) => `add ${dirs.map((dir) => `"!!**/${dir}"`).join(', ')} to files.includes in ${file}`
|
|
85
86
|
};
|
|
86
|
-
|
|
87
|
+
/** Ruff: extend-exclude at the top of ruff.toml, or under an existing [tool.ruff] table. */
|
|
88
|
+
const ruff = {
|
|
89
|
+
file: (project) => ruffConfigFile(project.dir),
|
|
90
|
+
missing: (text) => VENDORED_DIRS.filter((dir) => !text.includes(`"${dir}"`) && !text.includes(`'${dir}'`)),
|
|
91
|
+
patch: (text, dirs) => {
|
|
92
|
+
let start = 0;
|
|
93
|
+
if (/^\[tool\.ruff[.\]]/m.test(text)) {
|
|
94
|
+
const header = /^\[tool\.ruff\][ \t]*(#.*)?\r?\n/m.exec(text);
|
|
95
|
+
if (!header)
|
|
96
|
+
return null;
|
|
97
|
+
start = header.index + header[0].length;
|
|
98
|
+
}
|
|
99
|
+
const next = text.slice(start).search(/^\[/m);
|
|
100
|
+
const table = text.slice(start, next === -1 ? undefined : start + next);
|
|
101
|
+
if (/^\s*extend-exclude\s*=/m.test(table))
|
|
102
|
+
return null;
|
|
103
|
+
const line = `extend-exclude = [${dirs.map((dir) => `"${dir}"`).join(', ')}] # vendored agent skills (aginit)\n`;
|
|
104
|
+
return text.slice(0, start) + line + text.slice(start);
|
|
105
|
+
},
|
|
106
|
+
advice: (file, dirs) => `add extend-exclude = [${dirs.map((dir) => `"${dir}"`).join(', ')}] to ` +
|
|
107
|
+
(file === 'pyproject.toml' ? '[tool.ruff] in pyproject.toml' : file)
|
|
108
|
+
};
|
|
109
|
+
const TOOLS = [prettier, eslintIgnore, eslintFlat, biome, ruff];
|
|
87
110
|
function pendingIgnores(targetDir) {
|
|
88
111
|
const manifest = readPackageManifest(targetDir);
|
|
89
112
|
const project = {
|
|
113
|
+
dir: targetDir,
|
|
90
114
|
manifest,
|
|
91
115
|
has: (name) => Boolean(manifest?.dependencies?.[name] || manifest?.devDependencies?.[name]),
|
|
92
116
|
exists: (file) => fileExists(path.join(targetDir, file))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-ignores.js","sourceRoot":"","sources":["../../src/adapters/tool-ignores.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-ignores.js","sourceRoot":"","sources":["../../src/adapters/tool-ignores.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare function isTrailInstalled(): Promise<boolean>;
|
|
2
|
+
export declare function initTrail(targetDir: string, options?: {
|
|
3
|
+
dryRun?: boolean;
|
|
4
|
+
silent?: boolean;
|
|
5
|
+
claude?: boolean;
|
|
6
|
+
}): Promise<boolean>;
|
|
7
|
+
export declare function buildTrail(targetDir: string, options?: {
|
|
8
|
+
dryRun?: boolean;
|
|
9
|
+
silent?: boolean;
|
|
10
|
+
}): Promise<boolean>;
|
|
11
|
+
export declare function uninstallTrail(targetDir: string, options?: {
|
|
12
|
+
dryRun?: boolean;
|
|
13
|
+
silent?: boolean;
|
|
14
|
+
}): Promise<boolean>;
|
|
15
|
+
//# sourceMappingURL=trail.d.ts.map
|