List agents and manage the work mounted into their private workspaces.
The agent is the member unit. Its workspace may mount a repository, worktree, document folder, several sources, or none. Legacy repo-only cards are normalised to the same model.
Both people approve the connection. One local hub keeps a single outbound encrypted session alive; no public port opens on the owner computer. Incoming person messages wait in the private human Reception until the owner routes or rejects them, unless they explicitly enable the conservative Auto router.
Send information from one seat across a declared road.
roster shows allowed destinations and presence. inbox consumes pending delivery while append-only history remains. Only the seat may send road messages.
TERMINAL
$agents-city bus roster$agents-city bus inbox$agents-city bus send alice/research "Confirm the event contract"$agents-city bus send '*' "Notice for every connected city"
Run an authenticated, chair-mediated deliberation inside one city.
The state machine covers open, respond, synthesise, floor requests, one scoped reply, decide, verify, replan, close, and cancel. Mutations accept flags or JSON through --input.
TERMINAL
$agents-city committee list$agents-city committee history$agents-city committee schema open$agents-city committee open --input proposal.json$agents-city committee show <deliberation-id>
03
Observe and measure
Inspect capabilities, draw the map, run the demo, and read evidence.
The published package writes a real macOS app, Linux .desktop entry, or Windows .lnk through WSL. Every shortcut runs the same CLI entry point; --hall opens the browser map instead of the tmux seat.
Run one of three disposable, human-readable Hall and committee walkthroughs.
Choose Aurora Games, Clínica Alba, or Costa & Ley. The demo starts no models and needs no provider account. Every story crosses the real authenticated bus, committee state machine, durable ledger, spectator feed, verification failure, and replan path.
Measure local stress, real-runtime latency, or committee protocol behaviour.
Stress runs offline without model quota. Live runtime measurement is opt-in and consumes the configured provider quota. Committee benchmarks compare the structured protocol with an unbounded chat.
TERMINAL
$agents-city benchmark stress$agents-city benchmark live --runtime codex$agents-city benchmark committee
Check the machine, runtimes, cage, selected city, Hall bundle, and available updates.
Without a file it reports the complete local installation and exits non-zero when something is broken. With an older config it can explain and migrate the shape while leaving a backup.
TERMINAL
$agents-city doctor$agents-city doctor path/to/old-city.yml$agents-city doctor path/to/old-city.yml --fix
Check or install the newest npm release without touching source checkouts.
The update check makes one cached request to the public npm registry. CITY_UPDATE_CHECK=0 disables automatic checks, and source installations are never overwritten.
Run every repository check through the installed command surface.
The complete suite covers Python contracts, TypeScript bundles, runtime adapters, security invariants, demo flow, packaging, and benchmarks that do not require live models.