From 761f0704b9b7a5e6ab67af15d878d7e705f2e8ca Mon Sep 17 00:00:00 2001 From: saagpatel <269905221+saagpatel@users.noreply.github.com> Date: Thu, 10 Sep 2026 01:27:36 -0700 Subject: [PATCH] chore: add Cursor Cloud environment --- .cursor/environment.json | 4 ++++ .python-version | 1 + AGENTS.md | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 .cursor/environment.json create mode 100644 .python-version diff --git a/.cursor/environment.json b/.cursor/environment.json new file mode 100644 index 0000000..7e3917c --- /dev/null +++ b/.cursor/environment.json @@ -0,0 +1,4 @@ +{ + "name": "github-repo-auditor", + "install": "set -eu; python -m pip install --disable-pip-version-check --user 'uv==0.12.12'; export PATH=\"$(python -m site --user-base)/bin:$PATH\"; uv python install 3.11.15; uv sync --locked --python 3.11.15 --extra dev --extra serve --extra config" +} diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..ed7d51a --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.11.15 diff --git a/AGENTS.md b/AGENTS.md index 8cb1441..5897b7d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -47,6 +47,27 @@ filters timestamped local stores only: bridge-db activity, session-costs, and notification-hub durable events. Untimestamped Notion snapshot rows are skipped in since-window mode. +## Cursor Cloud specific instructions + +Cursor Cloud builds start from this repository's checkout and must not depend on +the local `.venv`, sibling repositories, generated `output/` artifacts, or +credential-bearing files. The checked-in `.python-version` selects Python +3.11.15; `.cursor/environment.json` pins `uv==0.12.12` and installs the locked +runtime and development dependencies with `uv sync --locked`. + +Use these repository-local, non-interactive checks in a Cloud build or agent: + +```sh +uv run --locked --extra dev --extra serve --extra config pytest -q -k 'not semantic_index' +uv run --locked --extra dev ruff check src/ tests/ +``` + +The `semantic` extra is intentionally opt-in because it adds heavyweight ML +dependencies; tests that require it should be run only when that extra is +explicitly requested. GitHub, Anthropic, and Notion credentials are optional +and must be supplied through Cursor Secrets when a task genuinely needs them; +never copy local `.env` files or tokens into a Cloud build. + ## Known Risks - `output/portfolio-truth-latest.json` is generated state, but it is also the current truth surface for other local workflows. Regenerate it deliberately after catalog or context changes.