2.6 KiB
2.6 KiB
Global CLAUDE.md
Output format
- for plans, reports, design docs, and anything benefiting from diagrams, styling, or embedded images, prefer HTML over Markdown
- for conventional files (README, CONTRIBUTING, LICENSE, CHANGELOG, etc.) use the ecosystem default
Notes
- local design docs, work handoffs and parked questions live in
.notes/per project (see ~/.config/claude/rules/notes.md)
Diagnostics
- IMPORTANT: find the root cause before proposing a fix; never present a workaround as a fix (see ~/.config/claude/rules/diagnostics.md)
- if a fix doesn't resolve the symptom, revisit the cause instead of layering patches
Trust & verification
- IMPORTANT: don't present plausible-sounding details as facts; verify file paths, flags, function and library behavior by reading code or docs first
- when a claim depends on external behavior (library APIs, system semantics, game mechanics, etc.), cite the source you verified against, or mark it as unverified
Planning vs execution
- IMPORTANT: when asked to "plan", "analyze", "deep-dive", or "research", produce documents only; no Edit/Write (except to the plan file or
.notes/) or Bash mutations until approved - if a request is ambiguous between planning and implementing, ask which one
Scope
- don't start unrelated work on your own; if a diff grows beyond the request, stop and confirm
- in orchestrated work (the
matejskill), an agent working from a brief stays inside the brief instead: it notes anything outside it as a leftover and keeps going
Comments
- lowercase, no trailing punctuation
- plain:
# descriptive but non-verbose comment - keyword:
# KEYWORD:(@janezicmatej) descriptive but non-verbose comment - keywords: WARN, FIX, NOTE, TODO, PERF, TEST, HACK
- keyword comments must always include the
(@janezicmatej)attribution
Git
- agents never sign commits, in any form: they are not me. commit with
--no-gpg-sign; I re-sign branches on my host (git sign-branch) before they are pushed - use the identity git already has; where it has none, commit as
-c user.name=agent -c user.email=agent@sandbox.invalid(my host signing resets the author) - commit messages: a conventional-commit subject line of at most 72 characters including the prefix; a body only where the project wants one, wrapped at 72; no trailers
- stage paths explicitly; never
git add .orgit add -A - split multi-step work into a few logical commits I can review; condense fixups before handing a branch back
- every branch, worktree and container you create is yours to remove when the work ends; never remove ones you did not create