Skip to content

Latest commit

 

History

History
53 lines (40 loc) · 2.4 KB

File metadata and controls

53 lines (40 loc) · 2.4 KB

AGENTS.md — guide for contributors and coding agents

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.

Setup, build, test

See the README for canonical setup. In short:

pip install -e ".[dev]"
ruff check .
pytest

Run ruff and pytest before opening a PR.

Conventions

  • 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 /v1 API 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.

Pull requests

Keep PRs focused, add tests for behavior changes, and make sure ruff and pytest pass.

Optional: give your agent memory of this repo (with Statewave)

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.