Files
claude-plugins/plugins/learn/commands/analyze.md
Claude Agent d6c71536e7 feat: v2.0.0 - Domain-based memory + multi-plugin marketplace structure
## Domain-based Memory (v2.0.0)
- Memory split into domains (backend, frontend, database, testing, deployment, global)
- Selective loading via `paths` frontmatter - only relevant memories load
- Automatic domain detection from file paths in conversation
- Auto-generated glob patterns when creating new domains
- Cross-domain analysis in /learn:reflect

## Repository Reorganization
- Restructured for multi-plugin marketplace: plugin/ → plugins/learn/
- Marketplace renamed: romfast-tools → romfast-plugins
- Repository to be renamed on Gitea: claude-learn → claude-plugins

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 21:45:31 +00:00

4.9 KiB

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:

### {Titlu}
**Discovered**: {YYYY-MM-DD} (feature: {context})
**Description**: {descriere}

**Example** (`{file}:{lines}`):
\```{language}
{code}
\```

**Tags**: {tags}

---

Format Gotcha:

### {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