Installation
There is nothing to install to start a project. ai-core-kit is a forkable
standard, not a dependency you add to a package file. You scaffold a brand-new project
straight from the kit’s frozen templates — no fork required — with a single command.
This page covers the prerequisites and the two equivalent entry points. Quickstart then walks a full run end to end.
Prerequisites
You need very little. The render engine is deterministic and dependency-light by design.
| You want… | You need |
|---|---|
The npx @arthurghz/create-ack CLI (primary path) | Node.js ≥ 18 and a terminal. npx ships with npm. |
The /ack-init in-Claude interview (equivalent path) | Claude Code (the CLI/IDE harness that exposes slash commands) |
To author specs with /ack-spec after scaffolding | Claude Code (the spec interview is model-driven) |
| The contract gate + offline telemetry (both opt-in) | Python 3 on your PATH — stdlib only, no pip install |
That’s the whole list. There is no pip install, no Node toolchain to build a child,
and no LLM in the render loop — the same answers always produce the same project. Python
3 is needed only at runtime if you opted into the contract-gate hook or the telemetry
aggregator; you do not need it just to scaffold.
The kit deliberately avoids a “Python runtime + dependencies on every machine” precondition — that is exactly why it does not use copier/cookiecutter. See Render engine.
The two entry points (pick one)
Both run the same archetype-first interview and write the same
project.manifest.yaml. They differ only in where you answer the questions.
A. npx @arthurghz/create-ack — fork-free CLI (recommended)
The primary path. Spins up a standalone child project from the frozen templates — no
fork, no copy of the META .claude/ tree, no LLM in the loop.
# scaffold a new project in ./my-product/
npx @arthurghz/create-ack@latest my-product --archetype fullstackPin
@latestso every run pulls the newest published CLI. Prefer it installed?npm i -g @arthurghz/create-ack@latestputs acreate-ackbinary on yourPATH, andcreate-ack updateself-checks for a newer release. The CLI is the spine — scaffolding and every telemetry view live behind it (see Commands).
<product-name> must be lowercase kebab-case (^[a-z][a-z0-9-]*$). Useful flags
(all real — see create-ack --help):
| Flag | Effect |
|---|---|
--archetype <name> | backend-api | fullstack | monorepo | library-sdk | infra-iac (the branch axis) |
--here | Scaffold into the current directory instead of ./<product-name>/ |
--yes / -y | Non-interactive — use the questions.yaml defaults for everything |
--lang <language> | Pre-set the language (python | typescript | go | rust | java) |
--framework <name> | Pre-set the framework |
--no-docs | Skip the product-local Nextra docs scaffold (on by default) |
-h, --help / -v, --version | Usage / kit version |
Omit --archetype (and the other presets) to be prompted interactively for each.
B. Fork + /ack-init — the in-Claude interview
The conversational equivalent for people already working inside Claude Code. Fork the kit, open the fork, and run the slash command:
# after forking ai-core-kit on GitHub:
git clone https://github.com/<you>/<your-new-project>.git
cd <your-new-project>
# then, inside Claude Code:
/ack-init/ack-init drives the identical interview conversationally and renders into the same
repo. After it runs, the scaffold, .claude/ tooling, and project.manifest.yaml live
in that repo — you never copy files out of the kit by hand.
Which should I use? Prefer
npx @arthurghz/create-ack— it is fork-free, faster, and the canonical path. Reach for/ack-initwhen you specifically want the interview to run inside a Claude Code session (or you already forked the kit).
The fail-closed guard
Both entry points refuse to scaffold over the kit itself. create-ack detects the
META sentinels (templates/archetypes/, docs/BOOTSTRAP.md, bootstrap/ack.bootstrap.yaml)
and a pre-existing project.manifest.yaml, and aborts before writing anything; /ack-init
hard-refuses if run in the original ai-core-kit repo.
This is the author-time fail-closed half of the kit’s safety model: an invalid
starting state aborts before a single byte is written (invariant I6). The runtime
half is fail-open — a corrupt or missing manifest at consumption time degrades the
contract gate to mode off and never wedges a session.
Next
You have Node ≥ 18 (and optionally Claude Code / Python 3). Continue to the Quickstart to run the interview and see what lands first: the specs.