noggin
A working-memory tree for in-flight work — your second brain for the stuff you can't fit in your head.
Get startedItems form a tree. There is at most one active item; the path from a root to the active item is your current spine. Other open items are paused. Done items stay in the tree so you can see what got finished.
[1📍] ship v1 of noggin
[1✅] build a demo script
[2✅] create a documentation file
[3] perform final testing
[4] create a PR
[5] complete the PR
Quick taste
$ noggin push "ship v1"
$ noggin add "write the README"
$ noggin push "wire up tests" # side-quest under ship v1
$ noggin note "tried jest, going with node:test"
$ noggin pop # finish the side-quest, back to ship v1
$ noggin show
[1📍] ship v1
[1✅] wire up tests ✏️
[2] write the README
The CLI is the source of truth. Everything else — VS Code extension, agent plugin, MCP server — wraps the same verbs.
Where noggin runs
| Environment | Sidebar UI | Agent skill | Agent tools | Bare CLI |
|---|---|---|---|---|
| VS Code — Marketplace extension | ✓ | ✓ auto | ✓ LM tools (in-process) | ✓ |
| Desktop app — standalone Windows app | ✓ | — | — | ✓ |
| VS Code — agent plugin (no extension) | — | ✓ auto | — | ✓ |
GitHub Copilot CLI (copilot) | — | ✓ via plugin or manual | ✓ MCP | ✓ |
| Claude Code | — | ✓ via plugin or manual | ✓ MCP | ✓ |
| OpenAI Codex — CLI + app | — | ✓ via plugin | ✓ MCP | ✓ |
| Any terminal | — | — | — | ✓ |
The four experiences:
- Sidebar UI — the noggin tree with drag-and-drop and a details
pane with inline-editable notes. VS Code adds a status bar item for
the active item; the desktop app adds a
sidebar that can list more than one noggin at once. Both share the
same
@noggin/uicomponents, so the interactions are identical. - Agent skill — the behavioral guide
(
SKILL.md) the LLM reads to decide when topush,add,note, etc. Loaded automatically wherever skills are supported. - Agent tools — the verbs exposed to the LLM as tools so it can invoke them directly. The VS Code extension uses in-process language-model tools; every other host uses the stdio MCP server.
- Bare CLI —
noggin push,noggin show, etc., in any terminal. Always available; the YAML file is the source of truth.
Explore
Quickstart
Pick your environment, install it, and make your first noggin in five minutes.
CLI reference
Every verb, every flag, generated from the binary.
Verb demo
Side-by-side human vs JSON output, real CLI runs.
JavaScript API
Embedding noggin in Node — Noggin class, pure functions, serializers.
MCP server
Tools the agent sees in Copilot CLI, Claude Code, and Codex — the same verbs over stdio.
Document schema
The NogginDocument shape, formal JSON Schema, field semantics.
Response envelope
JSON wrapper around CLI / MCP / LM tool responses.