your agent
stops guessing
when it reads
your shelf.
reshelf catalogs the open-source you actually use and clones the keepers to your Mac — so your coding agent works from real source, not stale docs: learns the patterns, borrows the code, credits every repo it touched, and knows when a license says hands off. No account. No cloud.
~/reshelf/repos/Database/supabase
Dismiss
collect. clone. build better.
reshelf isn't a trophy case. every repo on your shelf is full source your agent can read — so the next thing you build starts from code that already works, curated by the person who knows your taste: you. You don't need special phrasing; gesturing at your own collection is enough.
curate
Capture from GitHub with ⌘K. Shelves decide keeper, maybe, or let-go — the pile stays honest.
clone
Full clones land at ~/reshelf/repos/<Category>/<repo> — real source, grouped the way you think.
point
Say look at my shelf or /reshelf. The bundled skill maps what's on disk — no setup, no cloud.
build
The agent reads the actual files, learns or borrows, and tells you exactly which repos it used.
stuck? ask your shelf.
Not a separate step — you're mid-bug, you mention your shelf, and the skill maps what's on disk, reads the files that matter, and answers from real code. With receipts, and the licence checked.
a calm place for the repos that matter.
Stars are a pile. Tabs are a mess. reshelf is the shelf in between — decide quickly whether something is a keeper, a maybe, or a let-go.
capture fast
Paste a GitHub URL with ⌘K — metadata fetched and auto-categorized. No AI required, no mouse either.
shelves, not piles
Top Shelf for keepers, The Collector by default, Yard Sale for let-go. Move any repo with one keystroke.
source as context
Your agent greps the real clone before writing a line — actual APIs and conventions, no invented functions, no stale docs.
credit & rules
Every pattern is cited to the file it came from, and copyleft gets flagged before code crosses into your project.
capture starts where you search.
One palette: search your shelf, or paste a GitHub link and it becomes a capture — fetched, auto-categorized, saved. Duplicates get caught before they happen. Press ⌘K anywhere on this page — or watch:
learn the pattern.
Walk the actual files with your agent — the functions, the wiring, the why. You come away with the technique, taught from code you already curated and trust. Not a generic tutorial: the approach in this code.
use the code.
Borrow the proven approach into your own project, wired to your setup. The agent implements the minimal change, checks the license first, and names the source files it referenced — so you can verify every line against the real thing.
triage in one keystroke.
Every repo lands in The Collector. Promote the keepers to Top Shelf, send the maybes to the Yard Sale — and your library stays honest. No folders-within-folders, no guilt.
your shelf doubles as source-as-context.
Clones are grouped by category in a predictable, scriptable layout — so a coding agent can read the real source of a library instead of guessing from stale docs. Behind upstream? One click pulls.
group them by what you got them for.
Clone thirty repos for one project and there's no record they belonged together. A folder fixes that — it's yours to name, sits in its own sidebar section, and is separate from categories (what a repo is) and shelves (how much you value it), because one project's repos span all of them.
Deleting a folder only ungroups it. Every project keeps its shelf, its clone, its notes — nothing else changes. Folders ride along in exports and backups too, matched by name, so both your Macs land on one “Photos app” instead of two.
retire a whole project's worth at once.
⌘-click to gather rows, ⇧-click to take a range — then move them all to a shelf, add them all to a folder, or send their clones to the Trash in one action. The other half of folders: the point of knowing what belonged together is being able to let it go together.
Right-clicking inside the selection acts on the selection; right-clicking outside it still acts on that one row, so nothing destructive lands on repos you weren't pointing at. Both destructive actions confirm with a count and say what survives.
credit every repo. respect every license.
The agent names the exact repo, file, and function behind every pattern it brings you — verify it against the real code, and your project stays honest about where it came from. And before any code crosses into your project, the license gets a say: the app's ⓘ explains each one in plain language, copyleft cautions included.
Apache-2.0 Permissive
AI, when it happens, happens on your Mac.
On Macs with Apple Intelligence, each capture can auto-fill use cases, a note, and tags — and a one-click backfill fills entries that have none. No API keys, no provider to choose, nothing leaves your Mac. It never overwrites anything you typed.
no mouse needed.
local by default
No sign-in, no required sync. The catalog lives in an isolated store at ~/reshelf/ with automatic JSON backups of the last 30 snapshots.
network on demand
The GitHub API is touched only when you Quick Capture — repo metadata and an optional README. Update checks are read-only git ls-remote.
ai stays home
Capture Assist runs on-device Apple Intelligence. There is no cloud provider to configure and no cloud option to turn on. Credentials, when used, live in the Keychain.
the fine print.
reshelf.dmg from Releases, drag to Applications, run — no Gatekeeper warnings. To build from source you'll want Xcode 16+ (Swift 6, SwiftUI, SwiftData); GRDB resolves via SPM on first build.~/reshelf/: the catalog in catalog.store (SwiftData, isolated), automatic JSON backups in backups/, clones in repos/<Category>/<repo>, and clone records in a GRDB SQLite database. JSON import/export is built in, and auto-restore kicks in if the store is ever empty./reshelf skill maps your clones, reads their real source, and recommends whether to learn the approach or use the code — always citing the files it referenced and flagging copyleft before anything gets copied. Settings → General → Agent Skill installs it straight to ~/.claude/skills/reshelf, read-only on your clones. Two more skills ship in extras/: an index over the whole catalog, and one that resurfaces forgotten Collector picks.⌘⇧E exports the whole catalog as JSON, and File → Import Catalog… merges it on the other machine. Import is additive by default: repos already there are matched by GitHub URL and left alone, so importing twice never duplicates. Folders travel too, matched by name, so a folder both Macs created independently converges into one instead of doubling.