Session files from Cursor and Claude Code, in the vault (Grounder)

Disclaimer

Is this project open source? Yes
Is this project completely free? Yes
Is this project made with AI beyond the author’s ability to comprehend how it works? No


I’m a software dev. I keep documentation per project, and I switch between Cursor and Claude Code and between two laptops depending on the day. Every switch drops the thread. The plan lives in one tool’s chat history, on one machine, gone by the next session. I already keep everything else in Obsidian, and wanted this there too.

So I built Grounder, a CLI (not a plugin) that writes plans, notes, and session summaries into the vault as plain markdown.

It creates 10-Projects/<project>/, a common Obsidian vault convention, so it sits next to the rest of the vault rather than off in its own corner.

Plans, session summaries, and notes all carry YAML frontmatter, which Obsidian shows as Properties, browsable and queryable without a plugin. The only thing in the project repo is a two-line .grounder.json marker; skill files go in ~/.cursor or ~/.claude, not in the vault.

Setup:

npm i -g grounder
grounder setup <path-to-your-vault>    # once per machine
cd your-project
grounder link      # once per project

Day to day, /grounder-plan updates a plan in place, and /grounder-handoff writes a session summary under logs/. Next session, /grounder-recall loads the latest one. Because it’s files, and the vault is already synced across both laptops (git, Syncthing, whatever you use), a plan started on one continues on the other, in either tool.

GitHub: https://github.com/andrej-kolic/grounder

If anyone else is putting agent notes in the vault, I’d like to hear how you structure the folders, and what’s missing from this.