/gaia-init
/gaia-init is automatically run during npx create-gaia. It renames the project to your title, configures language support, replaces template branding, registers Claude tools and plugins, sets up the wiki, and hands you a project that compiles, lints, and tests cleanly.
The flow
Section titled “The flow”1. pnpm + dependencies
Section titled “1. pnpm + dependencies”- Enables pnpm via Corepack if available, otherwise installs it globally with npm.
- Runs
pnpm installagainst the freshly extracted scaffold. - Runs
/update-depsto update every dependency to its latest compatible version. If a package is held back, the reason is surfaced.
If install fails, the run halts with the underlying error. Address the cause and re-run /gaia-init.
2. Project questions
Section titled “2. Project questions”Three sets of prompts.
Project title. Name of your project (default: GAIA React App).
Languages. Pick the primary UI language, and any additional locales. If the project is single-language, you also choose whether to keep the i18n scaffolding or not. Stripping i18n now is cheaper than removing it later, but adding it back later is harder than leaving it in place.
Statusline mode. global writes the statusline command to ~/.claude/settings.json, project writes to .claude/settings.json only, skip leaves your settings alone.
3. Locale scaffolding
Section titled “3. Locale scaffolding”If multiple locales were chosen, it wires up non-en locale(s).
If the project is single-language with i18n stripped, /gaia-init follows .claude/instructions/remove-i18n.md to remove the framework cleanly.
4. Claude tooling
Section titled “4. Claude tooling”/gaia-init configures three external tools and three Claude plugins. You don’t need to call these manually. They’re listed here for your reference.
Tools. Per-machine, not tracked in the repo:
-
React Doctor:
curl -fsSL https://react.doctor/install-skill.sh | bash. Installs thereact-doctorskill to~/.claude/skills/. Auto-runs after code edits in aCLAUDECODEenvironment and is invoked by thecode-review-auditagent pre-merge. -
Playwright CLI binary:
npm install -g @playwright/cli@latest. Backs the bundledplaywright-cliskill, which shells out to this binary. -
Serena MCP server, registered globally for your Claude Code:
Terminal window claude mcp add serena -s user -- uvx --from git+https://github.com/oraios/serena@v1.2.0 serena start-mcp-server --open-web-dashboard falseSerena needs
uv(Astral’s Python toolchain runner). Ifuvis missing,/gaia-initinstalls it first viacurl -LsSf https://astral.sh/uv/install.sh | sh.
Plugins.
claude plugin install typescript-lsp@claude-plugins-officialclaude plugin marketplace add AgriciDaniel/claude-obsidianclaude plugin install claude-obsidian@claude-obsidian-marketplace5. Mentorship opt-in
Section titled “5. Mentorship opt-in”You can choose to opt-in to GAIA’s experimental mentorship feature.
6. Wiki initialization
Section titled “6. Wiki initialization”GAIA comes with an Obsidian wiki built-in. Read more about it here.
After gaia-init completes
Section titled “After gaia-init completes”You should see: <Project Title> is ready for development. Restart Claude to pick up the new plugin and skill state.
Restart Claude Code and you’re ready to start developing with GAIA.
Run pnpm dev to run the app locally. You can ask Claude to run it for you, or run it yourself in a separate terminal.
Resuming after a failure
Section titled “Resuming after a failure”/gaia-init is idempotent. If something breaks mid-run, ask Claude to fix any issues and resume gaia-init. Already-completed steps are skipped.