The hard rules move from the goal tree into a proper AGENTS.md at the capsite root (discoverable by agents without reading the tree; the workspace AGENTS.md's commit-trailer policy stays where it is, linked). Checklist keeps a one-line pointer, so a continuation prompt still surfaces them. Error hygiene (no header/param values in messages) groups with secrets discipline there rather than as its own rule. Generated-by: opencode (GLM)
28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# 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). |