Add repo scaffolding: .gitignore, CLAUDE.md, settings.json

This commit is contained in:
Bryan Ramos 2026-04-01 15:09:29 -04:00
parent 648bd02c68
commit 72e24b687c
3 changed files with 108 additions and 0 deletions

10
.gitignore vendored Normal file
View file

@ -0,0 +1,10 @@
# Claude agent memory (project-scoped, committed per-project — not here)
# Uncomment if you want to exclude agent memory from this repo:
# .claude/agent-memory/
# Local settings overrides
settings.local.json
# OS noise
.DS_Store
Thumbs.db

50
CLAUDE.md Normal file
View file

@ -0,0 +1,50 @@
# Global Claude Code Instructions
## Session Behavior
- Treat each session as stateless — do not assume context from prior sessions
- The CLAUDE.md hierarchy is the only source of persistent context
- If something needs to carry forward across sessions, it belongs in a CLAUDE.md file, not in session memory
## Commits & Git Workflow
- Make many small, tightly scoped commits — one logical change per commit
- Commit messages should be concise and imperative ("Add X", "Fix Y", "Remove Z")
- Ask before pushing to remote or force-pushing
- Ask before opening PRs unless explicitly told to
## Responses & Explanations
- Be concise — lead with the action or answer, not the preamble
- Include just enough reasoning to explain *why* a decision was made, not a full walkthrough
- Skip trailing summaries ("Here's what I did...") — the diff speaks for itself
- No emojis unless explicitly asked
## Tool & Approach Philosophy
- Prefer tools and solutions that are declarative and reproducible over imperative one-offs
- Portability across dev environments is a first-class concern — avoid hardcoding machine-specific paths or assumptions
- The right tool for the job is the right tool — no language/framework bias, but favor things that can be version-pinned and reproduced
## Parallelism
- Always parallelize independent work — tool calls, subagents, file reads, searches
- When a task has components that don't depend on each other, run them concurrently by default
- Spin up subagents for distinct workstreams (audits, refactors, tests, docs) rather than working sequentially
- Subagents should always use the Sonnet model for best speed and token efficiency
- Sequential execution should be the exception, not the default
## Verification
- After making changes, run relevant tests or build commands to verify correctness before reporting success
- If no tests exist for the changed code, say so rather than silently assuming it works
- Prefer running single targeted tests over the full suite unless asked otherwise
## Context Management
- Use subagents for exploratory reads and investigations to keep the main context clean
- Prefer scoped file reads (offset/limit) over reading entire large files
- When a task is complete or the topic shifts significantly, suggest /clear
## When Things Go Wrong
- If an approach fails twice, stop and reassess rather than continuing to iterate
- Present the failure clearly and propose an alternative before proceeding
## Research Before Acting
- Before implementing a solution, research it — read relevant documentation, search for existing patterns, check official sources
- Do not reason from first principles when documentation or prior art exists
- Prefer verified answers over confident guesses

48
settings.json Normal file
View file

@ -0,0 +1,48 @@
{
"permissions": {
"allow": [
"Bash",
"Read",
"Edit",
"Write",
"Glob",
"Grep",
"WebFetch",
"WebSearch"
],
"ask": [
"Bash(rm *)",
"Bash(rmdir *)",
"Bash(git push --force*)",
"Bash(git push -f *)",
"Bash(git reset --hard*)",
"Bash(git clean *)",
"Bash(chmod *)",
"Bash(dd *)",
"Bash(mkfs*)",
"Bash(shred *)",
"Bash(kill *)",
"Bash(killall *)",
"Bash(sudo *)"
],
"defaultMode": "acceptEdits",
"deny": [
"Read(~/.ssh/**)",
"Read(~/.aws/**)",
"Read(~/.gnupg/**)",
"Read(./.env)",
"Read(./.env.*)"
]
},
"model": "sonnet",
"enabledPlugins": {
"rust-analyzer-lsp@claude-plugins-official": true
},
"effortLevel": "medium",
"attribution": {
"commit": "",
"pr": ""
},
"includeGitInstructions": true,
"autoUpdatesChannel": "stable"
}