CLAUDE.md · diff

git:20260930.8ad57ae to git:20260930.15d6f9d

5 added, 36 removed. Audit A to A.

- # universal-modder
-
- This repo is a game-modding toolkit for coding agents. When someone opens Claude Code (or Codex, Cursor...)
- here, they almost always want to **mod a game**. Start with the `mod-any-game` skill
- (`skills/mod-any-game/SKILL.md`) and follow its loop: intake → recon → route → lab → source of truth →
- vertical slice → assets → verify in game → showcase → publish.
-
- ## Tools
- - `bin/um` is the CLI. A SessionStart hook in `.claude/settings.json` puts it on PATH, so `um ...` works.
- Every group has `--help`:
- - `scan`: installed games, engine, anti-cheat, loaders, saves, routes
- - `fal`: sprites, textures, PBR, 3D, rigs, SFX, music, voice, video
- - `sprite`, `render3d`: art → engine-ready frames
- - `win`: launch / screenshot / input / record on Windows, also from WSL
- - `video`: contact sheets, EDL-based showcase edits, muxing
- - `backup`: snapshot / restore saves
- - `publish`: pre-release lint
- - The fal MCP server is configured in `.mcp.json` (needs `FAL_KEY`).
- - Skills: `skills/*/SKILL.md`. Engine playbooks: `skills/mod-any-game/references/engines/`.
- - Worked examples: `examples/terraria-tmodloader`, `examples/aoe2-de-civ`.
-
- ## Rules (full list in skills/mod-any-game/references/safety.md)
- - Only games the user owns, single-player/offline. Never touch online clients with anti-cheat; never bypass
- anti-cheat, DRM or ownership checks.
- - `um backup` saves before modded launches. Never commit or ship game files or decompiled code; keep
- decompiles outside the repo.
- - Kill processes by exact PID (`um win kill`), never `pkill -f`. Ask before driving the user's
- mouse/keyboard, installing loaders into game folders, changing the registry, or publishing.
- - Keep a `MODLOG.md` journal in the mod's working folder.
+ @AGENTS.md
- ## Working on the toolkit itself
- - Python 3.10+, deps Pillow + numpy (`uv` handles them via `bin/um`). Code lives in `um/`, one module per
- CLI group, each with `register(sub)` and a docstring that doubles as its `--help`.
- - `tools/win/*.ps1` embed C# 5 (Windows PowerShell 5.1's compiler): no string interpolation, no `out var`,
- no expression-bodied members.
- - Test changes against real games when possible (`um scan <installed game>`, `um video compile` on a small
- EDL, `um sprite` on `examples/*/assets`). Keep `um --help` output accurate.
+ ## Claude Code specifics
+ - Installed as a plugin, the skills are namespaced (`/universal-modder:mod-any-game`), the fal MCP server comes
+ from `.mcp.json` (needs `FAL_KEY` in the environment), and a SessionStart hook puts `um` on PATH.
+ - In a clone, `.claude/settings.json` adds the same PATH hook and `.claude/skills` links to `skills/`.