Claude Code v2.1
Modulul 03 · 30 min

Directorul .claude/

Agents, commands, rules, hooks, settings — tot ce configureaza comportamentul agentului.

Structura

.claude/
├── agents/           # Subagenti specializati
│   ├── architect.md  # Design review, analiza arhitecturala
│   ├── reviewer.md   # Code review, securitate, calitate
│   ├── researcher.md # Research documentatie, evaluare librarii
│   └── qa.md         # Test strategy, coverage gaps
├── commands/         # Comenzi slash personalizate
│   ├── obsidian-sync.md
│   ├── daily-note.md
│   └── adr-create.md
├── rules/            # Reguli path-scoped
│   └── obsidian-docs.md
├── hooks/            # Automatizari
│   └── stop.sh
├── settings.json     # Permisiuni si configurare
└── memory.json       # Knowledge graph (MCP)

Agents — Delegarea muncii

Agentii sunt subprocese specializate pe care agentul principal le poate lansa pentru task-uri specifice. Fiecare agent are un model, un set de tool-uri si un mod de permisiuni propriu.

🏗️architectopus

System design, architecture decisions, tech debt assessment

🔍reviewersonnet

Code review cu focus pe securitate, performanta, calitate

📚researchersonnet

Research documentatie, evaluare librarii, pattern research

🧪qasonnet

Test strategy, coverage analysis, edge case identification

Format-ul unui fisier agent:

---
name: architect
description: System design, architecture decisions...
tools: Read, Glob, Grep
model: opus
permissionMode: plan
---

Esti un software architect. Analizezi structura codului,
identifici pattern-uri, evaluezi tech debt si propui
imbunatatiri arhitecturale.

Nu modifici cod direct. Outputezi numai analiza si recomandari.

ℹ️ De ce model diferit?

Architect-ul foloseste opus (cel mai capabil) pentru decizii complexe. Ceilalti folosesc sonnet (mai rapid, mai ieftin) pentru task-uri mai focus.

💡 Regula de delegare

Implementarea se face in-session. Research si review se deleaga catre subagenti. Subagentii au ~70% calitate fata de munca in-session si costa 2-3K tokens la lansare.

Commands — Comenzi slash

Comenzile slash standardizeaza actiuni repetitive. In loc sa descrii de fiecare data ce vrei, tastezi comanda.

/obsidian:syncSincronizeaza sesiunea in vault — creeaza session note, marcheaza task-uri done, creeaza ADR-uri daca e cazul
/obsidian:dailyCreeaza sau actualizeaza daily note in docs/10-gsd/today.md
/adr:new [titlu]Creeaza Architecture Decision Record nou cu template standardizat

Rules — Reguli path-scoped

Regulile se activeaza automat cand agentul lucreaza cu fisiere care se potrivesc cu glob-ul din frontmatter. Nu ocupa context cand nu sunt relevante.

---
globs: ["docs/**/*.md"]
---
# Obsidian Vault Conventions
- Frontmatter YAML obligatoriu
- Wikilinks interne
- Claude scrie NUMAI in directoarele autorizate

💡 Tip

Regulile sunt perfect pentru conventii per-director. De exemplu, fisierele din docs/au alte reguli decat codul din src/.

Hooks — Automatizare

Hook-urile sunt scripturi care se ruleaza automat la anumite evenimente. In sistemul v2.1, avem un Stop hook care se executa la finalul fiecarei sesiuni:

  • Verifica ca STATE.md a fost actualizat recent (< 5 minute)
  • Genereaza o session note in docs/30-sessions/
  • Emite un warning daca STATE.md nu e fresh

Configurat in settings.json:

"hooks": {
  "Stop": [{
    "hooks": [{
      "type": "command",
      "command": "bash .claude/hooks/stop.sh"
    }]
  }]
}

⚠️ Atentie

Hook-urile aplica disciplina automat. Chiar daca uiti sa sincronizezi, hook-ul Stop o face. E mai bine decat sa te bazezi pe memorie.

Settings — Permisiuni si configurare

settings.json defineste trei categorii de permisiuni:

  • allow — actiuni permise fara confirmare (Read, Glob, git operations, edit docs)
  • deny — actiuni blocate permanent (rm -rf, sudo, acces la .env)
  • ask — actiuni care necesita confirmare (git push, WebFetch)

Include si un PreToolUse hook care blocheaza comenzi periculoase inainte de executie.

Exercitiu

Deschide fiecare fisier din .claude/agents/ si observa diferentele: ce tools au, ce model folosesc, ce instructiuni primesc. Apoi verificasettings.json si identifica ce actiuni sunt in allow vs deny vs ask.

Verifica-ti cunostintele

Care agent foloseste modelul opus (cel mai capabil)?