claude-configs/CLAUDE.md
Cal Corum 8642bb539a Migrate Gitea ops to MCP, update Paper Dynasty skill, sync plugins
- CLAUDE.md + commit-push-pr: prefer gitea-mcp over tea CLI
- Paper Dynasty: updated api_client, cli, distribute_packs
- New skill: resume-tailoring
- Plugins: updated marketplaces, blocklist, install counts
- Settings and MCP config updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 18:59:49 -06:00

44 lines
2.3 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
**Prefer the `gitea-mcp` MCP server** for all Gitea operations (PRs, issues, branches, labels, releases, Actions).
- MCP tools use `owner` + `repo` params (e.g. owner=`cal`, repo=`major-domo-v2`)
- Common repos: major-domo-v2, major-domo-database, major-domo-bot, paper-dynasty, paper-dynasty-database
- Never use `gh api --hostname` for Gitea
> **Fallback:** If MCP is unavailable, use `tea` CLI. Always pass `--repo owner/name`.
## 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`