Documentation Index
Fetch the complete documentation index at: https://opensre.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Development guide
Contributor-focused workflows: local setup details stay in SETUP.md at the repo root (Windows, troubleshooting, MCP/OpenClaw).Clone and install
make install runs uv sync --frozen --extra dev and the analytics install helper. Use uv run opensre … from the repo root so you always hit this checkout’s .venv, not another opensre on your PATH.
Quality gates (same as CI)
From the repo root:test-full): make check.
Before a PR, run at least make lint, make format-check, make typecheck, and make test-cov (see CONTRIBUTING.md).
VS Code dev container
The dev container is defined under.devcontainer/. It builds from .devcontainer/Dockerfile (Python 3.13), then postCreateCommand creates .venv-devcontainer and runs pip install -e '.[dev]' (not uv). Docker Desktop, OrbStack, Colima, or another compatible runtime must be available on the host.
Benchmark
make benchmark-update-readme.
Deployment
LangGraph Platform (official)
- Create a deployment on LangGraph Platform and connect this repository.
- Keep
langgraph.jsonat the repo root. - Set
LLM_PROVIDERand the matching API key (for exampleANTHROPIC_API_KEY,OPENAI_API_KEY— see.env.example). - Add integration and storage env vars your deployment needs.
Railway (self-hosted alternative)
Ensure the Railway project has Postgres and Redis and that the OpenSRE service hasDATABASE_URI and REDIS_URI wired to them before deploying.
Remote hosted ops (Railway)
After deploy:provider, so you can shorten to:
Telemetry and privacy
opensre ships with two telemetry stacks, both opt-out:
- PostHog — anonymous product analytics (commands used, success/failure, rough runtime, CLI/Python/OS/arch, and limited command metadata).
- Sentry — crashes and errors (stack traces, environment, release).
entrypoint, opensre.runtime, and deployment_method. Sensitive headers, paths, and secret-shaped keys are scrubbed before send.
A random install ID is stored under ~/.config/opensre/anonymous_id. PostHog distinct_id is scoped to that ID. Telemetry is off in GitHub Actions and pytest.
Kill-switch matrix
| Env var | PostHog | Sentry |
|---|---|---|
OPENSRE_NO_TELEMETRY=1 | disabled | disabled |
DO_NOT_TRACK=1 | disabled | disabled |
OPENSRE_ANALYTICS_DISABLED=1 | disabled | unaffected |
OPENSRE_SENTRY_DISABLED=1 | unaffected | disabled |
Sentry DSN
Self-hosted users can setSENTRY_DSN to their project; unset uses the bundled default. SENTRY_DSN= (empty) drops events in before_send.
Deployment tagging
SetOPENSRE_DEPLOYMENT_METHOD to railway, langsmith, or local (default local) to label Sentry events.
Local PostHog event log
By default, outbound PostHog payloads are also appended to~/.config/opensre/posthog_events.txt (rotates at 1000 lines). Disable:
Tracer