Getting StartedInstallation

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

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 fullstack

Pin @latest so every run pulls the newest published CLI. Prefer it installed? npm i -g @arthurghz/create-ack@latest puts a create-ack binary on your PATH, and create-ack update self-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):

FlagEffect
--archetype <name>backend-api | fullstack | monorepo | library-sdk | infra-iac (the branch axis)
--hereScaffold into the current directory instead of ./<product-name>/
--yes / -yNon-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-docsSkip the product-local Nextra docs scaffold (on by default)
-h, --help / -v, --versionUsage / 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-init when 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.