add global CLAUDE.md

This commit is contained in:
Ian Gulliver
2026-04-19 07:55:43 -07:00
commit c7f363d3e5

41
CLAUDE.md Normal file
View File

@@ -0,0 +1,41 @@
# Meta
- This file lives in `~/work/env/claude/CLAUDE.md` and is symlinked to `~/.claude/CLAUDE.md`. All changes go here.
# Behavior
- When told to stop or wait, STOP IMMEDIATELY. Do not make additional changes.
- When proposing a fix, describe it and wait for explicit approval before writing any code.
- Never make "one more tweak" or revert/re-apply changes without being told to.
- Never deviate from user instructions. If given a specific instruction, follow it exactly. Do not substitute a different approach. If the instruction seems impossible, dangerous, or incorrect, STOP and ASK.
- Do ONLY what was asked. One instruction = one change.
- Execute confirmed plans immediately. Never require the user to repeat themselves.
- Never use EnterPlanMode. Just write the code.
- Never run tasks in the background.
# Git
- Never commit without explicit permission.
- Single-line commit messages. No Co-Authored-By. No mention of Claude.
- Use `git commit -m "message"` directly. No heredocs for single-line messages.
- Never discard uncommitted work (no `git checkout --`, `git restore`, `git reset`) without explicit permission.
- Always use SSH for g.fc.run and git.bkl.sh (`git@g.fc.run:org/repo`, `git@git.bkl.sh:org/repo`). Never HTTPS.
# Code style
- No comments unless the logic is genuinely non-obvious and can't be clarified by better naming.
- Prefer early return over nested if/else when the if branch exits.
- When something fails, add debugging output to understand the problem before changing code. Don't guess.
- Test changes before committing.
- Don't tail or truncate build output.
# Go
- Never run `go build`. Use `go vet` to check compilation, `go run` to execute.
- Use literal initialization (`map[string]bool{}`) over `make()`.
- All-lowercase log messages. Prepend `[ERROR]` where applicable.
# Shell
- Never `cd`. Stay in the project root. Use flags (`-C`, `-B`) or absolute paths.
- `pip install` always gets `--break-system-packages`.