--- description: Analizează conversația și propune lecții de salvat argument-hint: [auto|patterns|gotchas] - Detectare automată sau categorie specifică --- # Analiză Conversație pentru Lecții Examinează conversația curentă și identifică insights pentru documentație. ## Workflow ### Pas 0: Încarcă Configurația Domeniilor Citește `.claude/rules/claude-learn-domains.md` pentru lista domeniilor disponibile. Dacă fișierul nu există, creează-l din template cu domeniile implicite: - backend, frontend, database, testing, deployment, global ### Pas 1: Scanează Conversația Identifică: - **Fișiere accesate**: toate path-urile din Read, Edit, Write, Glob, Grep - **Tool calls cu erori** → potențiale gotchas - **Soluții aplicate** → potențiale patterns - **Decizii tehnice** → posibile reguli noi ### Pas 2: Detectează Domeniul #### 2.1 Extrage Path-uri Colectează toate path-urile fișierelor din conversație: ``` src/api/users.ts src/api/middleware/auth.ts tests/api/users.test.ts ``` #### 2.2 Match-uiește cu Domeniile Pentru fiecare path, verifică contra patterns din config: - `src/api/**/*.ts` → backend - `tests/**/*.test.ts` → testing #### 2.3 Determină Domeniul Predominant Alege domeniul cu cele mai multe match-uri. Dacă egalitate → preferă în ordine: backend > frontend > database > testing > deployment > global #### 2.4 Prezintă Utilizatorului ``` 📁 Domeniu detectat: backend (bazat pe src/api/users.ts, src/api/middleware/auth.ts) Este corect? [y/n/altul] ``` Răspunsuri posibile: - **y** → continuă cu domeniul detectat - **n** → listează toate domeniile disponibile pentru selecție - **altul** sau **nume-nou** → creează domeniu nou (vezi Pas 3) ### Pas 3: Creare Domeniu Nou (dacă e cazul) Când utilizatorul introduce un nume de domeniu care nu există: #### 3.1 Propune Patterns Automat Bazat pe path-urile din conversație, generalizează: ``` scripts/deploy.sh → scripts/**/*.sh ansible/roles/web/tasks/main.yml → ansible/**/*.yml ``` Algoritm: 1. Extrage primele 2 nivele de directoare: `scripts/`, `ansible/` 2. Extrage extensia: `.sh`, `.yml` 3. Generează glob: `{dir}**/*{ext}` #### 3.2 Prezintă pentru Confirmare ``` 📁 Domeniu nou: "devops" Bazat pe fișierele din conversație, propun aceste patterns: scripts/**/*.sh ansible/**/*.yml Accept? [y/edit/+more] ``` #### 3.3 Salvează Domeniul - Adaugă în `.claude/rules/claude-learn-domains.md` - Creează `.claude/rules/claude-learn-{domain}.md` cu frontmatter ### Pas 4: Generează Propuneri de Lecții Ce să cauți: #### Patterns (Soluții Repetabile) - Abordări care au funcționat bine - Configurații utile descoperite - Tehnici noi aplicate cu succes - Workflow-uri eficiente #### Gotchas (Capcane de Evitat) - Erori întâlnite și cum s-au rezolvat - Confuzii cauzate de documentație - Comportamente neașteptate - Anti-patterns descoperite Format pentru fiecare insight: ``` **[PATTERN/GOTCHA] Titlu Scurt** - **Categorie**: patterns | gotchas - **Descriere**: Ce s-a învățat - **Context**: În ce situație e relevant - **Exemplu**: Cod sau pași concreți - **Tags**: [tag1, tag2, tag3] ``` ### Pas 5: Prezintă Utilizatorului ``` 📚 Am identificat {N} lecții din această conversație: 1. [PATTERN] {Titlu} {Descriere scurtă} 2. [GOTCHA] {Titlu} {Descriere scurtă} 📁 Domeniu: {domain} Care dintre acestea vrei să le salvez? - [1, 2, 3] - Selectează specific - [all] - Toate - [none] - Niciuna - [edit N] - Modifică propunerea N ``` ### Pas 6: Salvează în Fișierul Domeniului Salvează în `.claude/rules/claude-learn-{domain}.md` Dacă fișierul nu există, creează-l din template cu frontmatter corect. Format Pattern: ```markdown ### {Titlu} **Discovered**: {YYYY-MM-DD} (feature: {context}) **Description**: {descriere} **Example** (`{file}:{lines}`): \```{language} {code} \``` **Tags**: {tags} --- ``` Format Gotcha: ```markdown ### {Titlu} **Discovered**: {YYYY-MM-DD} (feature: {context}) **Problem**: {problema} **Solution**: {soluția} **Tags**: {tags} --- ``` ### Pas 7: Actualizează Statistici La sfârșitul fișierului domeniului, actualizează: - Incrementează Total Patterns/Gotchas - Actualizează Last Session la data curentă - Incrementează Sessions Recorded ### Pas 8: Confirmă ``` ✅ Salvat în claude-learn-{domain}.md: - {N} patterns adăugate - {M} gotchas adăugate Statistici {domain}: {X} patterns, {Y} gotchas total ``` --- ## Argument: $ARGUMENTS Dacă argumentul este: - `auto` sau gol → detectează toate categoriile - `patterns` → focus doar pe patterns - `gotchas` → focus doar pe gotchas --- ## Compatibilitate Înapoi Dacă există fișierul vechi `claude-learn-memory.md` fără frontmatter: ``` ⚠️ Detectat format vechi de memorie (claude-learn-memory.md) Vrei să migrez memoria existentă către noul sistem cu domenii? [y/n] - y → rulează /learn:import pe fișierul vechi - n → continuă fără migrare ```