setup · git:20260916.1fe1dae · 2026-09-16 · sha256 6640d66142085fce
setup git:20260916.1fe1daeB
Immutable. This exact content never changes and is served at /api/v1/blob/6640d66142085fce.
---
description: First run after cloning the engine — create and fill CLAUDE.local.md and identities.local.md by interview, set the session model (Fable), offer the global git identity guard; never overwrites, runs no git operation
disable-model-invocation: true
---
Prepare this instance of the forge (POS.1050). Run after cloning the
engine, before any other work. Two files in the engine — plus, on the
user's word, the git identity configuration outside it; the command
runs no git operation.
The conversation language is not configured yet on a true first run:
speak whatever language the user speaks to you.
1. **`CLAUDE.local.md`** at the engine root.
- If it already exists: report briefly what it holds and do not
touch it.
- Otherwise copy `templates/CLAUDE.local.md` to the root and fill
it by elicitation interview, one question at a time, the
language first so that every later question arrives in it:
- **Conversation language** — the language the working
conversation runs in (the template says what follows it);
- **Principal** — the role, whose thinking is being forged (the
template's placeholder);
- **Git identities** — name and e-mail per git host the user
will push to (e.g. github.com, a company host), written to
`identities.local.md` beside it from
`templates/identities.local.md` — the roster of CLAUDE.md,
Persistence. May be left empty and added later; say so.
- Keep the templates' format; both files are gitignored and never
committed.
- Close the git-identities part with the offer of the global
guard (CLAUDE.md, Persistence): `user.useConfigOnly = true`
under `[user]` in `~/.gitconfig`, appended on the user's word —
read the file first, never overwrite existing content. Where
`~/.gitconfig` carries a global `user.name` or `user.email`, say
the guard only bites once that identity is removed, and offer
the removal — again only on the user's word. Declined: print the
lines for the user to apply by hand. This is the one edit
outside the engine; it is a configuration text file, not a git
operation.
2. **`.claude/settings.local.json`**.
- If it already exists: report the model it names and do not touch
it.
- Otherwise create it with `{ "model": "fable" }` and tell the
user in one sentence: the session is set to Fable — the
strongest available model, which the whole forge including the
blind reviewers runs on — and it can be changed at any time with
`/model` or by editing this file. A notice, not a question.
3. Finish by pointing at the next step from the Quickstart: start a
new project with `/new-project <slug>`, or bring an existing one
with `/import-project <git-url>`.