Storage
File format
Section titled “File format”Memories are markdown files with YAML frontmatter:
---id: 405614a7-a382-49db-bb37-b3f549bfddd1title: retryWithBackoff.tsdescription: RxJS retry with exponential backofftags: - rxjs - fetch - typescripttype: filerepository: github.com/myorg/myappcreated: '2026-03-29T16:00:50.050Z'updated: '2026-03-29T18:35:24.931Z'---
```typescriptexport const retryWithBackoff = <T>(count: number) => { // ...};```Directory structure
Section titled “Directory structure”~/.config/mor/ config.json # Configuration credentials.json # OAuth tokens (created by `mor login`) index.db # SQLite FTS + embeddings index oauth.db # OAuth clients and tokens (server-side) memories/ retry-with-backoff-4056.md python-naming-a1b2.md meeting-notes-c3d4.mdOverride the base directory with the MOR_HOME environment variable.
Frontmatter fields
Section titled “Frontmatter fields”| Field | Required | Description |
|---|---|---|
id | yes | UUID, auto-generated |
title | yes | Display name |
description | no | Short one-line summary |
tags | yes | Array of strings (can be empty) |
type | yes | One of: user, feedback, project, reference, knowledge, snippet, file |
repository | no | Source repository (auto-detected from git) |
created | yes | ISO 8601 timestamp |
updated | yes | ISO 8601 timestamp |
Filenames
Section titled “Filenames”Filenames are auto-generated from the title: slugified + 4-char hash suffix. For example, retryWithBackoff.ts becomes retrywithbackoff-ts-4056.md.
SQLite index
Section titled “SQLite index”The index at index.db contains:
- memories table — metadata + content for fast queries
- memories_fts — FTS5 virtual table for full-text search
- links — cross-references between memories (derived from content and frontmatter)
- embeddings — vector blobs for semantic search (optional)
The index auto-syncs from the markdown files. If it gets out of sync, run mor reindex.
Cross-references
Section titled “Cross-references”Memories can reference each other using markdown links with the mor: scheme:
See [Fastify Chaos Plugin](mor:22f6b489) for resilience testing.For file/snippet memories where content is a code block, use frontmatter links:
links: - id: 22f6b489 title: Fastify Chaos PluginThe links table is a derived index — rebuilt from content and frontmatter on every upsert and reindex. Mor never writes to frontmatter; it only reads from it.
Git integration
Section titled “Git integration”The memory folder can be a git repository. Use mor sync to pull remote changes and push local ones:
cd ~/.config/mor/memoriesgit initgit remote add origin git@github.com:you/memories.git
# Then from anywhere:mor syncmor sync runs git pull --rebase --autostash then commits and pushes.
Enable autosync in config to sync automatically after every add, update, or remove:
{ "autosync": true}Configuration
Section titled “Configuration”See Configuration for all config.json options.