From 482d0e5fa66924f4caee8656e75b3ca09c8f6626 Mon Sep 17 00:00:00 2001 From: Jared Miller Date: Sat, 7 Feb 2026 09:48:36 -0500 Subject: [PATCH] Add an agent config --- .claude/CLAUDE.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .claude/CLAUDE.md diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md new file mode 100644 index 0000000..704ee91 --- /dev/null +++ b/.claude/CLAUDE.md @@ -0,0 +1,31 @@ +# mudlib + +Telnet MUD engine built on telnetlib3. Python 3.12+, managed with uv. + +## Commands + +- `just check` - lint (ruff --fix + format), typecheck (pyright), test (pytest) +- `just lint` / `just typecheck` / `just test` - individual steps + +## Project Layout + +- `src/mudlib/` - the engine (commands, world, combat, render, store) +- `tests/` - pytest tests +- `worlds/` - world definition files (yaml/toml, version controlled) +- `notes/` - design docs, daydreaming +- `repos/` - symlinked reference repos (telnetlib3, miniboa). gitignored, not our code + +## Architecture + +- telnetlib3 is a **dependency**, not vendored. contribute fixes upstream +- telnetlib3 gives us: GMCP, MSDP, NAWS, async server, reader/writer streams +- game loop is tick-based (async task alongside telnet server) +- world definitions live in data files, runtime state lives in memory +- SQLite for persistence (player accounts, progress) +- session mode stack filters what events reach the player (normal/combat/editor) + +## Style + +- simple > clever +- no mock implementations +- match existing patterns in each file