Using meith

The meith CLI

The meith command talks to a running runtime over a local socket and calls the exact same tools the app uses.

Setup

On startup the runtime registers the running instance and exposes a managed launcher at ~/.meith/bin/meith. Add it to your shell:

terminal
# print shell PATH setup instructions
meith setup

# or write the launcher dir into your shell config
meith setup --write

Through the monorepo you can also run the CLI with pnpm cli <command>.

Launching & projects

terminal
meith                 # launch the app
meith ./my-project    # launch and open a project path
meith new my-app      # create and open a new project

Tools & generic calls

Every runtime capability is a tool. List them, or invoke any tool by its exact name with meith call:

terminal
meith tools                  # list every tool the runtime exposes
meith call app_health        # invoke any registered tool by name
meith call <tool> --help     # inspect a tool's parameters

Common commands

Friendly commands map to underlying tools. A representative set:

  • meith tabs — list browser and workspace tabs.
  • meith open <url> — open a new browser tab at a URL.
  • meith active-tab — show the active browser tab.
  • meith app list — inspect running app instances.
  • meith health — print runtime service health.
  • meith dev-servers — list managed dev servers and their port.
  • meith start-dev <cwd> <command> — start a dev server.
  • meith devlogs— stream a dev server's logs.
  • meith processes — list managed child processes.
Run meith --help for the full command list, or meith <command> --helpfor command-specific details. When the runtime is reachable, help is enriched with each tool's live parameter schema.

Useful options

  • --json — print the raw ToolResult envelope.
  • --instance <id> — target a specific instance by pid or label.
  • --socket <path> — override the runtime socket path.
  • --timeout <ms> — per-call timeout override.
  • --arg-json <json> / --stdin — pass complex params as JSON.