Project memory.
Each session starts without knowing what happened in earlier ones. Project memory fixes that: as Nilux works with you, it writes down what is worth keeping and reads it back in later sessions. After a few sessions you stop repeating yourself.
Memory complements project instructions. Instructions are rules you write down yourself; memory is what Nilux learns while working with you.
How it works
Nilux decides by itself when something is worth remembering. Each note is a short Markdown file, and MEMORY.md is the index that lists them, one line per note. At the start of every session Nilux reads MEMORY.md, up to its first 200 lines and 25,000 characters, and opens the notes behind it when they are relevant. Saving a note shows in the conversation as a Memory line, looking one up as a Recall line.
You can also ask directly:
bash❯remember that billing tests must run against a real database, never mocks❯what do you remember about the auth module?❯forget the note about the old deploy script
What it keeps
- You: your role, what you know well and what is new to you, so explanations fit.
- Feedback: corrections you give and approaches you confirmed, so you do not have to say them twice.
- The project: decisions, deadlines and the reasons behind them that the code does not show.
- References: where to look outside the code, such as the tracker bugs are filed in or the dashboard someone watches.
It leaves out what the project already holds: the code, its structure and git history, fixes that are in the code, what your instruction files say, and the details of the task at hand.
A note that looks like it holds a secret, such as an API key or a password, is not saved, and Nilux is told to leave it out. Only the main session writes notes; agents it hands work to do not.
Where it is kept
Notes are ordinary files on your computer, in ~/.nilux/projects/<project>/memory/. A repository has one memory: every folder in it and every git worktree of it share the same notes. You can open, edit or delete the files like any others.
To keep a project's notes somewhere else, run /memory folder <path>. If the project already has notes, Nilux asks whether to copy them across (--copy, nothing in the new folder is overwritten) or to start the new folder without them (--no-copy). /memory folder default goes back to the default folder. In the desktop app the same choice is Memory folder in the project's settings.
What a session reads from memory is sent to the model with the rest of the conversation, as your instruction files are.
See what it keeps
/memory shows whether memory is on, where the notes are kept, how much of MEMORY.md a session loads, and the notes themselves. In the desktop app /memory opens the Memory window with the same, where you can also open a note or move it to the trash; the lines of MEMORY.md that point at it are taken out with it.
Turning it on and off
/memory offturns memory off for every project,/memory onturns it back on./memory off --projectand/memory on --projectdo the same for the current project only.- In the desktop app, the Project memory switch is in the Memory window and in the project's settings.
Notes already kept stay where they are while memory is off. Memory is also off in a chat without a project, in a temporary chat and in an isolated project; when a project turns it off in its own .nilux/settings.json; when the environment variable NILUX_DISABLE_AUTO_MEMORY is set; and when the project is your home folder, because the notes would land inside it. /memory says which applies.
Notes from the old memory
Earlier versions kept memory in a database, ~/.nilux/memory/memory.db. After the update, each project's current notes are moved into files of the new memory, and the whole old database is written out once to a file that /memory names; nothing loads it after that.