Hi Dean, thanks for taking the time.
You read the intent right - Grounder came out of my own problem, a solo dev who got tired of copy-pasting context between tools. The minimalistic approach is me refusing to add moving parts I’d have to maintain.
On conflicts:
Mostly avoided by design: handoffs and notes are append-only, every write is a new file named YYYY-MM-DD-HHmmss-<slug>.md. Machines working in parallel produce different files, so a merge is a union, not a conflict.
Plans are the exception, and exactly the case you named. It’s a living document you revise across sessions. Conflicts are rare for me as a solo dev, but when one happens I resolve it like any other file: in git or VS Code’s merge editor. I’ve left merge logic out of the CLI on purpose; I’d only be maintaining a worse version of widely used tools.
On frontmatter and deduping: partly. Modified plans carry an updated timestamp (on top of created) in UTC, so in a conflict you can see which side is newer without leaving the merge editor.
Your question did shake something loose, though. Handoff filenames use local time while frontmatter created is UTC, so across timezones an older handoff can sort as newest and recall loads the wrong session. Filed it: https://github.com/andrej-kolic/grounder/issues/132. Thanks for that, it’s the multi-machine case biting somewhere I hadn’t looked.
On the extension:
Published, not manual: VS Code Marketplace and Open VSX for Cursor, under “Grounder Xplorer” (because I permanently burned “Grounder” as a display name - don’t ask). It’s a tree-view sidebar for browsing the linked project’s vault and dragging documents into chat, built on top of the CLI, not a second implementation.
On the pointers:
Thanks for those. I went through both and left a couple of questions on the Memento thread
On vault structure:
One folder per repo:
vault/
└── 10-Projects/
├── project-a/
└── grounder/
├── notes/ # short facts worth keeping
├── logs/ # session handoffs, one file per session
├── plans/ # living plan docs, updated in place
└── blog/ # mine, not Grounder's
Grounder owns only notes, logs and plans; anything else in there is mine. Search works across everything inside the project folder. It’s for the files I don’t want in the project repo: half-formed product ideas, implementation plans I’m not ready to show.
Grounder is its own dogfooding case: 39 handoffs, 56 plans and 7 notes, all written by Grounder while building Grounder. Plan continuity is the part I use daily: open a plan in Claude Code, get pulled away, pick it up in Cursor on the other laptop, already current.
Out of curiosity, since you’re closer to this than I am: is cross-tool context something you see people asking for, or is the demand mostly cross-machine within Cursor?