Beginner 8 min read

The Setup Wizard

Reference for the v3 JSON setup wizard. Eight steps, what each one asks, what each answer changes under the hood, and how to drive the wizard from a terminal, a script, or Claude Code.

In This Tutorial

  1. Why a Wizard?
  2. Starting the Wizard
  3. The Eight Steps
  4. What Gets Persisted
  5. Re-running and Skipping
  6. Driving It from Claude Code

1 Why a Wizard?

v3 introduces a curated command surface so only the commands relevant to your project type get loaded into the AI's context. Without curation, every CLAUDE.md include would carry the full ~230-command catalog and eat thousands of tokens before you've sent a single prompt.

The wizard's job is to figure out, in one short conversation, which slice of the catalog matters for your project, and to wire up the integration with your existing Claude Code setup. It does six things in order:

None of this is one-shot

Every choice the wizard records is editable later via individual config.* commands or by re-running the wizard. Nothing is permanent and nothing requires you to start over.

2 Starting the Wizard

Open {Project}/Plugins/Claudius/claudius_request.json and write:

claudius_request.json
{
  "id": "setup",
  "category": "config",
  "command": "run_setup",
  "parameters": {}
}

Save the file. claudius_response.json updates with the first prompt, including a next_call field that tells you exactly what to send next.

From that point on, every step has the same shape:

Generic answer payload
{
  "id": "wizard",
  "category": "config",
  "command": "answer_setup",
  "parameters": {
    "step": "<current step name>",
    "answer": "<your choice>"
  }
}

3 The Eight Steps

Step 1 — welcome

Choices: yes / skip

Acknowledges the wizard. Choosing skip exits without changes; yes moves to step 2.

Step 2 — workflow

Choices: fps / platformer / level_design / animation / open_world / general

Drives which preset gets loaded at confirm time. general falls back to the default enable set when no specialized preset fits.

Step 3 — experience

Choices: bp_only / bp_cpp / engine_dev / mixed

Recorded in your profile so the AI can pitch suggestions at the right level. Doesn't change which commands are enabled, only how the AI explains them.

Step 4 — ai_tool

Choices: claude_code / cursor / codex / other

Recorded in profile. Useful when one project is shared across team members using different tools.

Step 5 — token_budget

Choices: minimal / balanced / maximal

Hint for how aggressively to trim Claudius/CLAUDIUS.md:

Step 6 — auto_enable

Choices: ask / always / never

Behavior when the AI tries to call a disabled command:

Step 7 — claude_md_link

Choices depend on current state:

This is the safe opt-in to the integration. Existing content in your CLAUDE.md is never touched, only the reference line is appended, with a comment explaining where it came from.

Step 8 — confirm

Choices: yes / no

Applies everything: profile, policy, preset, optional CLAUDE.md link, then regenerates Claudius/CLAUDIUS.md. The final response includes the preset applied, enabled command count, paths, link state, and a token estimate.

Validation is strict

Each step rejects out-of-band answers with an error response. You can't accidentally pass "yes" to workflow. The plugin tells you which choices are valid for the step.

4 What Gets Persisted

The wizard's choices land in two places:

Wizard state itself (which step you're on, partial answers) is in-memory only. If the editor crashes mid-wizard, just call config.run_setup again to start over from step 1.

Your project-root CLAUDE.md is only modified at step 7, only if you said yes, and only by appending the include line. The rest of your file is untouched.

5 Re-running and Skipping

The wizard is safe to re-run any time. It picks up the current profile and policy as starting state, so if you only want to change one thing (say, the auto-enable policy) you can answer most steps with the existing value.

If you only need to change one specific setting, skip the wizard and use the targeted command:

Targeted updates without the wizard
# Switch preset
{ "category": "config", "command": "load_preset", "parameters": { "preset": "animation_studio" } }

# Change auto-enable policy
{ "category": "config", "command": "set_auto_enable_policy", "parameters": { "policy": "always" } }

# Link CLAUDE.md (idempotent)
{ "category": "config", "command": "link_user_claude_md", "parameters": {} }

# Force regenerate the index
{ "category": "config", "command": "regenerate_claude_md", "parameters": {} }

6 Driving It from Claude Code

If @Claudius/CLAUDIUS.md is already in your project-root CLAUDE.md, just say "start CLAUDIUS setup" in Claude Code. Claude reads the config.run_setup response, sees the next_call field, asks you the question conversationally, and writes the answer for you. The whole eight-step flow takes about a minute end-to-end.

For brand-new projects with no CLAUDE.md yet, write the initial config.run_setup JSON manually (or have Claude write it for you in the chat), then let Claude take over from there. Step 7 will create the CLAUDE.md for you.

Don't loop the wizard

If you ever see Claude calling answer_setup repeatedly with the same step, the wizard probably wasn't started or has been reset. Send a fresh config.run_setup and let Claude pick up from step 1.

Back to
All Tutorials