From 0b4c67697db3bde680f6bd147505908dd36e75cb Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 28 Jul 2026 20:44:27 +0000 Subject: [PATCH] docs: add AGENTS.md with Cursor Cloud dev environment setup notes Co-authored-by: edenbuilds --- AGENTS.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..e4009b2 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,22 @@ +# AGENTS + +This repo hosts two things: + +- **Bloom** (repo root) — a Vite + TypeScript webcam hand-tracking web app. Raise a hand → a tulip blooms open; lower it → it closes. Camera stays on-device and is never displayed. Source in `src/`, prebuilt tulip frames in `public/tulip/`. +- **GODMODE** (`godmode/`) — a portable agent plugin package (markdown agents/skills/commands + shell scripts). No build system; see `godmode/README.md` and `godmode/AGENTS.md`. + +## Cursor Cloud specific instructions + +Environment is refreshed on startup by the update script (`npm install`). The notes below are non-obvious caveats; standard commands live in `package.json` and `README.md`. + +### Bloom (primary app) +- Package manager is **npm** (`package-lock.json`). Node 18+ is fine (built with Node 22). +- Dev server: `npm run dev` → Vite on **port 5175** (fixed in `vite.config.ts`). +- There is **no lint script and no test framework**. The quality/type gate is `npm run build` (`tsc && vite build`); run it to typecheck. +- **Runtime network egress is required**: the MediaPipe hand-tracking WASM is fetched from `cdn.jsdelivr.net` and the model (`hand_landmarker.task`) from `storage.googleapis.com` at runtime (see `src/vision.ts`). These are not bundled; without egress the "Warming up…" step never completes. +- Core functionality needs a camera **and a visible hand**. To exercise the bloom in a headless cloud VM without a real webcam, launch Chrome with a fake camera fed by a video/image of raised open hands, e.g.: + `google-chrome --use-fake-ui-for-media-stream --use-fake-device-for-media-stream --use-file-for-fake-video-capture=/tmp/hands.y4m http://localhost:5175/` + Generate the `.y4m` from a hand image with ffmpeg. In `src/vision.ts`, `raise` is driven by how high the fingertips are in frame, so place the hand high (small y) to fully open the flower. The desktop X display is `:1`. + +### GODMODE plugin (`godmode/`) +- No dependencies/build. Its self-check is `bash godmode/scripts/validate.sh` (requires `python3`); it validates plugin manifests and skill frontmatter.