Files
Claude-Code-Game-Studios/.claude/docs/setup-requirements.md
T
DonchitosandClaude Opus 5 d05699707f Release 1.1.0 — one config file, and a process weight you choose
`project.yaml` at the repo root is now the single source of truth for a
project's configuration, replacing `production/stage.txt`,
`production/review-mode.txt` and `.claude/docs/technical-preferences.md` (all
three still read as a fallback; nothing is force-deleted).

**`modes.rigor` — one question instead of six.** `minimal`, `standard` or
`full` fronts six knobs: `modes.workflow`, `docs.density`, `qa.level`,
`modes.story_granularity`, `modes.review_mode` and `team.size`. It defaults to
`minimal`, which is a change from 1.0's behaviour: the heavier tier was
measured costing several times more to reach working code without producing a
better result, and returning nothing when a fresh developer inherited the
project. Pin `modes.rigor: standard` to keep 1.0's process level.

Also in this release:

- `/settings` to view or change any setting, and `project.local.yaml` for
  per-developer preferences that should not be committed.
- `system_overrides` to hold one system to a higher standard than the rest of
  the project, and `testing.strict` to set per test type whether missing
  evidence blocks a story or warns.
- A story that changes anything the player sees is not closed until the game
  has been launched, observed, and a screenshot retained in
  `production/qa/evidence/`. A parse check is not a run. This holds at every
  rigor level, including `minimal`, where automated tests are waived but the
  look is not.
- The code root is engine-specific and enforced as such: Godot `src/`, Unity
  `Assets/`, Unreal `Source/<Module>/`. Two of the three will not build a
  project laid out any other way.
- Migration tooling for existing projects: `.claude/scripts/migrate-v1-config.sh`
  converts a 1.0 layout, non-destructively by default, with a report to review
  before `--finalize` deletes anything.
- Ask-before-write holds regardless of personal automation settings.

Upgrading from 1.0 or earlier: see UPGRADING.md. Full list of changes:
CHANGELOG.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016xvzG3i7pWQg4LjyDwWMXd
2026-09-23 12:25:11 +10:00

4.5 KiB

Setup Requirements

This template requires a few tools to be installed for full functionality. All hooks fail gracefully if tools are missing — nothing will break, but you'll lose validation features.

Required

Tool Purpose Install
Git Version control, branch management git-scm.com
Claude Code AI agent CLI npm install -g @anthropic-ai/claude-code
Tool Used By Purpose Install
jq Hooks (7 of 12) JSON parsing in commit/push/asset/agent hooks See below
Python 3 Hooks (2 of 12) JSON validation for data files python.org
Bash All hooks Shell script execution Included with Git for Windows

Installing jq

Windows (any of these):

winget install jqlang.jq
choco install jq
scoop install jq

macOS:

brew install jq

Linux:

sudo apt install jq     # Debian/Ubuntu
sudo dnf install jq     # Fedora
sudo pacman -S jq       # Arch

Platform Notes

Windows

  • Git for Windows includes Git Bash, which provides the bash command used by all hooks in settings.json
  • Ensure Git Bash is on your PATH (default if installed via the Git installer)
  • Hooks use bash .claude/hooks/[name].sh — this works on Windows because Claude Code invokes commands through a shell that can find bash.exe

macOS / Linux

  • Bash is available natively
  • Install jq via your package manager for full hook support

Verifying Your Setup

Run these commands to check prerequisites:

git --version          # Should show git version
bash --version         # Should show bash version
jq --version           # Should show jq version (optional)
python3 --version      # Should show python version (optional)

What Happens Without Optional Tools

Missing Tool Effect
jq Commit validation, push protection, asset validation, and agent audit hooks silently skip their checks. Commits and pushes still work.
Python 3 JSON data file validation in commit and asset hooks is skipped. Invalid JSON can be committed without warning.
Both All hooks still execute without error (exit 0) but provide no validation. You're flying without safety nets.

Optional Performance Settings

CCGS deliberately ships no values for the settings below. Each one's best value depends on your machine, your Claude plan and how you work, so a value committed here would be a guess every user inherits without noticing. Set the ones you want in .claude/settings.local.json, which is gitignored and yours alone.

Setting What it does When to change it
promptCacheTtl How long the main conversation's prompt cache lives. Raise it if you work in long sessions with gaps; the cache surviving a break avoids re-sending context.
subagentPromptCacheTtl The same, for subagents and other off-conversation requests. Worth raising on a 49-agent project like this one, where team-* skills spawn repeatedly.
autoCompactWindow How full the context gets before Claude Code compacts it. Lower it if compaction keeps surprising you mid-task; raise it if you would rather compact less often and keep more history.
skillListingBudgetFraction How much context the skill listing may occupy. CCGS ships 74 skills, so the listing is not small. Lower it if you want more room for work; skillListingMaxDescChars trims each description instead.

sandbox.enabled isolates shell commands from your filesystem and network. It is worth turning on, but it runs on macOS, Linux and WSL2 only — it is not available on native Windows, which is CCGS's primary platform.

One setting CCGS does ship

permissions.defaultMode is set to default in .claude/settings.json, on purpose. It makes Claude Code ask before acting, which is what every approval gate in this framework depends on. Project settings outrank personal ones, so this holds even if your own config sets acceptEdits or auto — otherwise CCGS's collaboration protocol would be silently switched off for you and the agents would write files you never approved.

If you genuinely want it off, override it in .claude/settings.local.json, which takes precedence. Understand what you are turning off first.

Claude Code works with any editor, but the template is optimized for:

  • VS Code with the Claude Code extension
  • Cursor (Claude Code compatible)
  • Terminal-based Claude Code CLI