# Project: JANKENBOTS

A ~25-player "friendslop" party game: teams cobble a janky physics robot from themed scrap, then **each teammate pilots one part of it** in an absurd cartoon arena brawl; dead players become free-roaming ragdoll **gremlins**. Graduated from `ideas/jankenstein` on 2026-07-10 and renamed **JANKENBOTS** (was the working title JANKENSTEIN). Engine: **Unity**. Currently building a **basic networked prototype** to test the core coordination feel with real friends.

## Working agreement

- This is a git repo with `origin` on Forgejo at `https://git.rdx4.com/megaproxy/jankenbots.git` (private). HTTPS auth uses the token in `~/.git-credentials` — pushes are non-interactive.
- Commit after each logical change with a one-line imperative message; `git push` after each commit (or at minimum before ending the session).
- Read `memory.md` at session start. Update it before ending the session.
- Never commit secrets — see `.gitignore` and the rules in `~/claude/CLAUDE.md`.

## Project-specific notes

- **Engine: Unity.** Decided after a netcode/prior-art study (see `DESIGN.md` → *Tech direction*). The physics-party genre is overwhelmingly Unity; the defining risk is networked physics at ~25-player scale.
- **Everything lives at `F:\jankenbots\jankenbots`** (= `/mnt/f/jankenbots/jankenbots` from WSL; `~/claude/projects/jankenbots` is a symlink to it). The path is doubly-nested because Unity Hub created the project as `jankenbots` inside `F:\jankenbots` — harmless; the canonical repo/project root is the inner folder. One unified folder: the git repo, the design docs, **and** the Unity project (`Assets/`, `Packages/`, `ProjectSettings/`) all together, because the Unity Editor must run on Windows. Git runs from WSL over `/mnt/f` (`core.filemode false` set). Unity-aware `.gitignore`/`.gitattributes` are in place. **Git LFS is active** (since 2026-07-12): binary art/audio/models (png/jpg/fbx/obj/wav/etc.) are stored via LFS on the Forgejo remote; Unity YAML text assets (prefab/mat/scene/asset) stay normal git text. `git lfs` auths to Forgejo via the stored Basic credential — no extra setup; just `git push` as usual.
- **`DESIGN.md`** is the complete design record carried over from the idea's `plan.md` (control feel v0.1, weapon archetypes, lobby math, tech direction). `memory.md` is the distilled decisions + live TODOs; `DESIGN.md` is the deep detail.
- **Current focus:** a throwaway **networked prototype** — Unity **Netcode for GameObjects (NGO) + Relay**, host-authoritative, friends join by code. Milestone 1 = one shared bot, each player drives one tread. See `docs/prototype-plan.md`. This prototype's netcode is **not** the final architecture (server-auth vs Photon Quantum is still deferred).
- **Claude-in-editor (Unity MCP):** config is seeded — `.mcp.json` registers a `unity` HTTP server at `http://172.27.208.1:8080/mcp`; full runbook in `docs/mcp-setup.md`. Server = CoplayDev/unity-mcp run in **HTTP mode host-side**, reached across the WSL boundary by the Windows host IP (same shape as the UE nwiro/ChiR24 servers). Requires the Unity Editor open + the package installed + the bridge (0.0.0.0 bind or `netsh portproxy` on :8080). Verify with `mcp__unity__*` tools. Editor must be running for the tools to work; re-check the gateway IP if it stops connecting.
