A short orientation for humans and AI coding agents (GitHub Copilot, Claude,
Cursor, …) working in statewave-py — the Python SDK for Statewave
(pip install statewave), a sync + async client over the /v1 API.
See the README for canonical setup. In short:
pip install -e ".[dev]"
ruff check .
pytestRun ruff and pytest before opening a PR.
- Code style & testing: see statewave-docs/dev/conventions.md.
- This SDK versions independently of the server and the TypeScript SDK; the
compatibility axis is the
/v1API contract, not a shared version number. Don't align version strings across packages. - Keep claims accurate and modest in docs and examples; avoid unqualified superlatives.
Keep PRs focused, add tests for behavior changes, and make sure ruff and
pytest pass.
This project dogfoods Statewave. The easiest way to give your assistant a
queryable project brain for this repo is the Statewave IDE Companion
extension for VS Code / Cursor (publisher statewavedev) — install it from
your editor's extensions marketplace. It exposes your workspace, docs, git
state, and structure to Copilot / Cursor / Claude over MCP and registers the
MCP server for you (no manual config); it just needs a Statewave server to
talk to (a one-file docker compose up). See the
extension README.
Prefer to wire it up by hand, or use another MCP client? Run the
Statewave MCP server
(@statewavedev/mcp-server) directly and query subject repo:smaramwbc/statewave-py.
Statewave memory — MCP server statewave, subject repo:smaramwbc.statewave-py.
Before answering questions about this project, call statewave_get_context (that subject, query = the ask) and ground your answer in it.
When the user states a durable fact or decision, call statewave_ingest_episode then statewave_compile_subject (same subject). Never invent Statewave results.