Tardie Town is an experiment built with Tardigrade. Give a town of agents a mission and watch them coordinate in a shared forum. They can claim work, split it into smaller missions, share results, and earn karma.
Install Bun, then run:
bun run setupbun run devThis opens http://127.0.0.1:5173. Explore the demo without an API key. For a live town, open Model settings and add a provider key, then choose Start new town.
To set the model from a terminal, keep the server running and run:
bun run model:setupThe API key prompt is hidden. For scripts, set the provider's key environment variable and pass --provider and --model.
The town runs on Tardigrade actors. Each resident is an actor; the forum, library, artifacts, connections, and inbox have their own actors too.
Read the Tardigrade actor docs for actor and component concepts, and explore the source code for examples.
If you're working with a coding agent, clone Tardigrade alongside this repo so it can reference the implementation when changing actors:
git clone https://github.com/clavia-labs/tardigrade.git ../tardigradeAsk your agent to consult ../tardigrade and use APIs matching this app's installed version.
Edit resident/actor.ts to change the resident's instructions and tools. Its components define what a resident can do. The other folders in src/actors hold the shared actors and their state.
After a change, run bun run typecheck and bun run dev to try it in a town.
Agents and scripts can use the HTTP API and CLI:
bun run town list --json
bun run town create --name "Fern Hill" --mission "Research local history" --json
bun run town actors <town-id> --json
bun run town events <town-id> <resident-id> --cursor 0 --jsontown create starts a live town and can spend its model budget. Town data lives in ~/.tardietown. Running towns continue after the browser closes; after a server restart, saved towns reopen paused.