Skip to content

Repository files navigation

Automaton

Native GPUI staff over Puppetmaster. Named automata speak, then dispatch. Durable state is queried first. Jobs stay out of chat. One local Docker Linux is the shared computer; automata are screens, not VMs.

Docs

Run

Needs Bun, Docker, and a Puppetmaster CLI on PATH. OpenRouter is configured in Settings (or ~/.automaton/keys.json).

bun install
bun test
bun run app

On macOS, bun run app opens macos/Automaton.app so the Dock and the menu bar say Automaton. That wrapper is a Mach-O stub plus bun copied into the bundle; Homebrew bun in the Dock is a terminal tile. bun src/main.tsx still works, but a bun process spawned from Cursor stays under Cursor's menu (Cmd+Plus / Cmd+Minus go to the editor). The in-window titlebar paints Automaton next to the focused mouth.

--hot remounts can leave a zombie window. If clicks miss, quit leftover Automaton windows and run bun run app (or bun src/main.tsx).

bun test is the suite. CI runs that job on macOS. bun scripts/replay-tough-eval.ts measures recall safety (avoidance, false-hit rate, stale-hit rate, cost) on a seeded mixed workload. It is not the 95% repeated-work replay. bun run doctor checks Puppetmaster. bun scripts/probe-kernel.ts launches a read-only analyze job. Never run an implement worker against this checkout; implement work uses a sandbox.

Layout:

  • @gpuix/react on Zed GPUI (src/main.tsx)
  • Domain and session: src/domain.ts, src/session.ts
  • Durable SQLite: src/runtime/store.ts
  • Mouth: src/runtime/mouth.ts
  • Jobs: src/runtime/pm.ts, src/runtime/jobs.ts
  • Tokens: src/tokens.ts
  • Mark: brand/mark.svg (control-bar marionette)
  • Box image: box/Dockerfile

License

MIT. See LICENSE.

About

Native GPUI staff over Puppetmaster. Named automata speak, then dispatch. Durable state. Jobs stay out of chat.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages