01 / Outlive
Information outlives the session
Keep a note, a handoff, a design doc, or a piece of code independently of the conversation, repository, or worktree it came from.
$ man bs — a shelf for work worth keeping
Notes, snippets, prompts, design docs, and handoffs—kept on your machine, shared by people and agents.
Agents let us pursue more work in parallel: more sessions, more worktrees, more repositories. bitshelf gives the work you choose to keep a common home outside any one of them—ordinary Markdown files with conventions that both you and your agents can follow.
Know what you need? Browse the recipes →
# session A, in a research worktree
api-wt $ bs add notes/pagination-research \
--tags api --file findings.md
notes/pagination-research
# three days later, another repository
web $ bs search pagination
notes/pagination-research
web $ bs show notes/pagination-research --body
# Cursor pagination
Use opaque cursors; page size 50.
web $ Early 0.1.x releases. Back up your store before upgrading or running destructive commands. This site tracks main and may describe unreleased work; use the documentation bundled with your release for its exact contract.
The problem
bitshelf gives that work a home outside any one session. You or your agent deliberately put something on a shelf; later, from any context, either of you finds it, reads it, and builds on it. The executable is bs.
01 / Outlive
Keep a note, a handoff, a design doc, or a piece of code independently of the conversation, repository, or worktree it came from.
02 / Share
A shelf is ordinary Markdown in a directory you own. You browse and edit it in your editor; agents use the same bs commands with JSON output.
03 / Shape
A shelf can describe, in plain language, how its contents should be written, updated, and found—and enforce structure such as required tags.
The loop
Save something in one session. Days later, in another worktree or repository, find it, read it, and build on it rather than duplicating it. The second use is the payoff.
With the agent skill installed, the same loop is a request:
session A“save these pagination findings to bs”
session B“check bs for our pagination research”
Deliberate, not automatic memory
Nothing is saved unless you, or an agent you asked, saves it. Nothing is loaded into a conversation unless it’s looked up. Agents disclose the store to themselves progressively:
bs shelf listDiscover which shelves exist and what each is for.
bs context SHELFLoad a shelf’s guidance only when it’s relevant.
bs search QUERYFind candidates by ID, title, tags, and body.
bs show IDRead just the bits that were chosen.
You stay in control of what’s kept, and what’s kept stays inspectable.
Why not just a folder of Markdown?
Browse it, grep it, back it up, or commit it to Git, with or without bs. No account, database, or background service. What bs adds is what makes that folder dependable for both people and agents.
~/bitshelf/
├── notes/
│ ├── bs.toml # settings
│ └── bits/
│ └── pagination-research.md
└── handoffs/
├── bs.toml
├── SHELF.md # conventions
└── bits/
└── docs-rewrite.mdRecipes
Each recipe starts from an outcome, shows the finished experience, and separates what bs enforces from what a shelf’s conventions ask of the people and agents using it.