/setup
First-time project configuration wizard. Auto-discovers engine path, VCS type, GAS usage, and plugins.
Interactive configuration wizard that discovers your project structure and generates machine-local configuration files.
Trigger phrases#
/setup, configure project, initialize, or on first run when
project-config.json does not exist and a skill needs it.
When to run#
- First time using AI ForgeKit in a project
- When
Docs/_working/state/project-config.jsonis missing - When your engine installation path changes
- When switching to a different machine (each machine runs
/setupindependently)
What it discovers#
Project structure#
Globs for *.uproject in the working directory, reads it to extract project
name, module list, enabled plugins, and engine association. Verifies Source/
and Content/ directories exist.
Engine path#
Searches in order: UE_ROOT / UE5_ROOT environment variable, then common
installation locations on Windows, macOS, and Linux. Validates the found path
by checking for the UnrealBuildTool binary. Derives the full UBT path and
Editor-Cmd path. Extracts the engine version from Engine/Build/Build.version.
If the engine is not found automatically, /setup asks for the path.
VCS type#
Detects Git (.git/ directory) or Perforce (p4 info exit code). If both
are present, asks which is primary. Captures the default branch (Git) or
workspace name (Perforce).
GAS usage#
Greps *.Build.cs files for "GameplayAbilities" and Source/**/*.h for
UAbilitySystemComponent or UGameplayAbility. Marks GAS as enabled or
inactive based on what is found.
Plugin inventory#
Reads the .uproject Plugins array for enabled plugins, scans the Plugins/
directory for project-specific plugins with source, and checks for known UE5+
plugin patterns (Enhanced Input, CommonUI, Online Subsystem, commandlet plugins).
What it writes#
project-config.json#
Written to Docs/_working/state/project-config.json. Contains everything the
other skills need to operate: build command, UBT path, VCS type, GAS status,
plugin inventory:
{
"project": {
"name": "MyGame",
"uproject_path": "C:/Projects/MyGame/MyGame.uproject",
"engine_root": "C:/Epic Games/UE_5.5",
"engine_version": "5.5"
},
"vcs": {
"type": "git",
"default_branch": "main",
"workspace": ""
},
"build": {
"ubt_path": "C:/Epic Games/UE_5.5/Engine/Binaries/DotNET/UnrealBuildTool/UnrealBuildTool.exe",
"editor_cmd_path": "C:/Epic Games/UE_5.5/Engine/Binaries/Win64/UnrealEditor-Cmd.exe",
"target": "MyGameEditor",
"platform": "Win64",
"configuration": "Development",
"full_command": "\"<UBT_PATH>\" MyGameEditor Win64 Development \"-Project=<UPROJECT>\" -NoHotReloadFromIDE -progress"
},
"features": {
"gas_enabled": true,
"enhanced_input": true,
"common_ui": false
},
"plugins": {
"project_plugins": ["BlueprintAIAssistant"],
"commandlets": []
},
"setup_completed": "2026-03-21T10:00:00Z",
"setup_version": "1.0.0"
}
This file is machine-local: it contains absolute paths specific to your
machine. Add it to .gitignore / .p4ignore. See
Installation for the full list
of files to exclude from VCS.
settings.local.json#
Written to .claude/settings.local.json. Adds a permissions entry that allows
Claude Code to run the build command for this specific project and UBT path.
Also machine-local and excluded from VCS.
Official plugin installation#
After writing the config files, /setup installs three official Claude Code
plugins from Anthropic's marketplaces. These are not bundled in the harness:
they are pulled from official sources at install time.
| Plugin | Source | Purpose |
|---|---|---|
skill-creator |
anthropics/skills |
Create, benchmark, and iterate on custom skills with an eval framework |
clangd-lsp |
claude-plugins-official |
C++ code intelligence: diagnostics, navigation, and completions for UE projects |
pr-review-toolkit |
claude-plugins-official |
Structured PR review agents |
If the marketplace is unreachable or installation fails, /setup outputs the
commands for you to run manually in the main session. Plugin failure does not
block setup completion.
Bundled skills#
Three skills are included with Claude Code and available out of the box, without any installation:
/simplify: review and simplify recently changed code for clarity and maintainability/batch: orchestrate large-scale parallel changes across the codebase (Git only)/debug: troubleshoot the current Claude Code session
CLAUDE.md placeholders#
Replaces {{PROJECT_NAME}}, {{ENGINE_VERSION}}, {{PROJECT_DESCRIPTION}},
and {{VCS_TYPE}} in CLAUDE.md with the detected values. Clears the
Status: NEW_ENVIRONMENT marker from Docs/index.md.
After /setup completes#
/setup offers to run /map-codebase
immediately to populate the Dev wiki. This is recommended for first setup.
Idempotent#
Running /setup again re-runs all discovery and overwrites
project-config.json and settings.local.json. It does not duplicate or
corrupt state. Safe to re-run after engine upgrades or machine changes.
Team setup#
Each team member runs /setup independently on their own machine. The generated
files are machine-local. The shared files: CLAUDE.md, .claude/rules/,
.claude/agents/, .claude/skills/, Docs/Design/, Docs/Dev/ are
committed and shared across the team.