- CLAUDE.md: SSH section now mandates aliases from ~/.ssh/config instead of manual commands - CLAUDE.md: Gitea tea CLI always passes --repo owner/name to avoid detection failures - MCP manager skill updates - Plugin blocklist and marketplace updates - Settings and MCP config sync Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
2.5 KiB
Markdown
44 lines
2.5 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
|
|
|
|
## 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
|
|
**ALWAYS use `tea` CLI for Gitea.** Never use `gh api --hostname`.
|
|
- Authenticated: `cal@homelab` (https://git.manticorum.com)
|
|
- **Always pass `--repo owner/name`** — tea can't auto-detect the repo from git remotes and fails with "path segment is empty"
|
|
- Common: `tea repos list`, `tea pulls list --repo cal/repo`, `tea issues list --repo cal/repo`
|
|
- Create PR: `tea pulls create --repo cal/repo --head <branch> --base main --title "Title" --description "Desc"`
|
|
- Common repos: cal/major-domo-v2, cal/major-domo-database, cal/major-domo-bot, cal/paper-dynasty, cal/paper-dynasty-database
|
|
|
|
## Tech Preferences
|
|
- Python with uv for package/environment management
|
|
- Utilize dependency injection pattern whenever possible
|
|
- Never add lazy imports to middle of file
|
|
|
|
## 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)
|
|
|
|
## Memory Protocol (Cognitive Memory)
|
|
- Skill: `~/.claude/skills/cognitive-memory/` | Data: `~/.claude/memory/`
|
|
- CORE.md auto-loads via MEMORY.md symlinks (no manual loading needed)
|
|
- Session start: Read `~/.claude/memory/REFLECTION.md` for theme context
|
|
- Auto-store on: bug fixes, git commits (mandatory, --episode), architecture decisions, patterns, configs
|
|
- Always tag: project name + technology + category
|
|
- Session end: prompt "Should I store today's learnings?"
|
|
- Full docs: `claude-memory --help` or `~/.claude/skills/cognitive-memory/SKILL.md`
|