#### ##### # # # # # # # # # ### # # # # # # # #### ##### #
LastDB is in alpha. The product you install from Homebrew is a headless local daemon — apps talk to it over a Unix socket.
Data is never accessed as a free-for-all dump. Queries and mutations go through the node; first-party apps (Brain, Kanban, …) are the usual interface. Building a new app uses the same socket contract.
You do not build here by hand-rolling scaffolding. Install Last Stack (LastDB + apps + agent skills), describe the feature to your agent, and the loop below carries it to shipped. Everything further down is the contract that loop runs on.
[Install LastDB →] [Apps] — install first if you do not have a node yet.
This is the intended developer workflow. You state what you want; your agent does the scoping, the cards, and the PRs. You make the decisions.
1. INSTALL LAST STACK
git clone https://github.com/EdgeVector/last-stack ~/.last-stack && ~/.last-stack/setup ~/.last-stack/bin/last-stack-install-apps
One clone installs LastDB, the apps (Brain, Kanban, Situations, …), and the agent skills + scheduled routines that run the loop below.
2. TELL YOUR AGENT THE FEATURE
"ship this feature: search results should show a snippet of the match"
Plain language, to Claude Code or any agent with the skills installed. The ship-feature skill scopes the work, asks all its open questions in one batch, then files it: a North Star with a terminal proof, a milestone, and PR-sized cards on the board.
3. SHIP IT
Agents claim cards from the board and drive each one in an isolated worktree to a merged PR. A card reaches done only when its outcome is proven — not when the diff exists.
Decisions land in Brain; status lands on the board. The kanban-agent, wait-merge, and close-out skills do the driving.
4. WATCH KANBAN
kanban list kanban list --column doing kanban show <slug>
The board is the live status of your feature. Cards flow todo → doing → done as agents pick them up, and a blocked card says what it waits on.
5. MORNING SYNC TO UNBLOCK
"morning sync"
Once a day, the morning-sync skill surfaces the short list of decisions only you can make, each with context and a recommendation. Answer them: every answer is written to Brain and moves cards on the board. That is the whole management surface.
The human-and-agent daily loop in more detail: How to use it.
1. INSTALL
Use the home-page one-liner (Last Stack installs LastDB + apps). Database only:
brew install edgevector/lastdb/lastdb brew services start lastdb
Full copy-paste path: Home → Install.
2. CONFIRM THE NODE
curl -s --unix-socket ~/.lastdb/data/folddb.sock http://localhost/health lastdb status lastdb --version lastdbd --version
Expect {"status":"ok"}. Socket: ~/.lastdb/data/folddb.sock. Health path is /health (not /api/health). TCP :9001 is retired. Paste blocks omit # comments (macOS zsh interactive default).
3. USE AN APP (OR THE SOCKET)
brain init --grant-consent brain concept new local-search --title "Local search" --body "Embeddings stay on this machine." brain ask "what did I note about search?" curl -s --unix-socket ~/.lastdb/data/folddb.sock http://localhost/api/status
Apps are the happy path. Building a new app: talk HTTP to the same socket (query / mutation / schemas). Last line is raw daemon status.
INCLUDED
lastdbd — semantic daemon (store, index, app identity, sync when connected).
lastdb — tiny control CLI (status, connect, …).
Socket API for apps over ~/.lastdb/data/folddb.sock.
NOT INCLUDED
No desktop UI, no DMG, no built-in file-ingestion product surface. Older docs that mention lastdb ingest or /api/ingestion/* describe a retired full-node path — not the Homebrew install.
All examples use the owner Unix socket. Prefer first-party CLIs unless you are building a new app.
HEALTH
curl -s --unix-socket ~/.lastdb/data/folddb.sock \ http://localhost/health
Expect {"status":"ok"}.
STATUS
curl -s --unix-socket ~/.lastdb/data/folddb.sock \ http://localhost/api/status
Process / data-dir / sync summary.
SCHEMAS
curl -s --unix-socket ~/.lastdb/data/folddb.sock \ http://localhost/api/schemas
List schemas known to this node.
QUERY
curl -s --unix-socket ~/.lastdb/data/folddb.sock \
-X POST http://localhost/api/query \
-H "Content-Type: application/json" \
-d '{"schema_name":"concept","limit":5}'Structured query. Apps also use /api/mutation for writes (POST).
Exact request shapes evolve with the node; treat first-party apps and the TypeScript app SDK as the stable surface when in doubt. See Apps.
LASTDB (Homebrew)
lastdb status lastdb --version lastdbd --version lastdb connect brew services start lastdb brew services restart lastdb
Local use needs no account. lastdb connect is optional — joins an existing account for multi-device cloud backup/sync. App workflows live in app CLIs.
APPS
brain init --grant-consent brain concept new <slug> --title "…" --body "…" brain ask "…" brain mcp kanban init kanban list kanban add <slug> --title "…" kanban mcp situations list situations init
Full catalog: Apps. Daily loop: How to use it.