CodeShelfEvery project you've ever built, one window away. Point CodeShelf at the folders where your code lives and it turns them into a browsable library — cards with language, branch, last-touched time and auto-generated keyword tags. Open a project, or find the one you half-remember, without digging through a file tree.
WhyA CodeShelf reads that pile and makes it legible: what's warm, what's archived, what a project even was. Three ways to look at itShelves mirror your folders. Small shelves sit side by side instead of each claiming a whole row, and a large one shows a single row with the rest a click away. Workbench puts what you're actually working on in front: anything touched in the last fortnight gets a strip at the top with its description and a direct open button, and every card carries a heat edge from hot to frozen.
Timeline drops folders entirely and lays the library out by age — Today, This week, This month, Months, This year, The deep past — newest at the top, sinking as it cools.
What it doesFinds your projects properly. Discovery follows the git repository boundary: a directory that is a repo is one project, and the things inside it are its components. A directory whose children are repos is a category — a shelf. That one rule handles monorepos, nested groups and deeply-buried projects without depth limits or naming conventions. Where a folder is genuinely ambiguous, a one-line
Searches by what a project is, not just its name. Each project is indexed into a small corpus — a README excerpt, its Tags projects automatically. Keyword chips are picked by TF-IDF across your whole library, so they're the words that make a project distinctive rather than the words every project shares. Language keywords are filtered out using a denylist harvested from VS Code's own syntax grammars, and a project never tags itself with its own name. Collects git worktrees. Worktrees don't scatter as duplicate cards — they collect onto the parent project as a stacked deck with a count, expanding to list each branch. Gets out of the way. Star what matters, hide what doesn't, fade what's gone stale. Getting started
CodeShelf opens automatically when you launch an empty VS Code window. With a folder already open it stays out of the way. Settings
Each root can carry a label and per-shelf or per-project overrides:
Shelves and projects can be keyed by absolute path or by folder name. Commands
Poster artProjects can carry generated SVG poster art — produced locally with the Claude CLI if you have it installed, or you can attach your own image. Injected SVG is sanitised (scripts, event handlers and PrivacyScanning, indexing and tagging all happen on your machine — CodeShelf reads the folders you point it at, keeps its cache locally, and makes no network requests of its own. The one exception is opt-in: if you ask it to generate poster art, it runs the Claude CLI you already have installed, and that CLI talks to Anthropic. No poster generation, no outbound traffic. LicenseMIT — see LICENSE. |


