Skip to content

le4ker/mneme-template

Repository files navigation

Mneme

A personal knowledge vault powered by Obsidian and Claude Code. Plain markdown files in a Git repository — no proprietary formats, no sync fees, no lock-in.

Read the background post for the motivation and design decisions behind Mneme.

✨ What you get

  • Structured Areas — long-term topics organised in folders you define
  • Quick capture — drop thoughts into Inbox/, route them later with /process-inbox
  • AI-assisted processing — Claude proposes cross-links and enriches content during inbox triage; you review and approve
  • Smart stagingResources/ holds notes without a clear home; three related resources trigger promotion to a new Area, stale ones get flagged for deletion
  • Area Journaling/log-{area} skills for areas with recurring entries, generated when you run /setup
  • Periodic reviews/review surfaces stale notes, broken links, and orphaned content
  • End-to-end encryptedgit-crypt renders your markdown opaque in the remote; only key holders can read your content
  • Git-backed — every change is versioned; commit with /sync-vault
  • Auto-formatting — Prettier + markdownlint run on every commit via pre-commit hook

🔄 Workflow

flowchart LR
    subgraph capture ["Capture"]
        inbox["/inbox"]
        logarea["/log-{area}"]
    end

    subgraph process ["Process"]
        processinbox["/process-inbox"]
    end

    subgraph reviewsg ["Review"]
        reviewcmd["/review"]
    end

    subgraph sync ["Sync"]
        syncvault["/sync-vault"]
    end

    subgraph vault ["Vault"]
        Inbox["Inbox/"]
        Areas["Areas/"]
        Resources["Resources/"]
    end

    subgraph remote ["Remote"]
        Git["Git remote"]
    end

    style capture fill:#eef2ff,stroke:#4f46e5,color:#3730a3
    style process fill:#eef2ff,stroke:#4f46e5,color:#3730a3
    style reviewsg fill:#eef2ff,stroke:#4f46e5,color:#3730a3
    style sync fill:#eef2ff,stroke:#4f46e5,color:#3730a3

    inbox -->|"creates note"| Inbox
    logarea -->|"logs entry"| Areas
    Inbox -->|"move / merge"| processinbox
    processinbox -->|"fits area"| Areas
    processinbox -->|"ambiguous"| Resources
    Resources -->|"promote"| reviewcmd
    reviewcmd -->|"fits area"| Areas
    reviewcmd -->|"stale / irrelevant"| Deleted["🗑 Deleted"]
    Areas -->|"commit & push"| syncvault
    syncvault --> Git
Loading

🧠 Skills

Skill Description
/setup One-time bootstrapper — run this first
/log-{area} Log an entry to a journalled area (generated by /setup)
/inbox Capture a fleeting note
/process-inbox Route inbox notes to their Areas
/review Periodic vault health check
/sync-vault Commit and push all changes

🔒 Privacy

Your vault content is private by default — only you have access to your Git repository. For an extra layer of protection, you can encrypt all markdown files at rest with git-crypt:

brew install git-crypt
git-crypt init
git-crypt add-gpg-user YOUR_GPG_KEY_ID

Then add this to .gitattributes:

**/*.md filter=git-crypt diff=git-crypt

Commit messages remain in plaintext — the /sync-vault skill reminds you to keep them free of sensitive content.

🚀 Setup

📋 Prerequisites

🛠️ Steps

  1. Click Use this templateCreate a new repository

  2. Clone your new repo and enter the directory

  3. Install dependencies and configure git hooks:

    make install && make setup
  4. Open the vault in Obsidian (File → Open Vault → select the repo folder)

  5. Open the repo in Claude Code and run:

    /setup
    

    Claude will ask which Areas you want to track and generate your personal vault structure and skills. This is a one-time step.

About

Personal Knowledge Management with a Brain

Topics

Resources

License

Stars

Watchers

Forks

Contributors