# capsite working rules Applies to AI agents working in `capsite/` (goal tree + how-to-run: [capsite-checklist.md](capsite-checklist.md); background: [the capsite notes](capsite-notes.md); workspace-wide policy: [AGENTS.md](../AGENTS.md) — commit trailers live there). ## Dev servers are the user's job The assistant never starts, stops, or restarts long-running dev servers (`wrangler dev`, `pnpm dev`/`astro dev`). The user runs them and owns the terminals; the assistant observes via `.tmp/capsite.script` (the `script` capture; use `watchme`). One-shot codegen (`wrangler types`), linters, typechecks, and tests are fine. ## Secrets discipline Worker secrets never in source or wrangler config. `.dev.vars` (gitignored) locally; `wrangler secret put` deployed. As of the DO split, the cookie lives only in the webapp DO's storage; `DIIGO_WEB_ID` is the one diigo-dump secret. Error messages must not contain header or param values (they cross RPC as exceptions and land in logs); URLs appear query-stripped. ## Keep config types generated Run `wrangler types` after any wrangler.jsonc change (`worker-configuration.d.ts` is generated, gitignored; hand-rolled `cloudflare:workers` shims drift and gave red squiggles).