Context should outlive the chat window.
Every new conversation with a model starts from nothing. You paste the same background again, trim it to fit, and watch a good answer come out of a half-remembered project. Nibvine is the fix: one structured brain per project, kept by you, read directly by the tools you already work in.
The problem, stated plainly
Your project lives in fragments
A decision in a chat log, a constraint in a README, a half-finished plan in a notes app, the real reason for all of it in your head. Nothing can read all four.
Assistants forget on purpose
A context window is a working surface, not a memory. Anything that matters next week has to live somewhere the model can fetch it from.
Re-explaining is the real cost
The expensive part is not tokens. It is you, rebuilding the same background for the fifth time, slightly differently each time.
What Nibvine actually is
A tree, and a way to hand that tree to a machine.
-
A tree per project, not a folder of files
Notes nest inside notes. Depth carries meaning: the goal at the top, the decisions under it, the reasoning under those. Tasks, ideas and comments hang off the same structure, so a branch is a complete answer to a question rather than a document you have to skim.
-
Context assembled, not pasted
Nibvine builds the payload a model needs from that tree, summarising branches that are too large for the window and caching the result. You ask a question; the relevant part of the project goes with it.
-
Readable by the tools you already use
The same data is served over a REST API and a self-hosted MCP server. Claude Code, Cursor, Codex and VS Code connect with a scoped token and read the project directly — no copy, no paste, no export step.
-
Agents that ask before they write
A connected tool cannot change your project in one move. It creates a preview describing exactly what would change, the preview expires if nobody acts on it, and committing writes the change in one transaction with the source recorded. Automation without the sinking feeling.
What we hold ourselves to
The data is yours, and it leaves easily
Any project or branch exports to JSON from inside the product, and the API returns the same structures. Lock-in should be a choice you keep making, not one you made once.
Nothing goes to a model on its own
Context reaches a provider only for an operation you or your agent started. We do not train on your content, and bringing your own provider key keeps the whole exchange on your account.
Every token is narrow by default
Access tokens carry explicit scopes, can be pinned to one project, expire, and are stored only as hashes. A token you hand an agent should be able to do its job and nothing more.
Changes stay attributable
The project history records what changed, when, and whether a person, an agent or the system did it. When something looks wrong, you can find out why it happened.
Who builds this
clusterhack is a small independent operation, and Nibvine is built the way a solo founder actually works: fast, in public, against a real project rather than a spec.
That shapes the product. There is no onboarding funnel, no seat pricing, and no feature that exists to look good in a screenshot. What ships is what the person building it needed that week — and then what people asked for on the suggestions board.
It also sets the limits honestly. Nibvine is a working product under active development, not a certified system of record. Keep your own backups of anything you cannot afford to lose. The export button is there for exactly that reason.
Start with one project
Put the thing you are actually building into a tree, connect one tool to it, and see whether you stop re-explaining yourself.