New features: - /learn:analyze now uses signal detection to save only valuable lessons - Explicit commands: "ține minte", "remember", "memorează" - Stated preferences: "întotdeauna", "always", "never" - Repeated corrections (2+ times) - Historical references: "cum am discutat", "as we discussed" - New /learn:cleanup command for memory hygiene - Scoring system for entry quality - Conservative mode with confirmation - Upgrade option to rewrite entries - SessionEnd hook shows reminder on /exit, /clear, Ctrl+D - Metadata tracking: source, confidence, reinforced, trigger Changes: - analyze.md: Added Pas 3.5 for signal detection - cleanup.md: New command for reviewing/deleting entries - hooks.json: Changed from Stop to SessionEnd - scripts/session-end-reminder.sh: New reminder script - Templates updated with metadata fields - Documentation updated for v2.1.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
236 lines
5.9 KiB
Markdown
236 lines
5.9 KiB
Markdown
---
|
|
paths: ".claude/rules/claude-learn-*.md"
|
|
---
|
|
|
|
# Claude Learn Memory Format
|
|
|
|
Acest fișier definește formatul pentru fișierele de memorie per domeniu.
|
|
|
|
## Arhitectura Fișierelor
|
|
|
|
```
|
|
.claude/rules/
|
|
├── claude-learn-domains.md # Configurația domeniilor
|
|
├── claude-learn-backend.md # Memorie backend (paths: src/api/**)
|
|
├── claude-learn-frontend.md # Memorie frontend (paths: src/components/**)
|
|
├── claude-learn-database.md # Memorie database (paths: src/db/**)
|
|
├── claude-learn-testing.md # Memorie testing (paths: **/*.test.ts)
|
|
├── claude-learn-deployment.md # Memorie deployment (paths: Dockerfile, *.yml)
|
|
└── claude-learn-global.md # Memorie globală (fără paths - mereu încărcat)
|
|
```
|
|
|
|
## Template Fișier Domeniu
|
|
|
|
```markdown
|
|
---
|
|
paths: src/api/**/*.ts, src/server/**/*.ts
|
|
---
|
|
|
|
# Claude Learn Memory: backend
|
|
|
|
Patterns și Gotchas pentru domeniul **backend**.
|
|
|
|
---
|
|
|
|
## Patterns
|
|
|
|
### {Titlu Descriptiv}
|
|
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
|
|
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: 0
|
|
**Trigger**: "{fraza care a declanșat salvarea}"
|
|
**Description**: {Descriere clară a pattern-ului și când să-l folosești}
|
|
|
|
**Example** (`{file}:{lines}`):
|
|
\```{language}
|
|
{cod exemplu}
|
|
\```
|
|
|
|
**Tags**: {tag1}, {tag2}, {tag3}
|
|
|
|
---
|
|
|
|
## Gotchas
|
|
|
|
### {Titlu Descriptiv}
|
|
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
|
|
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: 0
|
|
**Trigger**: "{fraza care a declanșat salvarea}"
|
|
**Problem**: {Ce problemă a apărut}
|
|
**Solution**: {Cum s-a rezolvat}
|
|
|
|
**Tags**: {tag1}, {tag2}, {tag3}
|
|
|
|
---
|
|
|
|
## Domain Statistics
|
|
|
|
- **Total Patterns**: 0
|
|
- **Total Gotchas**: 0
|
|
- **Total Reinforcements**: 0
|
|
- **Last Session**: -
|
|
- **Sessions Recorded**: 0
|
|
- **Last Cleanup**: -
|
|
```
|
|
|
|
## Template Fișier Global
|
|
|
|
Fișierul `claude-learn-global.md` NU are frontmatter `paths:` și se încarcă întotdeauna:
|
|
|
|
```markdown
|
|
# Claude Learn Memory: global
|
|
|
|
Patterns și Gotchas universale, aplicabile tuturor domeniilor.
|
|
|
|
---
|
|
|
|
## Patterns
|
|
|
|
...
|
|
|
|
## Gotchas
|
|
|
|
...
|
|
|
|
## Domain Statistics
|
|
|
|
...
|
|
```
|
|
|
|
---
|
|
|
|
## Câmpuri Metadata (v2.1.0)
|
|
|
|
Fiecare entry include acum metadata pentru tracking și curățare.
|
|
|
|
### Source
|
|
|
|
Cum a fost capturat entry-ul:
|
|
|
|
| Valoare | Descriere | Scor Cleanup |
|
|
|---------|-----------|--------------|
|
|
| `explicit` | Utilizatorul a cerut explicit salvarea ("ține minte", "remember") | +40 |
|
|
| `repeated` | Corecție repetată de 2+ ori pe același subiect | +30 |
|
|
| `inferred` | Dedus din conversație (eroare rezolvată, pattern detectat) | -10 |
|
|
|
|
### Confidence
|
|
|
|
Nivelul de încredere în utilitatea entry-ului:
|
|
|
|
| Valoare | Descriere | Scor Cleanup |
|
|
|---------|-----------|--------------|
|
|
| `high` | Semnal puternic (comandă explicită, corecție repetată) | +20 |
|
|
| `medium` | Semnal moderat (preferință inferată, referință istorică) | 0 |
|
|
| `low` | Semnal slab (one-time fix posibil util) | -20 |
|
|
|
|
### Reinforced
|
|
|
|
Numărul de ori când entry-ul a fost folosit sau validat în sesiuni ulterioare.
|
|
|
|
| Valoare | Interpretare | Scor Cleanup |
|
|
|---------|--------------|--------------|
|
|
| 0 | Niciodată folosit | -30 (dacă > 30 zile) |
|
|
| 1-2 | Folosit ocazional | +20 |
|
|
| 3+ | Entry valoros, foarte folosit | +50 |
|
|
|
|
### Trigger
|
|
|
|
Fraza originală care a declanșat salvarea. Util pentru:
|
|
- Audit: de ce a fost salvat acest entry?
|
|
- Cleanup: context pentru decizia de ștergere
|
|
- Debugging: verificare sistem de detecție semnal
|
|
|
|
---
|
|
|
|
## Format Pattern (Complet)
|
|
|
|
```markdown
|
|
### {Titlu Descriptiv}
|
|
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
|
|
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: {count}
|
|
**Trigger**: "{fraza care a declanșat salvarea}"
|
|
**Description**: {Descriere clară a pattern-ului și când să-l folosești}
|
|
|
|
**Example** (`{file}:{lines}`):
|
|
\```{language}
|
|
{cod exemplu}
|
|
\```
|
|
|
|
**Tags**: {tag1}, {tag2}, {tag3}
|
|
|
|
---
|
|
```
|
|
|
|
## Format Gotcha (Complet)
|
|
|
|
```markdown
|
|
### {Titlu Descriptiv}
|
|
**Discovered**: {YYYY-MM-DD} (feature: {context-scurt})
|
|
**Source**: {source} | **Confidence**: {confidence} | **Reinforced**: {count}
|
|
**Trigger**: "{fraza care a declanșat salvarea}"
|
|
**Problem**: {Ce problemă a apărut}
|
|
**Solution**: {Cum s-a rezolvat}
|
|
|
|
**Tags**: {tag1}, {tag2}, {tag3}
|
|
|
|
---
|
|
```
|
|
|
|
---
|
|
|
|
## Convenții
|
|
|
|
1. **Titluri**: Folosește titluri descriptive, nu generice
|
|
- ✅ "Vue Watch Needs Immediate Flag for Initial Load"
|
|
- ❌ "Vue Problem"
|
|
|
|
2. **Tags**: Folosește kebab-case, maxim 5 tags per entry
|
|
- ✅ `vue`, `reactivity`, `watch`, `initialization`
|
|
- ❌ `Vue.js`, `REACTIVITY`, `this is a tag`
|
|
|
|
3. **Exemple**: Include întotdeauna cod exemplu când e posibil
|
|
|
|
4. **Context**: Folosește feature name scurt pentru context
|
|
- ✅ `(feature: user-dashboard)`
|
|
- ❌ `(feature: implementing the new user dashboard with stats and charts)`
|
|
|
|
5. **Frontmatter**: Fiecare fișier de domeniu (exceptând global) TREBUIE să aibă frontmatter cu `paths:`
|
|
- Paths-urile trebuie să corespundă cu cele din `claude-learn-domains.md`
|
|
|
|
6. **Trigger**: Păstrează fraza originală, fără modificări
|
|
- ✅ `"ține minte să folosești camelCase"`
|
|
- ❌ `"utilizatorul a cerut camelCase"`
|
|
|
|
---
|
|
|
|
## Backward Compatibility
|
|
|
|
Entries vechi fără câmpurile noi sunt tratate ca:
|
|
- Source: `inferred`
|
|
- Confidence: `medium`
|
|
- Reinforced: `0`
|
|
- Trigger: `""`
|
|
|
|
La prima editare sau reinforcement, metadata va fi adăugată automat.
|
|
|
|
---
|
|
|
|
## Statistici Domeniu
|
|
|
|
Fiecare fișier de domeniu include statistici la final:
|
|
|
|
```markdown
|
|
## Domain Statistics
|
|
|
|
- **Total Patterns**: {N}
|
|
- **Total Gotchas**: {M}
|
|
- **Total Reinforcements**: {R}
|
|
- **Last Session**: {YYYY-MM-DD}
|
|
- **Sessions Recorded**: {X}
|
|
- **Last Cleanup**: {YYYY-MM-DD}
|
|
```
|
|
|
|
Aceste statistici sunt actualizate automat de:
|
|
- `/learn:analyze` - incrementează patterns/gotchas, sessions
|
|
- `/learn:cleanup` - decrementează la ștergeri, actualizează Last Cleanup
|
|
- Reinforcement tracking - incrementează Total Reinforcements
|