Installation
Valved is a Python CLI plus a Postgres-backed state store. It is Postgres-from-day-one — there is no SQLite fallback.
Requirements
Section titled “Requirements”- Python 3.11+
- Postgres 14+ — either the bundled
docker-compose.yml(recommended for local dev) or your own (managed RDS, Cloud SQL, Supabase, etc.) - Docker — only if you use the bundled Postgres path
- An Anthropic API key (or Claude OAuth token) for the AI harness — see Configuration
Install
Section titled “Install”Pick your favorite Python tool:
pipx install valved# oruv tool install valved# orpip install --user valvedAfter install, valved version should work.
First run with bundled Postgres
Section titled “First run with bundled Postgres”mkdir my-valved-project && cd my-valved-projectvalved init # writes valved.toml, valved/, .env.example, docker-compose.ymldocker compose up -d # starts Postgres on 127.0.0.1:5432valved serve # API + scheduler + worker; runs migrations on first bootBehind the scenes:
valved initwritesvalved.toml, thevalved/config dir,.env.example, anddocker-compose.yml(the bundled-Postgres template).docker compose up -dbrings up Postgres at the URL the.envtemplate expects:postgresql+psycopg://valved:valved@127.0.0.1:5432/valved.valved serverunsalembic upgrade headon the empty Postgres, then starts accepting CLI / REST / MCP requests.
First run with external Postgres
Section titled “First run with external Postgres”If you already operate Postgres (managed RDS / Cloud SQL / Supabase / a local install):
valved init --external-postgres "postgresql+psycopg://user:pass@host:5432/db"valved serveThe --external-postgres flag tells valved init to skip the docker-compose.yml scaffolding and record your connection string in .env instead.
Set your model credentials
Section titled “Set your model credentials”The harness needs a model provider. Set one before you plan or build:
cp .env.example .env# then edit .env to add ANTHROPIC_API_KEY (or a Claude OAuth token)valved auth status # verify the harness can see a credentialSee Configuration → valved/models.toml for API-key vs OAuth and model tiers.
Verify the install
Section titled “Verify the install”curl -s http://127.0.0.1:8765/healthz # livenesscurl -s http://127.0.0.1:8765/readyz # readiness (200 once migrations are at head)valved runs listIf readyz returns 503, check valved serve logs — the most common cause is DATABASE_URL pointing somewhere unreachable.
Where to go next
Section titled “Where to go next”- Quickstart — build your first pipeline end-to-end
- The core loop — how plan → build → run → deploy fit together
- MCP server — drive Valved from Claude Desktop / Cursor / Claude Code