Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/skill-drift.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Skill drift

on:
schedule:
- cron: '0 6 * * 1'
workflow_dispatch:

jobs:
drift:
name: Standard skill set vs mattpocock/skills
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24.x
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build distribution
run: pnpm build

- name: Compare standard skills with upstream
run: pnpm check:skills
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
node_modules/
dist/
/graft/
# ripgrep hint graft writes next to the git-ignored graph; regenerated by `graft build`
.ignore
.DS_Store
*.log
*.tgz
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# aginit

Minimal, modular AI-first project bootstrapper for T3 Code, Antigravity, and Codex.
Minimal, modular AI-first project bootstrapper for AI coding agents.

## Core Invariants
- Orchestrate upstream tools; do not duplicate, vendor, or fork them.
Expand All @@ -15,7 +15,7 @@ Minimal, modular AI-first project bootstrapper for T3 Code, Antigravity, and Cod

## AI Capabilities & Skills
Installed skills live in `.agents/skills/` (shared by Antigravity and Codex):
- **Engineering**: `tdd`, `code-review`, `diagnosing-bugs`
- **Engineering**: the full stable Matt Pocock skill set — 27 skills covering `tdd`, `code-review`, `diagnosing-bugs`, `to-spec`, `to-tickets`, `implement-spec`, `pr`, `research`, `retro`, `triage`, and more (see `.agents/skills/`)
- **Prose & Copy**: Use `humanizer` skill to eliminate AI writing tells and refine documentation.
- **Codebase Graph**: Use `graft ask "<query>" --source` or `graft map` for orientation before raw grep.

Expand Down
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Changelog

## 0.2.0 — 2026-10-09

### Breaking

- Removed `--spec-workflow` from `aginit new` and `aginit init`, and removed the
wizard's "Select AI engineering workflow" prompt. The spec and tickets skills
are part of the standard set now, so the selector no longer had anything to
select.
- `skills.workflow` is no longer written to `aginit.config.json`. Existing
configs that still carry it keep loading unchanged.

### Changed

- All 27 stable Matt Pocock skills install by default instead of the
`tdd` / `code-review` / `diagnosing-bugs` trio: the `engineering` and
`productivity` categories. The `misc` and `in-progress` categories stay out.
- Saved configs holding an old default skill selection are upgraded on
`aginit init`. A skill list narrowed by hand is preserved as written.
- AGENTS.md now lists the full standard skill set and the spec workflow.
- Dependency updates: TypeScript 7, Vitest 5, Commander 15, tsx 4.23,
pnpm 12.10. `@types/node` stays on the 22.x line so the types match the
`engines.node >= 22.12.0` support floor.
- Descriptions no longer mention T3 Code.

### Fixed

- Generated AGENTS.md separates its sections with blank lines again; only
inapplicable lines are dropped.
- AGENTS.md no longer claims skills are disabled when a source installs every
skill it ships.
- `aginit init` in the current directory no longer prints `cd .`.
- `aginit doctor` no longer warns about missing skills when installation is
disabled in the configuration, and reports skills installed by hand even when
the lockfile records none.
- `aginit --version` and the smoke test read the version from `package.json`.

### Added

- `pnpm typecheck` now type-checks `tests/` through `tsconfig.test.json`.
- `pnpm check:skills` and a weekly `Skill drift` CI job that fails when a
standard skill disappears upstream or a new stable skill is published.
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Aginit

Project bootstrapper for T3 Code, Antigravity, and Codex. Configures agent instructions, skills, a codebase graph, and test tooling using upstream tools.
Project bootstrapper for AI coding agents. Configures agent instructions, skills, a codebase graph, and test tooling using upstream tools.

Beta · v0.1.0
Beta

[![CI](https://github.com/antomanc/aginit/actions/workflows/ci.yml/badge.svg)](https://github.com/antomanc/aginit/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
Expand All @@ -27,7 +27,7 @@ npm install -g @antomanc/aginit
aginit
```

The wizard lets you create a project or initialize an existing directory, then choose a preset, framework, workflow, and package manager. Existing projects retain their detected package manager.
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.

Graft requires a separate installation. Use `--no-graft` to skip it.

Expand Down Expand Up @@ -66,18 +66,20 @@ The web preset supports `--framework none` (default), `vite`, `next`, or `existi
### Agent configuration

- `AGENTS.md`: project instructions shared by agents.
- `.agents/skills/`: `tdd`, `code-review`, and `diagnosing-bugs` from Matt Pocock, and `humanizer` from Blake Robbins. Web projects also include Impeccable and agent-browser.
- `.agents/skills/`: the 27 stable skills from Matt Pocock (engineering + productivity), and `humanizer` from Blake Robbins. Web projects also include Impeccable and agent-browser.
- Graft: a codebase graph for `graft map` and `graft ask`.
- `aginit.config.json`: saved preset, framework, package manager, agents, and skill sources.

Use `--spec-workflow` to add `to-spec`, `to-tickets`, and `implement-spec`. Use `--no-skills` to skip skill installation.
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.

## Existing projects

`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.

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.

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.

## Maintenance

```bash
Expand All @@ -101,7 +103,8 @@ aginit update

```bash
pnpm install --frozen-lockfile
pnpm check # typecheck, tests, build, dependency audit
pnpm check # typecheck (src + tests), tests, build, dependency audit
pnpm check:skills # compare the standard skill set with upstream (after pnpm build)
pnpm smoke # verify projects generated from the packed tarball
pnpm smoke --frameworks # also scaffold, test, build, and serve Vite and Next.js
pnpm smoke --package-managers # verify pnpm, Yarn, and Bun consumer commands
Expand All @@ -110,7 +113,7 @@ npm pack --dry-run

Framework smoke tests download upstream tools and dependencies. `npm publish` runs `pnpm check` and the base consumer smoke test before publication.

See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines and [SECURITY.md](SECURITY.md) for vulnerability reporting.
See [CHANGELOG.md](CHANGELOG.md) for release notes, [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines, and [SECURITY.md](SECURITY.md) for vulnerability reporting.

## License

Expand Down
31 changes: 29 additions & 2 deletions aginit.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,38 @@
"secondary": "codex"
},
"skills": {
"workflow": "minimal",
"sources": [
{
"package": "mattpocock/skills",
"skills": ["tdd", "code-review", "diagnosing-bugs"]
"skills": [
"ask-matt",
"code-review",
"codebase-design",
"diagnosing-bugs",
"domain-modeling",
"grill-with-docs",
"implement",
"implement-spec",
"improve-codebase-architecture",
"pr",
"prototype",
"research",
"retro",
"setup-matt-pocock-skills",
"tdd",
"to-spec",
"to-tickets",
"triage",
"wayfinder",
"wizard",
"grill-me",
"grilling",
"handoff",
"teach",
"to-questionnaire",
"wait-what",
"writing-for-agents"
]
},
{
"package": "blader/humanizer",
Expand Down
21 changes: 11 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@antomanc/aginit",
"version": "0.1.0",
"description": "Minimal, modular AI-first project bootstrapper for T3 Code, Antigravity, and Codex",
"version": "0.2.0",
"description": "Minimal, modular AI-first project bootstrapper for AI coding agents",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand All @@ -19,6 +19,7 @@
"src",
"bin",
"README.md",
"CHANGELOG.md",
"LICENSE",
"THIRD_PARTY_NOTICES.md"
],
Expand All @@ -39,7 +40,6 @@
"agents",
"antigravity",
"codex",
"t3-code",
"skills",
"graft",
"bootstrap",
Expand All @@ -49,26 +49,27 @@
"build": "tsc",
"watch": "tsc --watch",
"test": "vitest run",
"typecheck": "tsc --noEmit",
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
"prepack": "tsc",
"check": "pnpm typecheck && pnpm test && pnpm build && pnpm audit",
"check:skills": "node scripts/check-skill-drift.mjs",
"smoke": "node scripts/smoke-test.mjs",
"prepublishOnly": "pnpm check && pnpm smoke"
},
"dependencies": {
"@clack/prompts": "^1.8.1",
"commander": "^12.1.0",
"commander": "^15.0.0",
"picocolors": "^1.1.1"
},
"devDependencies": {
"@types/node": "^22.8.0",
"tsx": "^4.19.2",
"typescript": "^5.6.3",
"vitest": "^4.1.11"
"@types/node": "^22.20.5",
"tsx": "^4.23.15",
"typescript": "^7.0.2",
"vitest": "^5.0.3"
},
"license": "MIT",
"engines": {
"node": ">=22.12.0"
},
"packageManager": "pnpm@12.8.1"
"packageManager": "pnpm@12.10.1"
}
Loading
Loading