Skip to content

CLI Commands

All packages use edwh as the task runner. Commands are run inside the package directory.

Standard commands (all packages)

uv run edwh local.setup   # check/create env vars, generate shared keys
uv run edwh local.test    # run tests (uv run pytest -q)
uv run edwh local.lint    # lint with ruff
uv run edwh local.fmt     # format with ruff + auto-fix

Server-specific commands

# Generate JWT tokens (run from meadows-server/)
uv run edwh local.user-jwt --name=alice          # mint a user JWT
uv run edwh local.user-jwt --name=alice --expiry=30d  # with custom expiry
uv run edwh local.bot-jwt --name=echo            # mint a bot JWT
uv run edwh local.permissions-list               # list available permissions

Root orchestrator commands

The root tasks.py provides multi-package orchestration:

inv setup     # generate JWTs for all bots in meadows-compose.yaml
inv start     # start server + all enabled bots (blocks)
inv stop      # terminate all tracked processes
inv status    # show configured bots and their running status
inv add --name=foo --module=meadows.bot.examples.foo_bot  # add a bot
inv tui       # launch TUI client
inv tui --branch=main --username=alice
inv tui --debug

Docs commands

# From meadows-docs/
uv run edwh local.build   # build static site via Docker
uv run edwh local.update  # build + restart server
uv run edwh local.serve   # dev server (localhost:8000)
uv run edwh local.clean   # remove built site/

Testing

# Standard test run
uv run edwh local.test

# With coverage
uv run pytest --cov=src --cov-report=term-missing

# Integration tests (server, requires extra deps)
uv pip install -e ".[integration]"
uv run pytest -q