Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,14 @@ Before declaring any task complete, the agent should run the fastest useful chec
- **Rust**: `cargo fmt --all` and `cargo check -p <crate>` for the touched crate. Add `--all-targets`, `--workspace`, or `cargo clippy -p <crate> --all-targets -- -D warnings` only for explicit requests, CI/PR final validation, or changes that need broader coverage.
- **TS / JS / JSON / CSS / MD**: prefer scoped checks such as `bun run biome check --write <files>`. Use full `bun run format`, `bun run lint`, and `bun run typecheck` only when explicitly requested or when the change is broad enough to justify it.
- If a scoped check fails, fix the violation in the source (do NOT suppress with `#[allow(...)]`, `// biome-ignore`, or `any` unless explicitly approved). The Pre-Generation Invariants show the correct form for every denied lint.

## Cursor Cloud specific instructions

The Cloud Agent environment already starts MySQL, MinIO, the media server, and the Next.js app. Do not start a second copy, and do not run `bun run dev`, `bun run dev:web`, `bun run dev:desktop`, or `bun run docker:up`.

- Web app: `http://127.0.0.1:3000` (tmux session `cap-web`). Media server health: `http://127.0.0.1:3456/health` (tmux session `cap-media`). MySQL: `mysql://root:@127.0.0.1:3306/planetscale`. MinIO: `http://127.0.0.1:9000`, bucket `capso`, access key `capS3root`, secret `capS3root`.
- `.env` is generated for that local Docker profile and is gitignored. `bun run env-setup` is interactive; do not run it here.
- `packages/local-docker/docker-compose.yml` also builds `cap-media-server`. That image runs the media-server test suite during `docker build`, and container-to-container traffic on the Docker bridge times out with this VM's fuse-overlayfs daemon. Published host ports work, so boot creates the bucket from the host and runs the media server with `bun` on the host.
- With `RESEND_API_KEY` unset, email login codes are printed in the `cap-web` tmux pane. Schema push runs on boot only when the `users` table is missing; a second `drizzle-kit push` can emit invalid index SQL, so re-push by hand only when the schema actually changed.
- The desktop app is not started. Screen capture targets macOS and Windows. Rust 1.88, `libssl-dev`, clang, and `libclang-dev` are installed. Smoke checks: `cargo test -p cap-cursor-info`, and `cd apps/web && bun run test -- __tests__/unit/transcript-text.test.ts`.
- Native crates link FFmpeg 7.1. `ffmpeg-sys-next` 7.1.3 requires libavcodec 61.19, and Ubuntu 24.04's FFmpeg 6.1 dev packages are too old, so install builds FFmpeg 7.1 into `/usr/local` and does not install apt `libavcodec-dev`. Also installed: nasm, pkg-config, `libpipewire-0.3-dev`, `libasound2-dev`, libxcb/X11 dev packages, `libgbm-dev`, `libdrm-dev`, `libvulkan-dev`, `mesa-vulkan-drivers`, `libwayland-dev`, and `libegl1-mesa-dev`. `cargo check -p cap-recording`, `cargo check -p cap-rendering`, and `cargo check -p cap-enc-ffmpeg` are the compile checks. `cargo test -p cap-recording --lib --tests --no-run` compiles the test binaries. `cargo test -p cap-recording --no-run` also builds examples and fails on Linux because `crates/recording/examples/real-device-test-runner.rs` defines `check_permissions` only for macOS and Windows.
Loading