Skip to main content

Adding a git repository, and sorting it into Docs, Code and History vaults

When you add a folder that is a git repository, Mnemosyne OS does not ingest it right away. It first looks at what the repository holds, then offers a split in a "Git repository" window. Nothing enters memory before you answer.

This holds for every way of adding a folder: a vault's window, a new vault, the import in Settings, a folder dropped on the board, "Memorize this folder" in the explorer, and the git step of onboarding.

Why split a repository​

A repository mixes three things that answer different questions: the documentation (README, Markdown notes, PDFs), the code, and the commit history. In a single vault, a question about your app's version brings back a README, a commit and a piece of script, all mixed. Three separate vaults let each answer come from the right place.

The split window​

The window shows the repository's name, its number of files and its number of commits. It offers a parent vault named after the folder, with three tiles under it:

  • Docs: the documentation files Mnemosyne OS can read.
  • Code: one button per language, with its number of files, and the configuration.
  • Git history: the repository's commits.

A green tile is kept, and a click removes it. Each tile carries the name of the vault it will create, and you can change it.

"Create the vaults" creates the parent and its vaults. "All in one vault" keeps the old behaviour: the whole folder in one vault. "Cancel" adds nothing.

The languages that are read​

The Code vault reads TypeScript, Python, Rust, Kotlin, Java and JavaScript, plus the configuration (JSON, YAML, TOML). A language marked "not read" is counted but does not enter memory: Go, C, C++, C#, Swift, Ruby, PHP and a few others.

The Code vault is indexed by words only, without vectors. You find a file in it by the exact names it contains: a function, a class, a constant. That is what works for code, and it keeps pieces of code from crowding the answers about your documents.

A folder inside a repository​

If the folder you chose is a subfolder of a repository and not its root, the Git history tile is not offered. It would read the whole repository's history, which you did not choose.

Reclassifying a vault where everything is already mixed​

If you added a repository before this split existed, its docs, code and commits may already sit in one vault. In that vault's window, under its watched folders, a card says so, with a "Reclassify" button.

The vault keeps its documents, and their indexing. The code and the history move to new vaults created inside it. Before anything changes, the window shows what will leave, for example the number of code files and commits. Only "Confirm" makes the change. The memory of files you already deleted from disk stays in this vault: it would have nowhere to go.

A language you untick in the Code tile leaves memory. The new vaults are created before anything leaves the old one: if a step fails, you may see duplicates, never a loss.

Letting your coding agent do it​

A coding agent connected to Mnemosyne OS (Claude Code in your editor, for example) can analyse a repository, sort it into vaults and reclassify a mixed vault, without a window each time. You gave it that right once, when Mnemosyne OS asked you to allow it to sort your repositories. It follows the same rules as the window: what it sorts comes from Mnemosyne OS's own analysis, not from what it says.