From f0b48e01625a91722e1da5c3708d632e1e01d7a9 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Tue, 6 Jan 2026 23:20:08 +0000 Subject: [PATCH] feat: Add project memory (.claude/rules) to Git MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Removed .claude/ from .gitignore - Memory files should be shared with team - Added pattern: "Memory must be committed to Git" - Added gotcha: "SessionEnd hook doesn't support prompt type" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .claude/rules/claude-learn-domains.md | 34 +++++++++++++++++++ .claude/rules/claude-learn-global.md | 47 +++++++++++++++++++++++++++ .gitignore | 1 - 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 .claude/rules/claude-learn-domains.md create mode 100644 .claude/rules/claude-learn-global.md diff --git a/.claude/rules/claude-learn-domains.md b/.claude/rules/claude-learn-domains.md new file mode 100644 index 0000000..a570ada --- /dev/null +++ b/.claude/rules/claude-learn-domains.md @@ -0,0 +1,34 @@ +# Claude Learn Domains Configuration + +Acest fișier definește domeniile pentru organizarea memoriei. +Fiecare domeniu are propriul fișier cu `paths` frontmatter pentru încărcare selectivă. + +--- + +## Domenii Definite + +| Domain | Patterns (globs) | +|------------|----------------------------------------------------------| +| backend | src/api/**/*.ts, src/server/**/*.ts, services/**/* | +| frontend | src/components/**/*.tsx, src/pages/**/*.tsx, **/*.css | +| database | src/db/**/*.ts, migrations/**/*.ts, **/*.sql | +| testing | **/*.test.ts, **/*.spec.ts, tests/**/* | +| deployment | Dockerfile, docker-compose.yml, **/*.yml, infra/**/* | +| global | (întotdeauna încărcat) | + +--- + +## Cum Funcționează + +1. La `/learn:analyze`, plugin-ul detectează domeniul bazat pe fișierele din conversație +2. Memoria se salvează în `claude-learn-{domain}.md` cu frontmatter `paths:` +3. La încărcarea sesiunii, doar domeniile relevante se încarcă + +## Adaugă Domeniu Nou + +Adaugă o linie în tabelul de mai sus cu formatul: +``` +| nume-domeniu | pattern1, pattern2, pattern3 | +``` + +Plugin-ul va crea automat fișierul `claude-learn-{nume-domeniu}.md`. diff --git a/.claude/rules/claude-learn-global.md b/.claude/rules/claude-learn-global.md new file mode 100644 index 0000000..5bc0a8a --- /dev/null +++ b/.claude/rules/claude-learn-global.md @@ -0,0 +1,47 @@ +# Claude Learn Memory: global + +Patterns și Gotchas universale, aplicabile tuturor domeniilor. + +--- + +## Patterns + +### Memoria proiectului (.claude/rules) trebuie commit-ată în Git +**Discovered**: 2026-01-06 (feature: learn-plugin) +**Source**: explicit | **Confidence**: high | **Reinforced**: 0 +**Trigger**: "ține minte" +**Description**: Fișierele din `.claude/rules/` (memoria learn plugin) trebuie să fie incluse în Git pentru a fi partajate cu alți dezvoltatori. NU adăuga `.claude/` în `.gitignore`. + +**Example** (`.gitignore`): +```gitignore +# NU exclude .claude/ - memoria trebuie partajată +# .claude/ <-- GREȘIT +``` + +**Tags**: git, memory, team, collaboration + +--- + +--- + +## Gotchas + +### Claude Code SessionEnd hook nu suportă type: "prompt" +**Discovered**: 2026-01-06 (feature: learn-plugin-hooks) +**Source**: inferred | **Confidence**: medium | **Reinforced**: 0 +**Trigger**: "descoperit în timpul implementării hook-urilor" +**Problem**: SessionEnd hooks în Claude Code pot folosi doar `type: "command"`, nu `type: "prompt"`. Asta înseamnă că nu poți face analiză inteligentă a conversației la sfârșitul sesiunii. +**Solution**: Folosește `type: "command"` cu un script simplu pentru reminder la SessionEnd. Pentru analiză inteligentă, rulează manual `/learn:analyze` sau folosește hook-ul `Stop` (care suportă `type: "prompt"`). + +**Tags**: claude-code, hooks, session-end, plugin + +--- + +## Domain Statistics + +- **Total Patterns**: 1 +- **Total Gotchas**: 1 +- **Total Reinforcements**: 0 +- **Last Session**: 2026-01-06 +- **Sessions Recorded**: 1 +- **Last Cleanup**: - diff --git a/.gitignore b/.gitignore index 5c962aa..4ab7349 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,4 @@ Thumbs.db *.swo # Local testing -.claude/ *.local.*