forge init
Scaffold this repo’s config — emits every tool from one shared source.
AGENTS.md, CLAUDE.md, .gemini/settings.json, .aider.conf.yml, and the rest
(plus MCP server config for Roo Code and VS Code), and the .gitattributes union-merge
rule the ledger needs.
forge init also merges Forge’s hooks and permissions into the global
~/.claude/settings.json, so it announces the merge before writing. The merge is
idempotent, marker-guarded, and never clobbers user entries.
Init flags
If the settings merge is refused or errors,
forge init fails with exit 1 and writes the
reason to stderr rather than reporting success.
Policy profiles
--profile selects the ruleset that forge sync compiles into each tool’s native
config. Only two profiles are supported:
standard(default) — the full pack: shared memory rules, impact analysis, and the complete guardrail hook set.minimal— a leaner ruleset for small repos or contributor forks.
web-app, backend-service, library, and regulated are deprecated
aliases of standard. They still work: forge init warns once, stores standard, and
existing configs holding a legacy name sync as standard. New repos should use standard
directly. Any other value is invalid and aborts before Forge touches the repo.
forge sync
Recompile the canonical source into each tool’s native config files.
source/rules.json or a
per-repo .forge/rules.json.
forge doctor
Health-check installed tools, guards, MCP auth, and config drift.
tier → model mapping when a
custom gateway is configured.
forge catalog
Start Here — list every tool, crew, and guard with a one-line why.
forge docs
Docs ↔ code drift.
docs check fails CI when commands, env vars, MCP tools, or the CHANGELOG drift from
the code. docs sync sweeps the diff and reports UPDATED / STALE / VERIFIED-UNAFFECTED.forge update
Self-update across all three install modes.
FORGE_NO_UPDATE_CHECK=1 silences the doctor notice.