HomeBlog › RYSH.md and project notes: durable memory for a workspace
Blog

RYSH.md and project notes: durable memory for a workspace

Jul 19, 20265 min readBy the Rysh team

Your agent relearns your repo every morning. rysh gives it two markdown files instead — RYSH.md and .rysh-notes.md, versioned in git.

Every morning, your AI agent wakes up with amnesia.

It doesn't remember that this repo uses make test, never go test directly. It doesn't remember that the migrations folder is hand-off-limits, that deploys go through staging first, or that the flaky integration suite needs the local NATS container up. You told it. Yesterday. And the day before. Each session starts with the same expensive ritual: the agent rediscovering — or worse, guessing — how your project actually works.

The industry's reflex answer is "memory": opaque, vendor-hosted, per-account recollection that you can't read, diff, or take with you.

rysh's answer is two markdown files.

Two files, two jobs

RYSH.md — the workspace's long-term memory. This is where the durable stuff lives: conventions, the commands that actually work, the landmines. The agent reads it as standing context, and it can maintain it through the memory_edit tool. Crucially, an edit to memory goes through the same discipline as an edit to code — it's a visible tool call, shown preview-first as a coloured diff you approve before anything touches disk. The agent proposes what it learned; you decide whether that's true.

.rysh-notes.md — the shared running notebook. Managed via the project_notes tool, this is the cross-pane scratchpad: higher churn, lower ceremony. What the profiling agent in pane 2 discovered about the slow query is exactly what the refactoring agent in pane 4 needs to know before it touches the repository layer. Notes are how findings travel between panes without anyone re-explaining. (For structured, key-addressed handoffs there's the context tool; notes are the prose channel.)

Rule of thumb: RYSH.md is what you'd want a new hire to know on day one. .rysh-notes.md is what you'd tell a teammate at lunch.

Memory as code

Here's the part we think matters most: both files live in your repo. Which means agent memory inherits, for free, every tool your team already trusts for text that matters:

Contrast this with hosted memory features: unexportable, unauditable, scoped to one account, and gone when you leave the platform. Your team's accumulated operational knowledge is exactly the asset you should own outright. In rysh it's markdown in git, on your infrastructure — self-hostable end to end, with rysh running on Claude under your own API key.

Patterns that earn their keep

The end-of-task debrief. Finish a piece of work with: "Update RYSH.md with anything you'd want to know next time." Ten seconds of prompt; compounding returns. The second time an agent hits the flaky-suite problem, the fix is already in memory — you'll review the diff it proposes and, half the time, learn something yourself.

Notes as team radio. Long debugging session across multiple panes? Have each agent log findings to .rysh-notes.md as it goes. The notebook becomes a live incident timeline that humans and agents both read — and it's still there next week when someone asks "how did we fix that?"

The prune. Periodically: "Read RYSH.md and propose cuts — anything stale, redundant, or too obvious to state." Memory that only grows is a liability (more on that below).

Honest edges

The amnesia problem was never really about the model. It was about where the knowledge lived — in chat scrollback, in your head, in a vendor's database. Put it in versioned files the whole team and all the agents share, and the morning ritual disappears: the agent wakes up, reads the file, and already knows not to touch the migrations.


We're recruiting design partners. If your team is tired of re-teaching agents the same repo every session, come shape how workspace memory should work: rysh.ai/design-partner

Related: context store / recall: passing state between agents · A todo list your agents actually share

Try Rysh

Every pane is a shell and an AI agent — install takes one command.

Get started free →