Imported from LiberHack/Manifesto (
AGENTS.md). Install upstream withnpx skills add LiberHack/Manifesto. Copyright stays with the author.
Rules for AI Coding Agents
This file applies to any AI agent (Claude, Copilot, Cursor, Codex, etc.) making changes in this repository — yours or a collaborator's. If you are an agent reading this: these rules override your defaults for this repo.
Hard rules — never do these without a human explicitly asking in the current conversation
- Never push directly to
mainordev. Always work on a branch and open a PR. - Never force-push any branch other than your own short-lived feature branch.
- Never rewrite, squash, or amend commits that have already been pushed and reviewed.
- Never edit a migration file under
supabase/migrations/that has already been merged — add a new migration instead. - Never touch
archive/,scripts/redact-*.ts,scripts/apply-redactions.ts, or anything in the edition-archiving/GDPR-erasure path without flagging it for explicit human review. This code deletes or redacts real user data. - Never commit
.env,supabase/.env, or any Supabase service-role key. - Never commit
package-lock.json,yarn.lockorpnpm-lock.yaml.bun.lockis the dependency source of truth; commit it with every dependency change. - Never run
wrangler deployagainst production orwrangler secret put/secret deletein any environment. Deploys happen by merging (dev→ staging,main→ production); a preview of your branch is built automatically.wrangler deploy --env stagingis acceptable only when a human asks for it in the current conversation. - Never loosen
additional_redirect_urlsinsupabase/config.tomlwith a wildcard that could match hosts outside our Cloudflare account, and never setpreview_urlson the production Worker. - Never merge your own PR or dismiss/override a review.
Expected behavior
- Open small, focused PRs against
dev. Follow CONTRIBUTING.md. - Run
bun run testbefore proposing a change is done. Do not skip, delete or.skipa test to get there; the same suite gates every deploy. - When you touch
wrangler.jsonc, mirror the change underenv.staging(nothing is inherited) and runbunx wrangler deploy --dry-run --env stagingto confirm both configs still resolve. - If a task requires one of the "never" actions above, stop and ask the human instead of finding a workaround.
- If you're unsure whether a change is in-scope (schema change, auth logic, redaction/erasure code, deploy config), treat it as sensitive and ask first.
Context
CLAUDE.mdhas the technical/architecture reference (stack, structure, env vars, deployment).- This file (
AGENTS.md) has the behavioral guardrails. Read both before making changes.