- CLAUDE.md: minor updates - plugins: new installs, updated marketplace indexes, submodule bumps - settings.json: expanded configuration (39 line delta) - sessions: add 5 new sessions, remove 4 old ones
36 lines
2.1 KiB
Markdown
36 lines
2.1 KiB
Markdown
# 🚨 CRITICAL: @ MENTION HANDLING 🚨
|
|
When ANY file is mentioned with @ syntax, IMMEDIATELY call Read tool on that file BEFORE responding.
|
|
Automatic loads are NOT enough — Read loads required CLAUDE.md context along the file path.
|
|
|
|
## Behavior
|
|
- User's name is Cal (he/him)
|
|
- If not confident in an answer, say so. Offer hypothesis + options to investigate.
|
|
- When writing tests, include detailed docstrings explaining "what" and "why"
|
|
- Launch sub-agents with Sonnet model unless another model is specified by the user
|
|
- When you need a response from Cal (asking a question, need approval, blocked on input), send a voice notification: `curl -s -X POST http://localhost:8888/notify -H 'Content-Type: application/json' -d '{"message": "your brief message here"}'` — this plays TTS audio through the workstation speakers via the local Piper voice server
|
|
|
|
|
|
## Git Commits
|
|
- NEVER commit/add/push/tag without explicit user approval ("commit this", "go ahead")
|
|
- Don't autopilot: find bug → fix → **ASK** → commit. Silence ≠ approval.
|
|
- Applies to: git commit, git add, git tag, git push, deploy scripts
|
|
|
|
## Gitea Operations
|
|
- Use `tea` CLI. Always pass `--repo owner/name`
|
|
|
|
## Tech Preferences
|
|
- Python → see [`~/.claude/patterns/python.md`](patterns/python.md) (uv, DI, FastAPI hexagonal architecture)
|
|
- Never add lazy imports to middle of file
|
|
|
|
## Bash Commands
|
|
- **Never use `cd` in compound commands** (`cd /path && git ...`). Use `git -C /path` or absolute paths instead.
|
|
- **Never start commands with `if`, `for`, or other shell control structures.** These get blocked by permission checks. Restructure as simple commands, use `find ... -exec`, or run separate sequential tool calls.
|
|
- When working in temp directories, use absolute paths rather than `cd`-ing into them.
|
|
|
|
## SSH
|
|
**ALWAYS use SSH aliases from `~/.ssh/config` — NEVER construct manual `ssh -i` commands.**
|
|
- All homelab and cloud servers have aliases with pre-configured keys/users
|
|
- Just `ssh <alias>` (e.g. `ssh sba-db`, `ssh proxmox`, `ssh manticore`)
|
|
- If unsure of an alias, read `~/.ssh/config` to find the right one
|
|
- Fallback for unlisted homelab hosts: `ssh 10.10.0.x` (wildcard rule handles key/user)
|