Skip to content

File Structure

.toon-memory/
├── memory/
│ ├── data.toon # Main memory file
│ ├── archive.toon # Archived entries (>30 days or expired TTL)
│ ├── config.json # Encryption settings
│ └── backups/ # Watch mode backups
│ ├── backup-2026-07-11T16-00-00-000Z.toon
│ └── backup-2026-07-11T16-10-00-000Z.toon
└── hooks/
├── session-start-claude.sh
├── session-start-codex.sh
├── session-start-gemini.sh
└── session-start-antigravity.sh

The main memory file containing all active entries:

version: 1
entries[3|]{id|category|key|content|file|tags|date|ttl}:
a1b2c3d4|decision|use-zod|Use Zod for validation|src/types.ts|validation;types|2026-07-10|
e5f6g7h8|pattern|pydantic-configs|Project uses Pydantic v2|config.py|python;patterns|2026-07-10|
i9j0k1l2|bug|redis-pool-fix|Added max_connections=20|redis.ts|redis;fix|2026-07-10|7d

Contains entries older than 30 days or with expired TTL:

version: 1
archived[5|]{id|category|key|content|file|tags|date}:
x1y2z3w4|knowledge|old-knowledge|This was important...|src/old.ts|knowledge|2026-06-01

Encryption configuration (only exists when encryption is enabled):

{
"encrypted": true
}

Directory containing timestamped backups from watch mode:

backups/
├── backup-2026-07-11T16-00-00-000Z.toon
├── backup-2026-07-11T16-10-00-000Z.toon
└── backup-2026-07-11T16-20-00-000Z.toon

toon-memory automatically adds .toon-memory/memory/ to .gitignore to prevent committing sensitive data.