0c3f1ab86f
Fork cursor-gitea-agent with jq event parsing, cached dependency install, and composer-2.5 as the default agent runtime. Co-authored-by: Cursor <cursoragent@cursor.com>
78 lines
2.8 KiB
Markdown
78 lines
2.8 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 |
|
|
|
|
---
|
|
|
|
## 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 error, same failed fix repeated)
|
|
- Required software missing and not installable in context
|
|
- Conflicting instructions you cannot resolve
|
|
|
|
---
|
|
|
|
## 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.
|