Comment by ossa-ma

15 hours ago

There are a quadrillion startups (mem0, langmem, zep, supermemory), open source repos (claude-mem, beads), and tools that do this.

My approach is literally just a top-level, local, git version controlled memory system with 3 commands:

- /handoff - End of session, capture into an inbox.md

- /sync - Route inbox.md to custom organised markdown files

- /engineering (or /projects, /tasks, /research) - Load context into next session

I didn't want a database or an MCP server or embeddings or auto-indexing when I can build something frictionless that works with git and markdown.

Repo: https://github.com/ossa-ma/double (just published it publicly but its about the idea imo)

Writeup: https://ossa-ma.github.io/blog/double

What is the purpose of a separate /handoff and /sync command? It seems like handoff could just write learnings straight to their final destinations without needing an .inbox.md buffer in-between.

  • I like to read and review what was captured in .inbox.md before it is committed and synced across my knowledge base. Allows me to catch mistakes, tweak preferences, add context and decide whether something is actually worth pushing.

    I will typically make multiple '/handoff's per day as I use Claude code whereas I typically use '/sync' at the end of the day to organise them all at once.

The extention Cline has a "memory bank" feature. It's just a markdown you add as an instruction. Works well for me. Worked with agents.md as well so not just with the Cline extention. Pretty much the same idea.

Your approach essentially matches mine, but I call them plans. I agree with you that the other tools don't seem to add any value compared to this structure.

I think at this point in time, we both have it right.