Files
claude-plugins/plugins/learn/commands/import.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

201 lines
5.3 KiB
Markdown

---
description: Importă patterns și gotchas din alte fișiere de memorie
argument-hint: <file-path> - Calea către fișierul sursă (ex: .claude/rules/auto-build-memory.md)
---
# Import Memorie din Alt Fișier
Importă patterns și gotchas dintr-un fișier existent și le distribuie pe domenii.
## Argument: $ARGUMENTS
Calea către fișierul sursă. Exemple:
- `.claude/rules/auto-build-memory.md`
- `.claude/rules/claude-learn-memory.md` (format vechi, pentru migrare)
- `/path/to/other-project/.claude/rules/memory.md`
- `./backup/memories.json`
## Fișiere Suportate
- `.claude/rules/auto-build-memory.md` (format auto-build plugin)
- `.claude/rules/*.md` (orice fișier markdown cu secțiuni Patterns/Gotchas)
- Fișiere JSON cu structură `{patterns: [], gotchas: []}`
## Workflow
### 1. Verifică Fișierul Sursă
Dacă `$ARGUMENTS` este gol:
```
⚠️ Specifică fișierul sursă:
/learn:import .claude/rules/auto-build-memory.md
Fișiere comune de importat:
- .claude/rules/auto-build-memory.md (auto-build plugin)
- .claude/rules/claude-learn-memory.md (format vechi, pentru migrare)
- .claude/rules/*-memory.md (alte plugins)
```
### 2. Încarcă Configurația Domeniilor
Citește `.claude/rules/claude-learn-domains.md` pentru patterns.
Dacă nu există, creează-l din template.
### 3. Detectează Formatul și Extrage Entries
- Markdown cu `## Patterns` și `## Gotchas` → parsează secțiuni
- JSON cu array-uri → convertește direct
- Alt format → eroare cu instrucțiuni
Pentru fiecare pattern/gotcha găsit, extrage:
- Titlu (din ### heading)
- Descriere/Problem/Solution
- Tags (dacă există)
- Exemple cu path-uri (dacă există)
- Data descoperirii (dacă există, altfel data curentă)
### 4. Detectează Domeniul pentru Fiecare Entry
Pentru fiecare entry:
#### 4.1 Încearcă detectare din path-uri în exemple
```
**Example** (`src/api/users.ts:45`)
→ match cu src/api/**/*.ts → backend
```
#### 4.2 Dacă nu găsește path, încearcă din tags
```
**Tags**: api, middleware, express
→ "api" sugerează backend
```
#### 4.3 Dacă nici tags nu match-uiesc, marchează ca "unassigned"
### 5. Prezintă Preview cu Domenii
```
📥 Am găsit în {file}:
- {N} patterns
- {M} gotchas
Preview cu domenii detectate:
[backend] (5 entries)
1. [PATTERN] API Rate Limiting
2. [PATTERN] Error Response Format
3. [GOTCHA] TypeScript enum import
...
[frontend] (3 entries)
4. [PATTERN] Vue Watch Immediate
5. [GOTCHA] CSS Grid IE11
...
[unassigned] (2 entries)
6. [PATTERN] Git Commit Hooks
7. [GOTCHA] Memory Leak Detection
Opțiuni:
- [all] - Importă toate în domeniile detectate
- [1, 3, 5] - Selectează specific
- [move 6 deployment] - Mută entry 6 în domeniul deployment
- [none] - Anulează
```
### 6. Procesează Entries "Unassigned"
Pentru fiecare entry fără domeniu clar:
```
📁 Entry: "Git Commit Hooks"
Nu am putut detecta automat domeniul.
Alege domeniu:
1. backend
2. frontend
3. deployment
4. testing
5. global
6. [nou] Creează domeniu nou
Sau: [skip] pentru a sări peste acest entry
```
### 7. Verifică Duplicate
Pentru fiecare entry și domeniul țintă:
- Verifică dacă există deja în `claude-learn-{domain}.md` (după titlu)
- Dacă există → skip și raportează
- Dacă nu există → adaugă
### 8. Salvează în Fișierele Corespunzătoare
Pentru fiecare domeniu cu entries:
- Dacă fișierul nu există, creează-l din template cu frontmatter
- Adaugă entries noi
- Păstrează ordinea: Patterns apoi Gotchas
- Actualizează statisticile
### 9. Confirmă
```
✅ Import complet:
┌────────────┬──────────┬─────────┬─────────┐
│ Domain │ Patterns │ Gotchas │ Skipped │
├────────────┼──────────┼─────────┼─────────┤
│ backend │ 3 │ 1 │ 0 │
│ frontend │ 2 │ 1 │ 1 │
│ deployment │ 1 │ 0 │ 0 │
├────────────┼──────────┼─────────┼─────────┤
│ TOTAL │ 6 │ 2 │ 1 │
└────────────┴──────────┴─────────┴─────────┘
Skipped (duplicate): "Vue Watch Immediate" (deja în frontend)
```
### 10. Opțional: Curățare Fișier Sursă
Dacă importul a fost din formatul vechi (`claude-learn-memory.md`):
```
🗑️ Vrei să șterg fișierul vechi claude-learn-memory.md? [y/n]
- y → șterge (sau redenumește în .backup)
- n → păstrează
```
## Exemple Utilizare
```bash
# Migrare din format vechi
/learn:import .claude/rules/claude-learn-memory.md
# Import din auto-build memory
/learn:import .claude/rules/auto-build-memory.md
# Import din alt proiect
/learn:import /path/to/other-project/.claude/rules/memory.md
```
## Tratare Erori
Dacă fișierul nu există:
```
❌ Fișierul nu a fost găsit: {path}
Verifică:
1. Calea este corectă
2. Fișierul există
3. Ai permisiuni de citire
```
Dacă formatul nu este recunoscut:
```
❌ Format nerecunoscut pentru: {path}
Formate suportate:
- Markdown cu secțiuni ## Patterns și ## Gotchas
- JSON cu structură {patterns: [], gotchas: []}
```