@buildautomaton/local-cli

The Local CLI is the local host for the runtime. A cloud host would call the same createRuntime with a different mix of plugins.

You point it at a repo folder. It starts the runtime with coreSet(), which includes buildautomaton. In app mode it also loads appPlugin and opens the app UI on a blank prompt.

local-cli  (local host)
  ├── runtime
  ├── core + buildautomaton plugins
  └── appPlugin            optional: serve the app
         ↓
      createRuntime → listen
npx @buildautomaton/local-cli app --cwd /path/to/repo
npx @buildautomaton/local-cli --cwd /path/to/repo

app starts the runtime and the UI. Dev is the default: Vite serves the UI with live HMR (no rebuild). --prod (or NODE_ENV=production) serves the built UI from the HTTP server. Use that on servers.

Without app it is tools and HTTP only (agents still talk to the buildautomaton queue).

By default it serves HTTP at http://127.0.0.1:3333:

/                    app (app mode)
/mcp                 tools
/api/app             app state
/api/buildautomaton        setup + start session
/api/work            queue
/api/artifacts       reviews
/api/sessions        sessions
/api/work/events     websocket
/buildautomaton            sidebar widget
local-cli app --cwd /path/to/repo --port 3333
local-cli app --prod --cwd /path/to/repo
local-cli --cwd /path/to/repo --transport stdio
local-cli --transport remote --remote-url https://control.example
FlagMeaning
--cwd <path>Working directory for minions
--sessions-dir <path>Session files (default <cwd>/.harness/sessions)
--backend disk|streamDisk (default) or in-memory stream wrap
--transport http|stdio|remoteHow clients connect (HTTP by default)
--port <n>HTTP port (3333)
--ui-port <n>Vite port in app dev (5173)
--devForce Vite HMR
--prodServe the built UI (servers)
--mcp-path <path>Tools path (/mcp)
--remote-url <url>Required for --transport remote
--verboseLog to stderr

On disk: sessions under .harness/sessions, SQLite at .harness/work.sqlite, app state at .harness/app.json.

Want a different mix, or a cloud host? Call createRuntime yourself from the runtime package and compose plugins.