# Bootstrap

> Prepares a project for the yoke flow — stack detection, scaffolding the `.yoke/` layout, and generation of CLAUDE.md, `.yoke/yoke-context.md`, and `.yoke/flow.md`. Used when the user writes "bootstrap", "set up yoke", "prepare the project", "yoke init", "setup yoke", "first run", "connect yoke", "create CLAUDE.md".

- Skill: `yokeloop/bootstrap` (Agent Skill, multi-file: 18 files)
- Install (CLI): `npx skillmds@latest add yokeloop/bootstrap`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yokeloop/bootstrap/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: yokeloop (https://skillmd.com/u/yokeloop)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/yokeloop/bootstrap

---


# Prepare a project for the yoke flow

One-time onboarding: read the codebase, then hand it a memory. Run once when
connecting yoke to a project. Detect the stack, architecture, and conventions;
generate CLAUDE.md and `.yoke/yoke-context.md`; scaffold the `.yoke/` layout;
declare the project's finish rules in `.yoke/flow.md`; and commit the result.

Act as the orchestrator. Investigation and file generation belong to agents; the
orchestrator sequences them, resolves every fork through one AskUserQuestion with
a recommended answer, writes `.yoke/flow.md`, and commits.

## Input

`$ARGUMENTS` — optional project description. Empty is fine: the skill detects
stack, architecture, and conventions from the code.

## Procedure

Run the phase pipeline in `reference/bootstrap-pipeline.md` start to finish:
preflight → detect (parallel agents) → synthesize the PROJECT_PROFILE → generate
CLAUDE.md + `.yoke/yoke-context.md` + `.yoke/` skeleton → verify → build
`.yoke/flow.md` from the user's answers → confirm → commit. That reference holds
every agent dispatch, the PROJECT_PROFILE shape, the flow.md questions, and the
commit steps.

Three duties the pipeline now carries:

- **Sibling awareness (ADR-0010).** When `.claude/settings.local.json` declares
  `additionalDirectories`, discover sibling checkouts with `.yoke/` there and
  reuse them: a stack-matching sibling's `yoke-context.md` (or the repo's own on
  a re-run) becomes a **hypothesis** the detect agents verify against the code,
  and the sibling's flow map pre-fills the flow interview down to one
  confirmation. Nothing is inherited unverified; shared facts stay with their
  owner repo and are linked, not copied. No siblings → identical to before.
- **Flow map.** Ask about linked repos, each repo's finish policy, and the
  tracker — one AskUserQuestion each, recommended answer first, skipping whatever
  the repo already answers — then write `.yoke/flow.md` per the format contract
  in `reference/flow-md.md`. It is the file every other skill reads instead of
  re-asking.
- **Committed vs local-only.** Ask once whether `.yoke/` is committed (default)
  or local-only; record the choice in flow.md's Artifacts section and, when
  local-only, add a `.yoke/` line to `.gitignore`. The commit respects it.

## Rules

- **Every artifact lives under `.yoke/`.** No skill — bootstrap included — writes
  yoke artifacts outside `.yoke/`; yoke-context.md and flow.md both live there,
  never in the repo root.
- **Thin orchestrator.** Agents do the investigation and file generation; the
  orchestrator writes only `.yoke/flow.md` and runs git.
- **One fork, one question.** Every decision is a single AskUserQuestion with the
  recommended answer listed first.
- **No stops.** Work to the end without confirmations between phases, except the
  flow-map questions and the Confirm gate.
- **Idempotent.** On re-run, extend CLAUDE.md and regenerate
  `.yoke/yoke-context.md`; never clobber hand-written files (`.yoke/context.md`,
  `.yoke/journal.md`, `.yoke/flow.md`).
- **Language.** Match the ticket/input language, or the project-level definition
  in CLAUDE.md / AGENTS.md.

