forgeplan init
forgeplan init bootstraps a new Forgeplan workspace in the current directory. It creates the .forgeplan/ folder with all subdirectories for artifacts (adrs, prds, rfcs, epics, specs, evidence, problems, solutions, notes, refresh, memory), initializes the LanceDB index, and writes a default config.yaml. After this, you can start creating artifacts with forgeplan new.
When to use
Section titled “When to use”- Bootstrapping Forgeplan on a brand-new project for the first time.
- Fresh clone of an existing Forgeplan repo — markdown is tracked but
.forgeplan/lance/is gitignored, so the index must be rebuilt locally. - Recovery after catastrophic workspace corruption or a lost
.forgeplan/lance/directory (pair with a fresh export backup).
When NOT to use
Section titled “When NOT to use”.forgeplan/already exists and is healthy — useforgeplan migratefor schema upgrades instead of reinitializing.- Rebuilding only the LanceDB index from intact markdown — use
forgeplan scan-import(no destructive reinit needed).
forgeplan init [OPTIONS]Options
Section titled “Options” --force Force reinitialize even if .forgeplan/ exists -y, --yes Non-interactive mode (skip prompts, use defaults) --scan Scan for existing documents and import them -h, --help Print help -V, --version Print versionExamples
Section titled “Examples”Example 1: First-time setup (AI agent)
Section titled “Example 1: First-time setup (AI agent)”forgeplan init -yCreates .forgeplan/ with defaults and no interactive prompts. AI agents must always use -y — the interactive wizard will block them otherwise.
Example 2: Fresh clone of a Forgeplan repo
Section titled “Example 2: Fresh clone of a Forgeplan repo”git clone <repo> && cd <repo>forgeplan init -yforgeplan scan-importforgeplan listMarkdown under .forgeplan/{adrs,prds,...} is tracked, but lance/, .fastembed_cache/, and config.yaml are gitignored. init -y recreates the empty shell, then scan-import rebuilds the LanceDB index from tracked markdown.
Example 3: Brownfield onboarding
Section titled “Example 3: Brownfield onboarding”forgeplan init -y --scanScans standard doc directories (docs/, rfcs/, etc.) and imports any markdown that looks like an artifact, classifying it by kind.
Example 4: Reinitialize after backup
Section titled “Example 4: Reinitialize after backup”forgeplan export --output backup.jsoncp -r .forgeplan .forgeplan-backup-$(date +%Y%m%d)rm -rf .forgeplanforgeplan init -y --forceforgeplan import backup.jsonThe only safe reinit path — export + filesystem copy + reinit + import.
How it fits the workflow
Section titled “How it fits the workflow”This command belongs in the full artifact lifecycle — see the tutorial for the end-to-end flow. init is step zero; the next command is almost always forgeplan health or forgeplan scan-import.
Safety notes
Section titled “Safety notes”- AI agents must always pass
-y. The interactive wizard will hang on stdin and look like a stuck process. - Never
rm -rf .forgeplanwithout an export first. Seeforgeplan export— it is the only backup path that captures links, evidence, and scoring state. config.yamlis gitignored. If you reinit, you will lose your LLM provider settings. Back it up separately:cp .forgeplan/config.yaml ~/fp-config-backup.yaml.- Markdown survives reinit only if you copy it out first.
--forcewipes the folder. Alwayscp -r .forgeplan .forgeplan-backup-$(date +%Y%m%d)as a secondary safety net. - Schema drift between versions (e.g. v0.17 → v0.18 added columns) — prefer
forgeplan migrateover reinit when possible.
See also
Section titled “See also”forgeplan export— mandatory backup before any destructive operationforgeplan import— restore artifacts after reinitforgeplan scan-import— rebuild LanceDB from tracked markdownforgeplan migrate— non-destructive schema upgradesforgeplan health— session start verification- Configuration — LLM provider setup