@antomanc/aginit 0.2.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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
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
+
3
15
  ## 0.2.0 — 2026-10-09
4
16
 
5
17
  ### Breaking
package/README.md CHANGED
@@ -1,103 +1,128 @@
1
- # Aginit
1
+ # aginit
2
2
 
3
- Project bootstrapper for AI coding agents. Configures agent instructions, skills, a codebase graph, and test tooling using upstream tools.
3
+ **Set up a new or existing project for AI coding agents with one command.**
4
4
 
5
- Beta
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.
9
+
10
+ ```bash
11
+ npx @antomanc/aginit
12
+ ```
6
13
 
7
14
  [![CI](https://github.com/antomanc/aginit/actions/workflows/ci.yml/badge.svg)](https://github.com/antomanc/aginit/actions)
8
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
9
15
  [![npm version](https://img.shields.io/npm/v/@antomanc/aginit)](https://www.npmjs.com/package/@antomanc/aginit)
16
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
10
17
 
11
- ## Quickstart
18
+ > **Beta.** Expect flags and defaults to change before 1.0.
12
19
 
13
- Requires Node.js 22.12+, Git, npm/npx, and internet access. Install your chosen package manager before using it.
20
+ ## Why
14
21
 
15
- Run the interactive wizard:
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
16
28
 
17
- ```bash
18
- npx @antomanc/aginit
19
- # or
20
- pnpm dlx @antomanc/aginit
21
- ```
29
+ aginit sets all of this up the same way every time, and you can re-run it whenever you want.
30
+
31
+ ## What you get
32
+
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 |
22
42
 
23
- For a global installation:
43
+ ## Quick start
44
+
45
+ Requires Node.js 22.12+, Git and internet access.
24
46
 
25
47
  ```bash
26
- npm install -g @antomanc/aginit
27
- aginit
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`
28
51
  ```
29
52
 
30
- The wizard lets you create a project or initialize an existing directory, then choose a preset, framework, and package manager. Existing projects retain their detected package manager.
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.
31
56
 
32
- Graft requires a separate installation. Use `--no-graft` to skip it.
57
+ Graft is installed separately (or skip it with `--no-graft`):
33
58
 
34
59
  ```bash
35
60
  npm install -g @nanonets/graft
36
61
  ```
37
62
 
38
- ## Usage
63
+ ## Commands
64
+
65
+ ```
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
70
+ ```
71
+
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`.
39
74
 
40
75
  ```bash
41
76
  aginit new my-app --preset web --framework vite
42
77
  aginit new my-app --preset web --framework next --package-manager npm
43
78
  aginit new my-cli --preset cli
44
- aginit new my-repo --preset generic
45
-
46
- # Run inside an existing project
47
- aginit init --preset web
48
-
49
- # Preview changes
50
- aginit init --dry-run
51
- aginit new my-app --preset web --dry-run
79
+ aginit init --preset generic --dry-run
52
80
  ```
53
81
 
54
- Supported package managers: `pnpm` (default), `npm`, `yarn`, and `bun`. Set one with `--package-manager`; the choice is saved in `aginit.config.json` and passed to framework scaffolders.
55
-
56
- ### Presets
82
+ ## Presets
57
83
 
58
84
  | Preset | Setup |
59
85
  | --- | --- |
60
86
  | `web` | TypeScript and Vitest, with optional Vite or Next.js scaffolding. Playwright is added when a web framework is selected. |
61
- | `cli` | Node.js/TypeScript CLI with Commander, Picocolors, and Vitest. |
62
- | `generic` | Git, agent instructions, skills, and Graft. Leaves an existing `package.json` untouched. |
63
-
64
- The web preset supports `--framework none` (default), `vite`, `next`, or `existing`. Vite and Next.js use their official scaffolders. `none` creates a TypeScript baseline without a bundler or browser test configuration.
65
-
66
- ### Agent configuration
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. |
67
89
 
68
- - `AGENTS.md`: project instructions shared by agents.
69
- - `.agents/skills/`: the 27 stable skills from Matt Pocock (engineering + productivity), and `humanizer` from Blake Robbins. Web projects also include Impeccable and agent-browser.
70
- - Graft: a codebase graph for `graft map` and `graft ask`.
71
- - `aginit.config.json`: saved preset, framework, package manager, agents, and skill sources.
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.
72
92
 
73
- The standard skill set includes the spec and tickets workflow (`to-spec`, `to-tickets`, `implement-spec`); there is no workflow selector to run. Skills from Matt Pocock's `misc` and `in-progress` buckets are left out. Use `--no-skills` to skip skill installation.
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.
74
96
 
75
97
  ## Existing projects
76
98
 
77
- `aginit init` preserves application source, custom scripts, dependency versions, and existing test configurations. The web and CLI presets add missing test tooling; projects with a custom test runner receive a separate `test:unit` script.
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.
78
102
 
79
- Repeated initialization preserves saved settings and extension fields. Explicit options override the corresponding settings. Invalid configuration is reported before files are changed. `--no-skills` skips installation while retaining saved skill sources.
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.
80
106
 
81
- Configs written by older versions that still hold the retired default skill selection are upgraded to the current standard set, along with dropping the retired `skills.workflow` selector. A skill list narrowed by hand is preserved as written.
107
+ ## Design
82
108
 
83
- ## Maintenance
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.
84
120
 
85
- ```bash
86
- aginit doctor
87
- aginit update
88
- ```
89
-
90
- `doctor` checks Node.js, the project package manager, Git, Graft, Codex, the Skills CLI, and project configuration. It may download the Skills CLI through npx.
121
+ ## Related
91
122
 
92
- `update` runs project-scoped `skills update` and rebuilds the Graft index. Disabled integrations are skipped; failed updates return a nonzero exit status.
93
-
94
- ## Behavior
95
-
96
- - Rerunning the same initialization is idempotent. Manifest additions and explicit configuration changes are applied without replacing application code.
97
- - Framework scaffold failures stop the command.
98
- - Missing Graft or failed skill installation returns a nonzero exit status. The scaffold is retained so you can fix the prerequisite and rerun `aginit init`.
99
- - `--dry-run` lists planned operations without writing files or downloading framework tools. Files produced by upstream scaffolders are only known after they run.
100
- - Playwright's starter test is skipped until you add an application URL and assertions. Generated test harnesses still need application-specific tests.
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.
101
126
 
102
127
  ## Development
103
128
 
@@ -106,17 +131,17 @@ pnpm install --frozen-lockfile
106
131
  pnpm check # typecheck (src + tests), tests, build, dependency audit
107
132
  pnpm check:skills # compare the standard skill set with upstream (after pnpm build)
108
133
  pnpm smoke # verify projects generated from the packed tarball
109
- pnpm smoke --frameworks # also scaffold, test, build, and serve Vite and Next.js
110
- pnpm smoke --package-managers # verify pnpm, Yarn, and Bun consumer commands
111
- npm pack --dry-run
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
112
136
  ```
113
137
 
114
- Framework smoke tests download upstream tools and dependencies. `npm publish` runs `pnpm check` and the base consumer smoke test before publication.
115
-
116
- See [CHANGELOG.md](CHANGELOG.md) for release notes, [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines, and [SECURITY.md](SECURITY.md) for vulnerability reporting.
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).
117
141
 
118
142
  ## License
119
143
 
120
- [MIT](LICENSE) © 2026 Antonio Mancuso.
144
+ [MIT](LICENSE) © 2026 Antonio Mancini
121
145
 
122
- Upstream tools and skills retain their own licenses. Aginit does not vendor or relicense them. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
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).
@@ -24,6 +24,12 @@ Each integrated upstream tool is governed by its respective authors and licenses
24
24
  - Author: Blake Robbins / Humanizer contributors
25
25
  - Repository: https://github.com/blader/humanizer
26
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
+
27
33
  - **Impeccable**
28
34
  - Project: Frontend craft & design system review skill
29
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,CA0HR;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACxE,OAAO,CA+BT"}
1
+ {"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../src/adapters/agents-md.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,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"}
@@ -48,6 +48,11 @@ export function generateAgentsMarkdown(config, scripts) {
48
48
  proseCapability =
49
49
  '- **Prose & Copy**: Use `humanizer` skill to eliminate AI writing tells and refine documentation.';
50
50
  }
51
+ let simplicityCapability = '';
52
+ if (skillInstalled('ponytail')) {
53
+ simplicityCapability =
54
+ '- **Simplicity**: Use `ponytail` skill for the smallest complete change and to cut over-engineering.';
55
+ }
51
56
  let uiCapability = '';
52
57
  if (isWeb && skillInstalled('impeccable')) {
53
58
  uiCapability =
@@ -91,6 +96,7 @@ export function generateAgentsMarkdown(config, scripts) {
91
96
  : 'Skills installation is disabled in this configuration.',
92
97
  engineeringCapability || undefined,
93
98
  proseCapability || undefined,
99
+ simplicityCapability || undefined,
94
100
  specCapability || undefined,
95
101
  uiCapability || undefined,
96
102
  browserCapability || undefined,
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAwBA,wBAAsB,SAAS,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6NhF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AA8BA,wBAAsB,SAAS,CAAC,SAAS,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgShF"}
@@ -5,6 +5,7 @@ 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
7
  import { getInstalledSkills } from '../adapters/skills.js';
8
+ import { agentBrowserConfigured, agentBrowserStubInstalled, findUsernsRestriction, runAgentBrowserDiagnostics } from '../adapters/agent-browser.js';
8
9
  import { readProjectConfig } from '../config/validation.js';
9
10
  import { logger } from '../utils/logger.js';
10
11
  export async function runDoctor(targetDir = process.cwd()) {
@@ -184,6 +185,68 @@ export async function runDoctor(targetDir = process.cwd()) {
184
185
  ? undefined
185
186
  : 'Run `aginit init` or `npx skills add ...` to install skills'
186
187
  });
188
+ // 10. agent-browser runtime (only when the project ships the skill)
189
+ const agentBrowserWanted = projectConfig !== null &&
190
+ (agentBrowserConfigured(projectConfig.skills.sources) || agentBrowserStubInstalled(targetDir));
191
+ if (agentBrowserWanted) {
192
+ const abExists = await commandExists('agent-browser');
193
+ let abVersion = '';
194
+ if (abExists) {
195
+ const av = await runExecutable('agent-browser', ['--version'], { silent: true });
196
+ abVersion = av.ok ? av.stdout : '';
197
+ }
198
+ checks.push({
199
+ name: 'agent-browser CLI',
200
+ category: 'AI Tooling',
201
+ ok: abExists,
202
+ version: abVersion,
203
+ detail: abExists
204
+ ? `Installed globally (${abVersion || 'version unknown'})`
205
+ : 'agent-browser skill is installed but the CLI is not in PATH',
206
+ suggestion: abExists
207
+ ? undefined
208
+ : 'Install the runtime: `npm i -g agent-browser && agent-browser install`'
209
+ });
210
+ if (abExists) {
211
+ const diagnostics = await runAgentBrowserDiagnostics();
212
+ if (diagnostics !== null) {
213
+ checks.push({
214
+ name: 'agent-browser browser runtime',
215
+ category: 'AI Tooling',
216
+ ok: diagnostics.length === 0,
217
+ detail: diagnostics.length === 0
218
+ ? 'Upstream doctor reports browser and launch environment healthy'
219
+ : diagnostics.map((d) => d.message).join('; '),
220
+ suggestion: diagnostics.length === 0
221
+ ? undefined
222
+ : (diagnostics.find((d) => d.fix)?.fix ?? 'Run `agent-browser doctor` for details')
223
+ });
224
+ }
225
+ }
226
+ }
227
+ // 11. Chrome sandbox prerequisites — agent-browser and Playwright both
228
+ // launch Chrome from the same sandbox on Linux.
229
+ const sandboxRelevant = agentBrowserWanted || projectConfig?.browser.playwright === true;
230
+ if (sandboxRelevant) {
231
+ const restriction = findUsernsRestriction();
232
+ if (restriction) {
233
+ checks.push({
234
+ name: 'Chrome sandbox (unprivileged user namespaces)',
235
+ category: 'Environment',
236
+ ok: false,
237
+ detail: `${restriction.sysctl}=${restriction.value} blocks Chrome's sandbox: browser launches fail with "No usable sandbox!"`,
238
+ suggestion: `Lift it: echo '${restriction.sysctl}=${restriction.fixValue}' | sudo tee /etc/sysctl.d/99-agent-browser-userns.conf && sudo sysctl --system — or pass --args "--no-sandbox" per launch`
239
+ });
240
+ }
241
+ else if (process.platform === 'linux') {
242
+ checks.push({
243
+ name: 'Chrome sandbox (unprivileged user namespaces)',
244
+ category: 'Environment',
245
+ ok: true,
246
+ detail: 'Unprivileged user namespaces available to Chrome'
247
+ });
248
+ }
249
+ }
187
250
  // Print grouped results
188
251
  const categories = [
189
252
  'Environment',
@@ -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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"}
package/dist/cli/main.js CHANGED
@@ -25,7 +25,7 @@ export function createCliProgram() {
25
25
  const program = new Command();
26
26
  program
27
27
  .name('aginit')
28
- .description('Minimal, modular AI-first project bootstrapper for AI coding agents')
28
+ .description('Set up a new or existing project for AI coding agents')
29
29
  .version(readVersion());
30
30
  // Root action: interactive wizard when in TTY, else display help
31
31
  program.action(async () => {