Docs / AI-native / The memory/ system
The memory/ system
Most boilerplates ship a CLAUDE.md that explains the boilerplate. That's useful for about a week, until you've renamed things, added your own features, and the doc is describing a codebase that no longer exists. Keel takes a different approach. The memory/ folder is a small, structured set of documents your AI assistant reads automatically, and it's built to keep being true as your product grows. You don't just inherit context about Keel, you inherit a place to record context about what you build on top of it.
What's in the folder
memory/
MEMORY.md # pointer index, read first
architecture.md # the WHY behind Keel's non-obvious choices
conventions.md # naming, folders, server-action patterns
decisions.md # ADR-style log, starts empty, you append
How your assistant uses it
CLAUDE.md at the repo root references AGENTS.md and memory/MEMORY.md. Claude Code, Cursor, Copilot, and Windsurf all read these on their own, no plugin, no setup. When you ask "why is every table scoped by team_id?", the assistant finds the answer in architecture.md instead of guessing.
The one habit that matters
Tip, log decisions as you make them
When you make an architectural call (a new table, a billing rule, an auth tweak), add a short entry to memory/decisions.md. It takes thirty seconds and it's the difference between an assistant that stays calibrated to your product and one that drifts back to generic guesses.
## 2026-07-01, Projects are team-scoped, soft-deleted
Added a projects table scoped by team_id (same pattern as the
rest of the schema). Soft delete via deleted_at so we can offer
a 30-day restore window. Hard-delete job runs nightly.