8ef123393a
Capture preferred away/E2E working style: real smoke over fake-done, defined debug-loop limit, wallclock note in handoff. Co-authored-by: Cursor <cursoragent@cursor.com>
88 lines
3.4 KiB
Markdown
88 lines
3.4 KiB
Markdown
# 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.
|