Commands
| Command | What it does |
|---|---|
context "<question>" |
Best entry point for a user question. Drops filler words and follows routes. |
find "<keywords>" |
Keyword search over title, aliases, key fact, path and text. |
read <path> |
Read a note, a line range (--start, --end) or a section (--section). |
write <path> --expected new|<rev> |
Write one file from Markdown on stdin. --append appends. --message TEXT sets the commit subject. |
ingest --input - |
Write a JSON package of several files atomically. --message TEXT sets the commit subject. |
check [paths] |
Validate frontmatter and links. |
sync |
Commit note changes; in a synced brain also rebase onto the remote and push. |
init [path] |
Create a new brain; --remote URL makes it synced. |
install |
Install the Git pre-commit hook and the Claude Code and Codex hooks. |
meta migrate|generate|report|index|agents |
Maintain frontmatter and indexes; print rendered AGENTS.md. |
links |
Build the links map (extra). |
curator |
Run the curation scan or print its weekly LLM prompt (extra). |
import-memory |
Mirror Claude Code and Codex memory of the listed projects into the brain (extra). |
What gets committed. write, ingest, sync and the agent hooks commit only what rcllr manages: the
note folders (topics/, notes/, bookmarks/), sources/, archive/, INDEX.md, .sensitive-paths, the
links map (links.output), the curator reports (curator.report_dir) and the routes and entities files
(context.routes_file, links.entities_file). Everything else, such as
rcllr.toml, AGENTS.md, CLAUDE.md, .claude/, .codex/ or your scripts, stays uncommitted for you to
commit by hand, and an uncommitted change there never blocks a write. repo.sync_exclude keeps further paths
inside those folders out. The commit subject is repo.commit_message; write and ingest take
--message "Add pnpm build fix" (one line, at most 200 characters) for a subject of their own.
Read commands share --scope, --topic, --allow-sensitive, --json and --max-chars. Every command
accepts --root PATH and --serious. rcllr <command> --help shows the purpose and examples first, then
the options grouped as Access, Output and the command's own options. rcllr --version prints the version.
Every hit starts with a header line: path | rev=<12 chars> | updated | status | scope. Pass that rev
as --expected when you change the file.
Exit codes: 0 ok, 2 rejected call (nothing changed; the message says what to fix),
3 saved but the Git sync failed (run rcllr sync again). When the remote refuses the login, the
message says so; with --json, syncError holds the message key, for example git_auth.