Docs/Quickstart

Quickstart

Install ROSE, wire the hooks, and see the first lesson land.

Python 3.10+ and either claude or codex on your PATH. No third-party dependencies.

uv tool install rose-memory
rose install --scope user
rose doctor

That is the whole install. rose install wires the hooks and ROSE runs in every repo you open — you do not drive it, you work normally. Drop --scope user to limit it to one project.

The distribution is rose-memory because rose was taken on PyPI. The command it installs, and the package you import, are both rose. No uv? pipx install rose-memory. Just trying it? uvx rose-memory doctor.

What you should see#

Nothing, at first — the store is empty and ROSE has nothing to say. Once it has learned something, a line appears above your prompt:

⋯ ROSE · 2 lessons · 512 tok — Retry policy, Cache TTLs
⋯ ROSE · 1 lesson · 118 tok — Retry policy  · 1 refreshed, 2 already in context

It names what was loaded, because a count only proves ROSE fired — the titles are what let you notice it fired on the wrong lessons. The three states differ: a lesson injected in full, a one-line refresher for one going stale, and one skipped because it is still in your context. Only the first is a lesson arriving.

Expect the first capture within a few sessions of real work. ROSE learns from corrections, so a session where nothing went wrong teaches it nothing.

As a Claude Code plugin instead#

/plugin marketplace add yiheinchai/rose
/plugin install rose@rose

Where your data lives#

Plain files: .rose/ in the project, ~/.rose/ for lessons that apply everywhere. Nodes and episodes are worth committing; sessions, telemetry and caches are machine-local. Everything passes through redact.py before it touches disk — API keys, tokens, private keys, card numbers — biased toward over-redaction, since a mangled lesson is recoverable and a leaked key is not.

ROSE makes no network calls. Model calls go through whichever CLI you already have, under your existing credentials.