Skip to content

Open source · MIT · runs on your machine

Give your assistant a memory you own.

imprnt keeps what you know in plain markdown on your disk. You talk, your assistant files what matters, and weeks later it answers from your real history.

$ npm i -g imprnt && imprnt init

The LLM builds the tools. The tools do the work.

projects/billing-v2.mdproject

# Billing v2

owner: Tom Decker · active

The Q2 priority. No new pricing ships until billing is solid.

  • P0: idempotency keys on charge creation, 2-week target
  • P0: duplicate-charge metric + pager alert
  • P1: invoice redesign (Lena), dunning emails

linked notes

  • Its Q2 priority
  • Owns it, sets the order
  • Invoice redesign (P1)
  • Ticket data ranks the backlog
  • Lost trust drives the priority
  • +3 more linked

The problem

Your assistant forgets everything between chats.

Every session starts blank. You re-explain your projects, your people, and the decisions you already made, and whatever the assistant learned dies when the chat closes.

the same explanation, three times in one week

imprnt keeps the part that lasts in plain files you own. Your assistant reads from your real history every session, and no company can take it away.

How it feels

You talk once. It files notes you can read.

Hand over a transcript, a document, or a single fact. The model sorts it into small linked notes, plain markdown you can open in any editor.

  1. 01

    You talk

    paste a meeting, a doc, or one fact

  2. 02

    It files

    small linked notes land on your disk

  3. 03

    You ask later

    the answer comes from your own notes

one chat, three weeks apart

imp - your vault

You:Here is my 1:1 with Boris from this morning. [paste the transcript]

imp:Filed it. Created people/boris-carter, updated projects/access-platform with the new cutover date, and logged the meeting under events/.

(three weeks later)

You:What did we decide about the access-platform cutover?

imp:From your notes: the cutover moved to July 15, gated on the two-week parallel-run numbers. Boris owns it. The earlier June date is superseded.

The transcript lands as people, projects, and events. Three weeks later the answer comes back from those files, with the old date marked superseded.

the file behind that answer

projects/access-platform.md

---

type: project

status: active

owner: "[[people/boris-carter]]"

updated: 2026-06-11

tags: [work, access-platform]

summary: Cutover moved to July 15, gated on the parallel-run numbers.

---

# Access platform

Cutover is July 15, gated on the two-week parallel-run numbers. [[people/boris-carter]] owns it.

Cutover is June 20.

> superseded by [[events/2026-06-11-boris-1-1]]

The real shape of a note: labeled lines up top that code can check, prose you can read, and links to the people and meetings around it. When a fact changes, the old line is struck and stamped, never silently overwritten.

No lock-in

Swap the assistant, keep the memory.

Everything lives in one folder of plain markdown on your disk, searched locally, with no vendor memory store in the middle. Claude Code and Gemini CLI run it today, and the vault is plain files plus a CLI, so any agent that can run a command can use it.

This year's assistant

reads and writes it

Next year's assistant

picks up the same files

Any text editor

it is just text

vault/ plain markdown · yours
  • people/ everyone you mention
  • orgs/ companies and institutions
  • projects/ work in flight, with a status
  • events/ dated meetings and moments
  • mistakes/ lessons learned
  • holdings/ things you own and track
  • index.md the auto-built map
  • log.md the running timeline

$ grep -r "cutover" vault/

projects/access-platform.md:Cutover is July 15, gated on the two-week parallel-run numbers.

the readers swap, the folder stays

Delete imprnt tomorrow and every note still opens, because markdown needs no app.

Start your vault in two commands.

Open source, MIT licensed, and yours to read end to end.

$ npm i -g imprnt && imprnt init