@antomanc/aginit 0.1.0 → 0.3.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 +55 -0
- package/LICENSE +1 -1
- package/README.md +96 -194
- package/THIRD_PARTY_NOTICES.md +11 -0
- package/dist/adapters/agent-browser.d.ts +54 -0
- package/dist/adapters/agent-browser.d.ts.map +1 -0
- package/dist/adapters/agent-browser.js +122 -0
- package/dist/adapters/agent-browser.js.map +1 -0
- package/dist/adapters/agents-md.d.ts.map +1 -1
- package/dist/adapters/agents-md.js +53 -23
- package/dist/adapters/agents-md.js.map +1 -1
- package/dist/adapters/browser.js.map +1 -1
- package/dist/adapters/git.d.ts.map +1 -1
- package/dist/adapters/git.js +2 -0
- package/dist/adapters/git.js.map +1 -1
- package/dist/adapters/graft.js.map +1 -1
- package/dist/adapters/package-manager.js.map +1 -1
- package/dist/adapters/skills.d.ts.map +1 -1
- package/dist/adapters/skills.js +11 -7
- package/dist/adapters/skills.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +73 -7
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +17 -16
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/new.d.ts +0 -1
- package/dist/cli/new.d.ts.map +1 -1
- package/dist/cli/new.js +22 -20
- package/dist/cli/new.js.map +1 -1
- package/dist/cli/wizard.d.ts +0 -4
- package/dist/cli/wizard.d.ts.map +1 -1
- package/dist/cli/wizard.js +4 -50
- package/dist/cli/wizard.js.map +1 -1
- package/dist/config/defaults.d.ts +16 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +91 -10
- 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 +3 -3
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/presets/adr.js.map +1 -1
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/package.json +22 -14
- package/src/adapters/agent-browser.ts +162 -0
- package/src/adapters/agents-md.ts +60 -26
- package/src/adapters/git.ts +2 -0
- package/src/adapters/skills.ts +10 -7
- package/src/cli/doctor.ts +81 -6
- package/src/cli/main.ts +17 -25
- package/src/cli/new.ts +25 -24
- package/src/cli/wizard.ts +4 -56
- package/src/config/defaults.ts +109 -12
- package/src/config/schema.ts +5 -0
- package/src/index.ts +1 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.3.0 — 2026-10-10
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Web projects no longer ship an agent-browser skill stub without its runtime: `aginit init` now installs the `agent-browser` CLI (`npm i -g agent-browser`) and its browser binaries (`agent-browser install`) when the skill is configured or already on disk, and reports a failed provisioning as an incomplete setup (#4).
|
|
8
|
+
- `aginit init` and `aginit doctor` detect the Linux restriction that blocks Chrome's sandbox (`kernel.apparmor_restrict_unprivileged_userns=1`) and report the persisted sysctl fix plus the narrower `--no-sandbox` alternative instead of failing later with `No usable sandbox!`.
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- The [ponytail](https://github.com/DietrichGebert/ponytail) skill installs by default in every preset, and AGENTS.md points agents to it for the smallest complete change (#5). Existing configs keep their skill sources as written; add `dietrichgebert/ponytail` to `skills.sources` to opt in.
|
|
13
|
+
- `aginit doctor` verifies the agent-browser runtime when the project ships the skill: CLI presence, upstream `agent-browser doctor --quick --offline --json` findings, and Chrome sandbox prerequisites.
|
|
14
|
+
|
|
15
|
+
## 0.2.0 — 2026-10-09
|
|
16
|
+
|
|
17
|
+
### Breaking
|
|
18
|
+
|
|
19
|
+
- Removed `--spec-workflow` from `aginit new` and `aginit init`, and removed the
|
|
20
|
+
wizard's "Select AI engineering workflow" prompt. The spec and tickets skills
|
|
21
|
+
are part of the standard set now, so the selector no longer had anything to
|
|
22
|
+
select.
|
|
23
|
+
- `skills.workflow` is no longer written to `aginit.config.json`. Existing
|
|
24
|
+
configs that still carry it keep loading unchanged.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- All 27 stable Matt Pocock skills install by default instead of the
|
|
29
|
+
`tdd` / `code-review` / `diagnosing-bugs` trio: the `engineering` and
|
|
30
|
+
`productivity` categories. The `misc` and `in-progress` categories stay out.
|
|
31
|
+
- Saved configs holding an old default skill selection are upgraded on
|
|
32
|
+
`aginit init`. A skill list narrowed by hand is preserved as written.
|
|
33
|
+
- AGENTS.md now lists the full standard skill set and the spec workflow.
|
|
34
|
+
- Dependency updates: TypeScript 7, Vitest 5, Commander 15, tsx 4.23,
|
|
35
|
+
pnpm 12.10. `@types/node` stays on the 22.x line so the types match the
|
|
36
|
+
`engines.node >= 22.12.0` support floor.
|
|
37
|
+
- Descriptions no longer mention T3 Code.
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- Generated AGENTS.md separates its sections with blank lines again; only
|
|
42
|
+
inapplicable lines are dropped.
|
|
43
|
+
- AGENTS.md no longer claims skills are disabled when a source installs every
|
|
44
|
+
skill it ships.
|
|
45
|
+
- `aginit init` in the current directory no longer prints `cd .`.
|
|
46
|
+
- `aginit doctor` no longer warns about missing skills when installation is
|
|
47
|
+
disabled in the configuration, and reports skills installed by hand even when
|
|
48
|
+
the lockfile records none.
|
|
49
|
+
- `aginit --version` and the smoke test read the version from `package.json`.
|
|
50
|
+
|
|
51
|
+
### Added
|
|
52
|
+
|
|
53
|
+
- `pnpm typecheck` now type-checks `tests/` through `tsconfig.test.json`.
|
|
54
|
+
- `pnpm check:skills` and a weekly `Skill drift` CI job that fails when a
|
|
55
|
+
standard skill disappears upstream or a new stable skill is published.
|
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,245 +1,147 @@
|
|
|
1
|
-
#
|
|
1
|
+
# aginit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Set up a new or existing project for AI coding agents with one command.**
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Philosophy
|
|
12
|
-
|
|
13
|
-
> **“We orchestrate the tools. We don’t replace them.”**
|
|
14
|
-
|
|
15
|
-
Aginit initializes software projects ready for AI-assisted development in seconds. Instead of reinventing custom agent frameworks or vendoring brittle skills, Aginit ties together best-in-class upstream capabilities into a coherent, idempotent developer workflow.
|
|
16
|
-
|
|
17
|
-
- **Zero vendoring**: Skills and codebase graphs are fetched and configured directly from upstream maintainers via standard package ecosystems (`skills.sh`, `graft`).
|
|
18
|
-
- **Dual-agent parity**: Antigravity and Codex share the exact same `.agents/skills` and `AGENTS.md` conventions without conflicting configurations.
|
|
19
|
-
- **Conservative & idempotent**: Never overwrites existing code destructively; respects your choice of framework, toolchain, and package manager.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## What Aginit Configures
|
|
24
|
-
|
|
25
|
-
Every project bootstrapped with Aginit receives:
|
|
26
|
-
|
|
27
|
-
1. **Upstream Skills Engine (`skills.sh`)**:
|
|
28
|
-
- Universal engineering trio: `tdd`, `code-review`, `diagnosing-bugs` (by Matt Pocock).
|
|
29
|
-
- *Optional* spec workflow: `to-spec`, `to-tickets`, `implement-spec` (`--spec-workflow`).
|
|
30
|
-
- Frontend craft & UI polish: `impeccable` (by Peter Bak-Hansen) for web presets.
|
|
31
|
-
- Interactive visual inspection: `agent-browser` (by Vercel Labs) for web presets.
|
|
32
|
-
2. **Codebase Understanding (`graft`)**:
|
|
33
|
-
- Deterministic structural code graph and fast token-efficient semantic map (`graft map`, `graft ask`).
|
|
34
|
-
3. **Agent Invariants (`AGENTS.md`)**:
|
|
35
|
-
- A short, non-invasive intake contract and invariant guide that agents parse immediately upon opening the repository in T3 Code.
|
|
36
|
-
4. **Deterministic Testing Harness**:
|
|
37
|
-
- Vitest for instant unit testing.
|
|
38
|
-
- Playwright for browser testing when a web framework is selected. Its starter test is explicitly skipped until you supply an application URL and real assertions.
|
|
39
|
-
5. **Declarative State (`aginit.config.json`)**:
|
|
40
|
-
- Versioned project manifest (`schemaVersion: "1.0.0"`) tracking active agents, skills, preset, and package manager.
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Quickstart
|
|
45
|
-
|
|
46
|
-
### Prerequisites
|
|
47
|
-
|
|
48
|
-
- Node.js **22.12 or newer** (use a supported Node LTS release).
|
|
49
|
-
- Git and npm/npx in `PATH`; install your selected package manager before using it.
|
|
50
|
-
- Internet access for official framework scaffolders and upstream skills.
|
|
51
|
-
- Optional Graft CLI: `npm install -g @nanonets/graft`. Use `--no-graft` to omit it.
|
|
52
|
-
|
|
53
|
-
### Interactive Wizard (Recommended)
|
|
54
|
-
|
|
55
|
-
Simply run `aginit` or `npx @antomanc/aginit` with no arguments in your terminal to launch the interactive prompt:
|
|
5
|
+
aginit gives a repo what agents need to do good work from the first session: an `AGENTS.md`
|
|
6
|
+
that explains the project, a curated set of engineering skills, a codebase graph so agents
|
|
7
|
+
read less and understand more, and a test harness they can actually run. It wires up
|
|
8
|
+
upstream tools instead of reimplementing them.
|
|
56
9
|
|
|
57
10
|
```bash
|
|
58
|
-
# Run directly without installation
|
|
59
11
|
npx @antomanc/aginit
|
|
60
|
-
|
|
61
|
-
# Or with pnpm dlx
|
|
62
|
-
pnpm dlx @antomanc/aginit
|
|
63
|
-
|
|
64
|
-
# Or install globally
|
|
65
|
-
npm install -g @antomanc/aginit
|
|
66
|
-
aginit
|
|
67
12
|
```
|
|
68
13
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
3. Preset (`web` | `cli` | `generic`)
|
|
73
|
-
4. Framework (for `web`: `none` | `vite` | `next` | `existing`)
|
|
74
|
-
5. Workflow (`minimal` | `spec`)
|
|
75
|
-
6. Package Manager (`pnpm (Recommended)` | `npm` | `yarn` | `bun`) — *auto-detected and preserved when initializing existing projects*
|
|
76
|
-
|
|
77
|
-
### Non-Interactive / Scriptable CLI
|
|
78
|
-
|
|
79
|
-
All commands accept explicit flags for automated environments and CI:
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
# Create a new web project directly with pnpm
|
|
83
|
-
aginit new my-web-app --preset web --framework vite --package-manager pnpm
|
|
84
|
-
|
|
85
|
-
# Or with npm, yarn, or bun
|
|
86
|
-
aginit new my-app --preset web --package-manager bun
|
|
87
|
-
|
|
88
|
-
# Or via npx
|
|
89
|
-
npx @antomanc/aginit new my-web-app --preset web
|
|
90
|
-
```
|
|
14
|
+
[](https://github.com/antomanc/aginit/actions)
|
|
15
|
+
[](https://www.npmjs.com/package/@antomanc/aginit)
|
|
16
|
+
[](LICENSE)
|
|
91
17
|
|
|
92
|
-
|
|
93
|
-
> *"bootstrap this project"*
|
|
18
|
+
> **Beta.** Expect flags and defaults to change before 1.0.
|
|
94
19
|
|
|
95
|
-
|
|
20
|
+
## Why
|
|
96
21
|
|
|
97
|
-
|
|
22
|
+
Agents in a fresh repo usually start out blind:
|
|
23
|
+
- no instructions, so they guess at the build, test and package manager commands
|
|
24
|
+
- no shared workflow for specs, TDD, code review or bug hunting
|
|
25
|
+
- grep-and-read-everything to find their way around the code
|
|
26
|
+
- no test runner, so "it works" is never checked
|
|
27
|
+
- a different setup in every repo, done by hand
|
|
98
28
|
|
|
99
|
-
|
|
100
|
-
- **Supported Managers**: `pnpm` (recommended/default), `npm`, `yarn` (Classic or modern), `bun`.
|
|
101
|
-
- **New Projects**: Prompted as the final wizard step, or configured via `--package-manager <pm>`. Stored in `aginit.config.json`.
|
|
102
|
-
- **Existing Projects**: Automatically detects existing lockfiles (`pnpm-lock.yaml`, `bun.lockb`, `yarn.lock`, `package-lock.json`) and preserves your manager without prompting.
|
|
103
|
-
- **Official Scaffolding**: Passes the selected package manager to upstream toolchains (e.g. `--use-pnpm`, `--use-npm`, `--use-yarn`, `--use-bun` for Next.js, and package manager specific create commands for Vite).
|
|
104
|
-
- **Clean Toolchains**: `pnpm-workspace.yaml` and pnpm-specific lifecycle configs are only generated when `pnpm` is the active manager.
|
|
29
|
+
aginit sets all of this up the same way every time, and you can re-run it whenever you want.
|
|
105
30
|
|
|
106
|
-
|
|
31
|
+
## What you get
|
|
107
32
|
|
|
108
|
-
|
|
33
|
+
| | |
|
|
34
|
+
|---|---|
|
|
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
|
+
| **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
|
+
| **Test tooling** | Vitest for TypeScript projects, plus Playwright when a web framework is selected |
|
|
39
|
+
| **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 |
|
|
40
|
+
| **Scaffolding** | Official Vite and Next.js scaffolders, or a Commander-based TypeScript CLI |
|
|
41
|
+
| **Maintenance** | `aginit doctor` checks readiness; `aginit update` refreshes skills and the graph |
|
|
109
42
|
|
|
110
|
-
|
|
43
|
+
## Quick start
|
|
111
44
|
|
|
112
|
-
|
|
45
|
+
Requires Node.js 22.12+, Git and internet access.
|
|
113
46
|
|
|
114
47
|
```bash
|
|
115
|
-
#
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
# Official Vite scaffolding
|
|
119
|
-
aginit new my-vite-app --preset web --framework vite
|
|
120
|
-
|
|
121
|
-
# Official Next.js scaffolding
|
|
122
|
-
aginit new my-next-app --preset web --framework next
|
|
48
|
+
npx @antomanc/aginit # interactive wizard
|
|
49
|
+
pnpm dlx @antomanc/aginit # same, with pnpm
|
|
50
|
+
npm install -g @antomanc/aginit # or install globally and run `aginit`
|
|
123
51
|
```
|
|
124
52
|
|
|
125
|
-
|
|
53
|
+
The wizard creates a new project or initializes the current directory, then asks for a
|
|
54
|
+
preset, framework and package manager. Existing projects keep the package manager they
|
|
55
|
+
already use.
|
|
126
56
|
|
|
127
|
-
|
|
57
|
+
Graft is installed separately (or skip it with `--no-graft`):
|
|
128
58
|
|
|
129
59
|
```bash
|
|
130
|
-
|
|
60
|
+
npm install -g @nanonets/graft
|
|
131
61
|
```
|
|
132
|
-
Configures an executable Node.js/TypeScript CLI with Commander, Picocolors, and Vitest.
|
|
133
62
|
|
|
134
|
-
|
|
63
|
+
## Commands
|
|
135
64
|
|
|
136
|
-
```bash
|
|
137
|
-
aginit new my-repo --preset generic
|
|
138
65
|
```
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
## Adding Aginit to an Existing Project
|
|
144
|
-
|
|
145
|
-
Run `aginit init` inside an existing repository:
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
cd my-existing-project
|
|
149
|
-
aginit init --preset web
|
|
66
|
+
aginit new [name] Create a new project
|
|
67
|
+
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
|
|
69
|
+
aginit update Update installed skills and rebuild the Graft index
|
|
150
70
|
```
|
|
151
71
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
Repeat `aginit init` preserves the saved preset, framework, agents, workflow, skill sources, and extension fields. Explicit options override the requested setting. Invalid JSON or configuration is reported before initialization changes files. `--no-skills` skips installation without erasing an existing configuration's sources.
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## Diagnostics (`aginit doctor`)
|
|
159
|
-
|
|
160
|
-
Run the health check at any time to inspect system tooling and repository agent readiness (it may download the upstream Skills CLI through npx):
|
|
72
|
+
Useful flags: `--preset web|cli|generic`, `--framework none|vite|next|existing`,
|
|
73
|
+
`--package-manager pnpm|npm|yarn|bun`, `--dry-run`, `--no-skills`, `--no-graft`, `--no-git`.
|
|
161
74
|
|
|
162
75
|
```bash
|
|
163
|
-
aginit
|
|
76
|
+
aginit new my-app --preset web --framework vite
|
|
77
|
+
aginit new my-app --preset web --framework next --package-manager npm
|
|
78
|
+
aginit new my-cli --preset cli
|
|
79
|
+
aginit init --preset generic --dry-run
|
|
164
80
|
```
|
|
165
81
|
|
|
166
|
-
|
|
167
|
-
- Node.js runtime and active project package manager (`pnpm`, `npm`, `yarn`, or `bun`)
|
|
168
|
-
- Git repository state
|
|
169
|
-
- Global Graft CLI availability
|
|
170
|
-
- Codex CLI availability (secondary reviewer)
|
|
171
|
-
- Skills CLI engine functionality
|
|
172
|
-
- `aginit.config.json` schema validation and package manager setting
|
|
173
|
-
- `AGENTS.md` context and intake section
|
|
174
|
-
- Installed `.agents/skills/` health
|
|
175
|
-
|
|
176
|
-
---
|
|
82
|
+
## Presets
|
|
177
83
|
|
|
178
|
-
|
|
84
|
+
| Preset | Setup |
|
|
85
|
+
| --- | --- |
|
|
86
|
+
| `web` | TypeScript and Vitest, with optional Vite or Next.js scaffolding. Playwright is added when a web framework is selected. |
|
|
87
|
+
| `cli` | Node.js/TypeScript CLI with Commander, Picocolors and Vitest. |
|
|
88
|
+
| `generic` | Git, `AGENTS.md`, skills and Graft. Leaves an existing `package.json` untouched. |
|
|
179
89
|
|
|
180
|
-
|
|
90
|
+
The web preset's `--framework none` (default) creates a TypeScript baseline without a bundler
|
|
91
|
+
or browser tests. `existing` keeps the framework you already have.
|
|
181
92
|
|
|
182
|
-
|
|
183
|
-
aginit
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
This runs the upstream project-scoped `skills update` and refreshes the Graft graph index. Disabled integrations are skipped; failed updates return a nonzero exit status.
|
|
187
|
-
|
|
188
|
-
---
|
|
93
|
+
Your choices (preset, framework, package manager, agents, skill sources) are saved in
|
|
94
|
+
`aginit.config.json`, so the next run starts from them. The package manager is also passed
|
|
95
|
+
to framework scaffolders.
|
|
189
96
|
|
|
190
|
-
##
|
|
97
|
+
## Existing projects
|
|
191
98
|
|
|
192
|
-
|
|
99
|
+
`aginit init` never replaces application code. It keeps your source, custom scripts,
|
|
100
|
+
dependency versions and test configs, and only adds what's missing. If you already use a
|
|
101
|
+
different test runner, aginit adds a separate `test:unit` script instead of touching yours.
|
|
193
102
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
```
|
|
103
|
+
An existing `AGENTS.md` is preserved; aginit only appends its bootstrap section. Configs from
|
|
104
|
+
older versions that used the retired default skill selection are upgraded to the current
|
|
105
|
+
set, while a skill list you narrowed by hand stays as written.
|
|
198
106
|
|
|
199
|
-
|
|
107
|
+
## Design
|
|
200
108
|
|
|
201
|
-
|
|
109
|
+
- **Orchestrates, doesn't vendor.** Skills, Graft, Vite, Next.js and Playwright come from
|
|
110
|
+
their upstream tools. aginit picks good defaults and runs them.
|
|
111
|
+
- **Idempotent.** Re-running the same init is safe; explicit options override saved settings.
|
|
112
|
+
- **Honest dry-run.** `--dry-run` lists every planned operation without writing files or
|
|
113
|
+
downloading tools. (Files produced by upstream scaffolders are only known after they run.)
|
|
114
|
+
- **Fails loudly.** Invalid config is reported before any file changes. A failed scaffold
|
|
115
|
+
stops the command; missing Graft, a failed skill install or a failed agent-browser setup
|
|
116
|
+
exits nonzero and keeps the scaffold, so you can fix it and re-run `aginit init`.
|
|
117
|
+
- **Hands off your system.** If the Linux kernel blocks Chrome's sandbox (`No usable
|
|
118
|
+
sandbox!`), aginit tells you the sysctl fix and the narrower `--no-sandbox` option. It
|
|
119
|
+
never changes system settings for you.
|
|
202
120
|
|
|
203
|
-
|
|
121
|
+
## Related
|
|
204
122
|
|
|
205
|
-
|
|
123
|
+
[agbox](https://github.com/antomanc/agbox) prepares the *machine* for AI agents (toolchains,
|
|
124
|
+
Docker, Playwright, Tailscale, snapshots). aginit prepares the *project*. Use them together:
|
|
125
|
+
`agbox setup`, then `npx @antomanc/aginit` in a new project.
|
|
206
126
|
|
|
207
|
-
## Development
|
|
127
|
+
## Development
|
|
208
128
|
|
|
209
129
|
```bash
|
|
210
130
|
pnpm install --frozen-lockfile
|
|
211
|
-
pnpm check
|
|
212
|
-
pnpm
|
|
213
|
-
pnpm smoke
|
|
214
|
-
pnpm smoke --
|
|
215
|
-
|
|
131
|
+
pnpm check # typecheck (src + tests), tests, build, dependency audit
|
|
132
|
+
pnpm check:skills # compare the standard skill set with upstream (after pnpm build)
|
|
133
|
+
pnpm smoke # verify projects generated from the packed tarball
|
|
134
|
+
pnpm smoke --frameworks # also scaffold, test, build and serve Vite and Next.js
|
|
135
|
+
pnpm smoke --package-managers # verify pnpm, Yarn and Bun consumer commands
|
|
216
136
|
```
|
|
217
137
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
## Upstream Licenses Notice
|
|
223
|
-
|
|
224
|
-
Aginit integrates and configures independent open-source software and skills:
|
|
225
|
-
- **Graft**: Copyright © NanoNets / Graft contributors
|
|
226
|
-
- **skills.sh**: Copyright © Vercel Inc. and contributors
|
|
227
|
-
- **Matt Pocock Skills**: Copyright © Matt Pocock
|
|
228
|
-
- **Impeccable**: Copyright © Peter Bak-Hansen
|
|
229
|
-
- **agent-browser**: Copyright © Vercel Labs
|
|
230
|
-
- **Playwright**: Copyright © Microsoft Corporation
|
|
231
|
-
|
|
232
|
-
Each upstream tool is governed by its own independent license. Aginit does not vendor, alter, or relicense upstream software. For details, see [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
## Contributing & Security
|
|
237
|
-
|
|
238
|
-
- **Contributing**: Please read [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on development and submitting pull requests.
|
|
239
|
-
- **Security**: See [SECURITY.md](SECURITY.md) for our vulnerability reporting policy.
|
|
240
|
-
|
|
241
|
-
---
|
|
138
|
+
`npm publish` runs `pnpm check` and the base smoke test first. See
|
|
139
|
+
[CHANGELOG.md](CHANGELOG.md), [CONTRIBUTING.md](CONTRIBUTING.md) and
|
|
140
|
+
[SECURITY.md](SECURITY.md).
|
|
242
141
|
|
|
243
142
|
## License
|
|
244
143
|
|
|
245
|
-
[MIT](LICENSE) © 2026 Antonio
|
|
144
|
+
[MIT](LICENSE) © 2026 Antonio Mancini
|
|
145
|
+
|
|
146
|
+
Upstream tools and skills keep their own licenses; aginit does not vendor or relicense them.
|
|
147
|
+
See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -19,6 +19,17 @@ Each integrated upstream tool is governed by its respective authors and licenses
|
|
|
19
19
|
- Author: Matt Pocock
|
|
20
20
|
- Repository: https://github.com/mattpocock/skills
|
|
21
21
|
|
|
22
|
+
- **Humanizer**
|
|
23
|
+
- Project: Agent skill that removes signs of AI-generated writing from text
|
|
24
|
+
- Author: Blake Robbins / Humanizer contributors
|
|
25
|
+
- Repository: https://github.com/blader/humanizer
|
|
26
|
+
|
|
27
|
+
- **Ponytail**
|
|
28
|
+
- Project: Agent skill for the smallest complete change and less over-engineering
|
|
29
|
+
- Author: Dietrich Gebert
|
|
30
|
+
- License: MIT
|
|
31
|
+
- Repository: https://github.com/DietrichGebert/ponytail
|
|
32
|
+
|
|
22
33
|
- **Impeccable**
|
|
23
34
|
- Project: Frontend craft & design system review skill
|
|
24
35
|
- Author: Peter Bak-Hansen
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { SkillSourceConfig } from '../config/schema.js';
|
|
2
|
+
/**
|
|
3
|
+
* Whether a configured skill source will install the agent-browser skill stub
|
|
4
|
+
* whose instructions assume the `agent-browser` CLI exists.
|
|
5
|
+
*/
|
|
6
|
+
export declare function agentBrowserConfigured(sources: SkillSourceConfig[]): boolean;
|
|
7
|
+
/** Whether the agent-browser skill stub is already on disk. */
|
|
8
|
+
export declare function agentBrowserStubInstalled(targetDir: string): boolean;
|
|
9
|
+
export interface UsernsRestriction {
|
|
10
|
+
sysctl: string;
|
|
11
|
+
value: string;
|
|
12
|
+
fixValue: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Detect the Linux sysctls that block Chrome's sandbox when set to their
|
|
16
|
+
* restrictive value: Chrome's renderer sandbox runs on unprivileged user
|
|
17
|
+
* namespaces, so agent-browser launches die with "No usable sandbox!".
|
|
18
|
+
*
|
|
19
|
+
* Returns null when the kernel does not expose the knobs (other distros,
|
|
20
|
+
* macOS, Windows) or none of them is restrictive.
|
|
21
|
+
*/
|
|
22
|
+
export declare function findUsernsRestriction(procRoot?: string): UsernsRestriction | null;
|
|
23
|
+
export interface AgentBrowserSetupOptions {
|
|
24
|
+
dryRun?: boolean;
|
|
25
|
+
silent?: boolean;
|
|
26
|
+
/** Working directory for the provisioning commands (defaults to cwd). */
|
|
27
|
+
cwd?: string;
|
|
28
|
+
/** Root of the proc filesystem; overridable for tests. */
|
|
29
|
+
procRoot?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Provision the runtime the agent-browser skill stub depends on: the globally
|
|
33
|
+
* installed CLI (`npm i -g agent-browser`, matching the skill's own install
|
|
34
|
+
* line — npm ships with Node and works regardless of the project's package
|
|
35
|
+
* manager) and its browser binaries (`agent-browser install`, idempotent).
|
|
36
|
+
*
|
|
37
|
+
* A blocked Chrome sandbox is reported as a warning only: it needs a system
|
|
38
|
+
* change aginit must not make on the user's behalf. Returns false when the
|
|
39
|
+
* CLI or the browser binaries could not be provisioned.
|
|
40
|
+
*/
|
|
41
|
+
export declare function setupAgentBrowser(options?: AgentBrowserSetupOptions): Promise<boolean>;
|
|
42
|
+
export interface AgentBrowserDiagnostic {
|
|
43
|
+
message: string;
|
|
44
|
+
fix?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Run upstream's own diagnostics (`agent-browser doctor --quick --offline
|
|
48
|
+
* --json`) and return the failing checks, so aginit reports browser health
|
|
49
|
+
* instead of reimplementing it. Returns null when the report cannot be
|
|
50
|
+
* parsed (older CLI, unexpected output) — callers should then skip the check
|
|
51
|
+
* rather than guess.
|
|
52
|
+
*/
|
|
53
|
+
export declare function runAgentBrowserDiagnostics(): Promise<AgentBrowserDiagnostic[] | null>;
|
|
54
|
+
//# sourceMappingURL=agent-browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-browser.d.ts","sourceRoot":"","sources":["../../src/adapters/agent-browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAO5E;AAED,+DAA+D;AAC/D,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAU,GAAG,iBAAiB,GAAG,IAAI,CAYlF;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,OAAO,CAAC,CAiDhG;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,CAuB3F"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { fileExists, readTextFile } from '../utils/fs.js';
|
|
3
|
+
import { commandExists, runExecutable } from '../utils/shell.js';
|
|
4
|
+
import { logger } from '../utils/logger.js';
|
|
5
|
+
const AGENT_BROWSER_SKILL = 'agent-browser';
|
|
6
|
+
const AGENT_BROWSER_CLI = 'agent-browser';
|
|
7
|
+
const AGENT_BROWSER_PACKAGE = 'vercel-labs/agent-browser';
|
|
8
|
+
/**
|
|
9
|
+
* Whether a configured skill source will install the agent-browser skill stub
|
|
10
|
+
* whose instructions assume the `agent-browser` CLI exists.
|
|
11
|
+
*/
|
|
12
|
+
export function agentBrowserConfigured(sources) {
|
|
13
|
+
return sources.some((source) => source.skills.includes(AGENT_BROWSER_SKILL) ||
|
|
14
|
+
(source.package === AGENT_BROWSER_PACKAGE &&
|
|
15
|
+
(source.skills.length === 0 || source.skills.includes('*'))));
|
|
16
|
+
}
|
|
17
|
+
/** Whether the agent-browser skill stub is already on disk. */
|
|
18
|
+
export function agentBrowserStubInstalled(targetDir) {
|
|
19
|
+
return fileExists(path.join(targetDir, '.agents', 'skills', AGENT_BROWSER_SKILL, 'SKILL.md'));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Detect the Linux sysctls that block Chrome's sandbox when set to their
|
|
23
|
+
* restrictive value: Chrome's renderer sandbox runs on unprivileged user
|
|
24
|
+
* namespaces, so agent-browser launches die with "No usable sandbox!".
|
|
25
|
+
*
|
|
26
|
+
* Returns null when the kernel does not expose the knobs (other distros,
|
|
27
|
+
* macOS, Windows) or none of them is restrictive.
|
|
28
|
+
*/
|
|
29
|
+
export function findUsernsRestriction(procRoot = '/proc') {
|
|
30
|
+
const knobs = [
|
|
31
|
+
['kernel.apparmor_restrict_unprivileged_userns', '1', '0'],
|
|
32
|
+
['kernel.unprivileged_userns_clone', '0', '1']
|
|
33
|
+
];
|
|
34
|
+
for (const [sysctl, blockingValue, fixValue] of knobs) {
|
|
35
|
+
const raw = readTextFile(path.join(procRoot, 'sys', ...sysctl.split('.')));
|
|
36
|
+
if (raw !== null && raw.trim() === blockingValue) {
|
|
37
|
+
return { sysctl, value: raw.trim(), fixValue };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Provision the runtime the agent-browser skill stub depends on: the globally
|
|
44
|
+
* installed CLI (`npm i -g agent-browser`, matching the skill's own install
|
|
45
|
+
* line — npm ships with Node and works regardless of the project's package
|
|
46
|
+
* manager) and its browser binaries (`agent-browser install`, idempotent).
|
|
47
|
+
*
|
|
48
|
+
* A blocked Chrome sandbox is reported as a warning only: it needs a system
|
|
49
|
+
* change aginit must not make on the user's behalf. Returns false when the
|
|
50
|
+
* CLI or the browser binaries could not be provisioned.
|
|
51
|
+
*/
|
|
52
|
+
export async function setupAgentBrowser(options = {}) {
|
|
53
|
+
const { dryRun = false, silent = false, cwd = process.cwd(), procRoot = '/proc' } = options;
|
|
54
|
+
const cliPresent = await commandExists('agent-browser');
|
|
55
|
+
if (!cliPresent) {
|
|
56
|
+
if (!silent)
|
|
57
|
+
logger.dim('Installing agent-browser CLI globally (npm -g)...');
|
|
58
|
+
const cli = await runExecutable('npm', ['install', '-g', AGENT_BROWSER_SKILL], {
|
|
59
|
+
cwd,
|
|
60
|
+
dryRun,
|
|
61
|
+
silent: true,
|
|
62
|
+
timeout: 600_000
|
|
63
|
+
});
|
|
64
|
+
if (!cli.ok && !dryRun) {
|
|
65
|
+
if (!silent) {
|
|
66
|
+
logger.warn(`Failed installing agent-browser CLI: ${cli.stderr || cli.stdout}`);
|
|
67
|
+
logger.dim(' Install it manually: npm i -g agent-browser && agent-browser install');
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (!silent)
|
|
73
|
+
logger.dim('Ensuring agent-browser browser binaries...');
|
|
74
|
+
const browser = await runExecutable(AGENT_BROWSER_CLI, ['install'], {
|
|
75
|
+
cwd,
|
|
76
|
+
dryRun,
|
|
77
|
+
silent: true,
|
|
78
|
+
timeout: 600_000
|
|
79
|
+
});
|
|
80
|
+
if (!browser.ok && !dryRun) {
|
|
81
|
+
if (!silent) {
|
|
82
|
+
logger.warn(`Failed downloading agent-browser browsers: ${browser.stderr || browser.stdout}`);
|
|
83
|
+
logger.dim(' Retry manually: agent-browser install');
|
|
84
|
+
}
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
const restriction = findUsernsRestriction(procRoot);
|
|
88
|
+
if (restriction && !silent) {
|
|
89
|
+
logger.warn(`Chrome's sandbox is blocked: ${restriction.sysctl}=${restriction.value} restricts unprivileged user namespaces, so agent-browser launches fail with "No usable sandbox!".`);
|
|
90
|
+
logger.dim(` → Fix (machine-wide): echo '${restriction.sysctl}=${restriction.fixValue}' | sudo tee /etc/sysctl.d/99-agent-browser-userns.conf && sudo sysctl --system`);
|
|
91
|
+
logger.dim(' → Narrower option: pass --args "--no-sandbox" to agent-browser for that launch (Chrome sandbox disabled for that session)');
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Run upstream's own diagnostics (`agent-browser doctor --quick --offline
|
|
97
|
+
* --json`) and return the failing checks, so aginit reports browser health
|
|
98
|
+
* instead of reimplementing it. Returns null when the report cannot be
|
|
99
|
+
* parsed (older CLI, unexpected output) — callers should then skip the check
|
|
100
|
+
* rather than guess.
|
|
101
|
+
*/
|
|
102
|
+
export async function runAgentBrowserDiagnostics() {
|
|
103
|
+
const res = await runExecutable(AGENT_BROWSER_CLI, ['doctor', '--quick', '--offline', '--json'], {
|
|
104
|
+
silent: true,
|
|
105
|
+
timeout: 60_000
|
|
106
|
+
});
|
|
107
|
+
try {
|
|
108
|
+
const parsed = JSON.parse(res.stdout);
|
|
109
|
+
if (!Array.isArray(parsed.checks))
|
|
110
|
+
return null;
|
|
111
|
+
return parsed.checks
|
|
112
|
+
.filter((check) => check?.status === 'fail')
|
|
113
|
+
.map((check) => ({
|
|
114
|
+
message: String(check?.message || 'check failed'),
|
|
115
|
+
...(check?.fix ? { fix: String(check.fix) } : {})
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=agent-browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-browser.js","sourceRoot":"","sources":["../../src/adapters/agent-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,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"}
|