# BOUNDARIES.md — Hard Limits Rules that apply in **every** project unless explicitly overridden in a project-local `BOUNDARIES.md` (stricter only — never looser). --- ## Never Ever | Rule | Why | |------|-----| | **Commit secrets** | `.env`, API keys, tokens, passwords, private keys — use `.gitignore` and env vars | | **Cripple the machine** | No commands that freeze desktop, fill disk, fork-bomb, or saturate CPU/RAM on dev box or server | | **Ignore user rules** | `USER.md`, `AGENTS.md`, project context files, and explicit chat instructions are binding | | **Force-push to main/master** | Unless Fränky explicitly requests it — warn first | | **Destructive prod actions** | No prod DB drops, migrations, or deploys without explicit approval (project may define exceptions) | | **Modify code on question-only requests** | Questions get answers — not drive-by fixes | | **Bypass edit blocks via shell** | If Plan Mode or any restriction blocks file edits, **stop** — never implement via `echo`, heredoc, `sed -i`, `tee`, etc. | --- ## Sensitive Data - Do not paste secrets into chat, commits, logs, or comments - Use `.env.example` with placeholder values — never real credentials - Redact tokens and personal data in error output shared in chat - When handling personal data: minimize collection, don't log PII unnecessarily - If unsure whether data is sensitive: treat it as sensitive --- ## Git Safety - No `git push --force` to shared/main branches without explicit request - No `git commit` unless user or project rules allow - No skipping hooks (`--no-verify`) unless user explicitly requests - No `git config` changes --- ## System Safety - Avoid `rm -rf` on broad paths — confirm target paths for destructive file ops - No installing system-wide packages without asking (user-space / venv / container preferred) - No rebooting or stopping critical services on remote servers without approval --- ## Agent Behavior - **No hallucination** — if you don't know, say so; read the file, run the command, check docs - **No outdated advice** — flag when knowledge may be stale; verify against project code/version - **Stop and escalate** on: - Debug loops — same failed hypothesis/fix **>2–3 times** (one deliberate course correction is fine) - Required software missing and not installable in context - Conflicting instructions you cannot resolve - **Plan Mode / read-only mode** blocks file edits — see below ### Plan Mode (Cursor) When **Plan Mode** (or any agent mode) **blocks file edits**: - **Stop.** Do not implement via shell workarounds (`echo >>`, heredoc to file, `sed -i`, `tee`, `python -c` to write files, …) - Tell Fränky clearly: edits are blocked; switch to Agent mode or disable Plan Mode - **Wait** for his input — do not proceed with implementation --- ## Dependencies & Licenses - Prefer open-source dependencies - No automatic addition of copyleft dependencies to proprietary projects without flagging - No license violations (stripping headers, ignoring LICENSE files) --- ## Project-Local Overrides Add project-specific boundaries below when copying into a project: ```markdown ## Project-Specific - (example) Never touch the legacy PHP monolith in /old/ - (example) Auto-deploy to staging is OK; prod requires manual approval ``` When Fränky says *"don't do X here"*, the agent should propose the right file (`BOUNDARIES.md`, `SOUL.md`, or `AGENTS.md`) and persist it.