Paperworlds

A text-based multiplayer RPG — and all the AI development tools that got built along the way.

No GUIs. No dashboards. No Electron wrappers.

If it doesn't run in a terminal, we don't ship it.

Text is the interface. The keyboard is the mouse. The shell is the OS.

Every tool does one thing. Every tool composes with the others.

It started as a text-based multiplayer RPG. Building the game meant building tools — for managing Claude Code sessions, switching accounts, coordinating agents across repos. Those tools kept growing. At some point the tooling became its own project. This is that project.

textworlds alpha

A persistent text-based multiplayer RPG. Players connect from any terminal — or any client that speaks the protocol. AI-driven NPCs share the world with human players. Everything is text. Everything is live.

We are building an open client/server standard around the game: a typed WebSocket protocol, a reference server, and a web client — so the world can be reached from anywhere, and anyone can build a client against the spec.

There is something else. The boundary between the game world and everything outside it is not as fixed as it looks. More on that when it's ready.

An infrastructure layer for AI coding agents. Today, opinionated and Claude-first. Tomorrow, open standards — every tool aims to speak whatever the agent ecosystem converges on (A2A, MCP, and the rest).

01 textworkspace manager

One install, one CLI for the entire text- stack. Onboards you through the tools in dependency order, bootstraps Go binaries from GitHub releases, and exposes custom combo commands that chain actions across tools. The package manager for Paperworlds.

02 textaccounts available

Manage multiple Claude Code accounts with full directory isolation. Claude doesn't have profile switching — we needed separate work/personal accounts with isolated sessions, memory, and settings.

03 textproxy optional

Local proxy for the Claude API that captures token consumption stats. Understand how your agentic workflows spend tokens — per session, per prompt, per model. The MITM seat is also the right place to grow into a response cache: same prompt, free answer.

04 textsessions available

TUI for Claude Code session management. Browse, search, tag, and resume sessions across repos and profiles. Built for heavy users who lose track of dozens of parallel conversations.

05 textforums available

Async coordination layer for Claude Code sessions. Post threads when you hit a cross-repo dependency, pick them up from another session. File-based, YAML threads, zero infrastructure. Ships inside textworkspace.

06 textread available

Context-aware link reader. URL in, relevance verdict and summary out — lensed through your stored profile and current projects. Runs as a fresh Haiku subagent per read; raw content cached locally so you can re-map without re-fetching.

07 textserve available

Fleet manager for MCP servers. Start, stop, and monitor Docker-based and native MCP servers from a single CLI. Injects credentials from your password manager at runtime and auto-registers servers with Claude Code.

08 textmap available

YAML-first knowledge graph with a Kuzu backend and MCP server. Agents query it for protocols, open initiatives, and intent→tool mappings — context recovery without reading prose. YAML is the human-authored source of truth; textmap sync keeps the graph in step. Integrated with textworkspace.

09 textprompts available

Lightweight DAG runner for AI coding agents. Reads numbered prompt files with YAML frontmatter, resolves depends_on chains, runs eligible tasks via claude -p, and surfaces live progress in a TUI. Decompose features into ordered prompts, track progress and cost.

10 textbridge available

Routing layer between Paperworlds tools and the external apps your day already runs on. One module per integration, one YAML flow per source-to-sink mapping, content-hashed idempotency so the same action never gets pushed twice. Inaugural plugin: Todoist, with calendar sync via the existing iCal feed (no separate Google auth).

11 textcombos tbd

Community-shared workflow recipes for textworkspace. YAML files that chain tool actions into reusable combos — install from local files, gists, or repos. Define your own, share with your team.

One CLI for the stacktextworkspace

tw forwards unknown subcommands to the right tool — one muscle-memory entry point, no shimming.

Workspace switchingtextworkspace

tw start data swaps profile, brings up servers, opens a session. One command, named context.

YAML recipes for multi-step workflows. Any combo name becomes a top-level tw command.

Cross-stack doctortextworkspace

tw doctor runs health checks, finds stale paths, and verifies spec conformance across every installed tool.

Adopt without copyingtextaccounts

Register an existing ~/.claude* directory in place — nothing moved, nothing copied.

Worker profilestextaccounts

Auth-only copies of a parent profile for parallel work — same login, isolated session state.

Profile auto-discoverytextaccounts

The TUI surfaces unregistered ~/.claude* directories as adoption suggestions.

MITM token capturetextproxy

Local proxy intercepts api.anthropic.com responses and extracts input + cache token counts. Doesn't change Claude Code's behaviour.

Statusline integrationtextproxy

Atomic writes to ~/.files/states/ctx.json for live context-window display in your shell statusline.

Subscription-friendlytextproxy

Built for Claude Team / Claude.ai users who don't pay per token but still want to know what each session burns.

Cache-ready (planned)textproxy

Already MITMs every API call — the next step is response caching. Identical prompts return cached answers; agentic loops stop paying twice for the same work.

Pairs with RTKtextproxy

textproxy handles the output side of the token economy; RTK handles the input side — compressing tool output before it reaches the LLM. Same goal, opposite ends of the pipe.

Cross-repo session TUItextsessions

Browse, search, tag, and resume every Claude Code session across every repo and profile.

Tagging + prioritytextsessions

Triage dozens of parallel conversations by tag and priority. Built for heavy users who lose track.

Auto-detected integrationstextsessions

If textaccounts and textproxy are installed, profile and token data show up automatically — no config.

Lensed link readingtextread

URL in, relevance verdict and summary out — lensed through your role and current projects, not a generic abstract.

Local raw cachetextread

Raw + cleaned markdown stored locally — re-map the same URL with new context without re-fetching.

Use Claude Code's authtextread

--via-cli shells out to claude -p — no separate API key required, just the CLI you already have.

1Password credentialstextserve

Server credentials are pulled from 1Password at start time and cached in ~/.cache/mcp-<name>. No secrets in dotfiles.

Auto-register with Claudetextserve

textserve start <name> brings the server up and registers the MCP endpoint with Claude Code in one step.

Tag-based fleet controltextserve

textserve start --tag ci brings up every server matching a tag. Group servers however your workflow needs.

Server scaffoldingtextserve

textserve add generates the directory, server.yaml, hook.sh, and README — fill in env, run start.

Typed knowledge graphtextmap

10 node types and 11 edge relations. Curated, queryable by relation — the canonical answer is the same every time.

YAML is the sourcetextmap

Edit graph.yaml by hand, run textmap sync, the Kuzu DB rebuilds deterministically.

MCP query toolstextmap

Seven tools (search, query_node, query_relation, query_why, expand, …) so an agent can reach the graph through MCP.

Inbox for proposed nodestextmap

Agents can propose new nodes — they land in textmap inbox for human review before they touch the graph.

Ingestorstextmap

Pull from .md frontmatter, Cursor .mdc rules, toolmaps, and inventory finding files. Five built-in pipelines.

DAG-driven promptstextprompts

Numbered prompt files with depends_onpp run resolves the chain, runs eligible tasks via claude -p.

Budget-aware runstextprompts

Per-task and per-pipeline cost tracking. pp cost forecast estimates pending tasks before you spend.

Live progress TUItextprompts

pp view shows projects, features, and tasks with state, model, and cost — live-tail any task.

Feature scaffoldingtextprompts

pp features new + pp features plan decompose a LEAD.md into ordered YAML prompt files automatically.

Per-task modeltextprompts

Each prompt picks haiku, sonnet, or opus — match cost to task, not pipeline-wide.