Sharing project knowledge with Claude without repeating yourself every session — token savings, domain knowledge, and team standards.
./mill worker.compile"./mill worker.it.testForked, not SBT, don't forget --no-server"CreateWithItems, never convert the quote".claude/ directory@memory/ directives@memory/# Project Memory
@memory/project_mill_commands.md
@memory/project_chargebee.md
@memory/project_chargebee_business_domain.md
@memory/feedback_working_protocol.md
@memory/feedback_chargebee_mcp.md
@memory/feedback_language.md
# Memory Index
- [Mill Commands](memory/project_mill_commands.md)
— build, test, format commands
- [Chargebee](memory/project_chargebee.md)
— API, services, patterns
- [Working Protocol](memory/feedback_working_protocol.md)
— plan mode, approval rule
---
name: feedback-working-protocol
description: Plan mode requirement and approval rule
metadata:
type: feedback
---
## Plan Mode (mandatory for non-trivial tasks)
Write a plan before touching any file.
Plan must include:
1. Goal (1-2 sentences)
2. Files to modify + API/DB impact
3. Tests to add, risks, open questions
**Why:** Prevents scope creep and
unreviewed changes.
**How to apply:** Before every
implementation — no code without
explicit user approval.
user / feedback / project / reference[[name]]git log is authoritative| Claude Code Memory | Mem0 / LangMem / Custom RAG | |
|---|---|---|
| Infrastructure | Zero — plain markdown files in repo ✓ | Requires vector DB, external API, or self-hosted service |
| Retrieval | Deterministic — exact files are loaded, no surprises ✓ | Fuzzy semantic search — relevant memories may not surface |
| Version control | Git-native — reviewable, diffable, rollbackable ✓ | Stored in external DB; git tracking requires extra tooling |
| Team visibility | In the repo — everyone sees what Claude knows ✓ | Per-user or per-API-key; not naturally shared with the team |
| Integration code | None — just @memory/file.md directives ✓ |
Requires SDK, embeddings pipeline, query logic |
| Best fit | Developer tooling, project context, team conventions | Production AI apps needing dynamic, large-scale memory at runtime use case ↗ |
@memory/ directives load on every conversation and consume context window space.
Unnecessary content = unnecessary tokens = slower, more expensive responses.
.claude/memory/ at the project root. Create an empty MEMORY.md index file.@memory/filename.md lines to specify which files are loaded on every conversation.project_ (build commands, domain rules) and feedback_ (team preferences). Frontmatter requires name, description, type.