Skip to content

Latest commit

Β 

History

History
201 lines (152 loc) Β· 6.03 KB

File metadata and controls

201 lines (152 loc) Β· 6.03 KB

LastDB App Stack

This is the practical download path for the LastDB tools Tom is actively dogfooding and considers usable for other people to try β€” including invite recipients who need Org + LastSecrets to join an organization.

Included (all public on GitHub):

  • LastDB: the local daemon installed from the edgevector/lastdb Homebrew tap.
  • Brain (brain): durable notes, decisions, references, and retrieval over LastDB.
  • Kanban (kanban): board and work-state tracking over LastDB (repo EdgeVector/fkanban).
  • Situations (situations): active operational posture and preflight checks for agents.
  • Routines (routines): scheduler and dispatcher for the Last Stack routine fleet. The bundle installs the CLI; starting its daemon remains an explicit operator action because that begins scheduled agent work.
  • Dogfood Graph: LastDB-native manual dogfood planning and evidence.
  • Org (org): org membership, shared org databases, invite/join. Public install source: https://github.com/EdgeVector/org.
  • LastSecrets (lastsecrets): local secret references backed by LastDB (raw values never in search indexes). Required by Org for E2E keys. Public install source: https://github.com/EdgeVector/lastsecrets.
  • Search (search): local semantic search app used by Brain and Kanban.
  • LastDB Browser (lastdb-browser): read-only local browser for schemas, keys, records, and atoms. The installer builds the UI from the public mirror and links its launcher onto ~/.local/bin.

Not included in this bundle:

  • LastGit: review/CI venue for EdgeVector contributors (not required for a cold invitee install of the app CLIs).

One Command

Install Last Stack first, then install the app bundle:

git clone https://github.com/EdgeVector/last-stack ~/.last-stack
~/.last-stack/setup
~/.last-stack/bin/last-stack-install-apps

By default the installer:

  • installs the LastDB daemon with Homebrew;
  • clones the public app repos under ~/lastdb-apps;
  • runs bun install in each app repo;
  • builds LastDB Browser with its npm lockfile;
  • links the CLI apps and lastdb-browser launcher where they expose a command.

Use a different app directory:

~/.last-stack/bin/last-stack-install-apps --dir ~/src/lastdb-apps

Skip Homebrew if LastDB is already installed:

~/.last-stack/bin/last-stack-install-apps --no-brew

Skip linking CLIs if you only want the checkouts:

~/.last-stack/bin/last-stack-install-apps --no-link

After Downloading

Start LastDB:

brew services start lastdb

Keep the Mini binary path canonical:

~/.last-stack/bin/last-stack-lastdb-current set
~/.last-stack/bin/last-stack-lastdb-current check --verbose

The helper creates ~/.lastdb/current and points ~/.local/bin/{lastdb,lastdbd,folddb} through it. It never starts, stops, restarts, kickstarts, or kills lastdbd. Safe-upgrade scripts should call it after a successful live binary change; pass --launch-agent-plist <path> when a user LaunchAgent plist should be rewritten to ~/.lastdb/current/lastdbd without reloading the job. Pass the same flag to check so it also rejects a plist that bypasses current.

Initialize the apps:

# first-run setup (not a health check β€” run once after brew services start lastdb)
brain init --grant-consent   # bootstrap Brain
kanban init                  # bootstrap Kanban
situations init              # bootstrap Situations
lastsecrets init             # bootstrap LastSecrets (needed for org keys)
org init                     # bootstrap Org (invite/join)
routines install-daemon      # optional: start scheduled agent routines

Open the local data browser after the node is running:

lastdb-browser

The launcher uses ~/.lastdb/data/folddb.sock by default and opens the local UI. Set LASTDB_SOCKET to use another machine-local socket.

Org: create and invite (public-key seal)

Preferred path β€” no Exemem account required. Full write-up: https://github.com/EdgeVector/org/blob/main/docs/INVITE.md

# Admin (once)
org create friends --name "Friends"

# Friend (once per machine)
org receive
# β†’ send the orgpk1:… line to the admin (clear-channel OK)

# Admin seals to that public key
org invite friends --to 'orgpk1:PASTE_THEIR_KEY' --agent
# β†’ paste the orgseal1:… package back to the friend (clear-channel OK)

# Friend joins on the SAME machine that ran org receive
org join --sealed 'orgseal1:PASTE_PACKAGE'
org show friends

Fallback only (invite file embeds the raw E2E key β€” AirDrop/USB, never email):

org invite friends --out ~/Desktop/friends.invite.json --agent
org join --from ~/Downloads/friends.invite.json

Run Dogfood Graph locally:

cd ~/lastdb-apps/dogfood-graph
npm run dev

If a linked command is not found, make sure Bun and local user binaries are on your shell path:

export PATH="$HOME/.bun/bin:$HOME/.local/bin:$PATH"

Manual Install

Install the daemon:

brew install edgevector/lastdb/lastdb
brew services start lastdb

Download the app repos:

mkdir -p ~/lastdb-apps
cd ~/lastdb-apps
git clone https://github.com/EdgeVector/brain.git
git clone https://github.com/EdgeVector/fkanban.git kanban
git clone https://github.com/EdgeVector/situations.git
git clone https://github.com/EdgeVector/routines.git
git clone https://github.com/EdgeVector/dogfood-graph.git
git clone https://github.com/EdgeVector/org.git
git clone https://github.com/EdgeVector/lastsecrets.git

Install dependencies:

for app in brain kanban situations routines dogfood-graph org lastsecrets; do
  bun install --cwd "$HOME/lastdb-apps/$app"
done

Link commands:

cd ~/lastdb-apps/brain && bun link
cd ~/lastdb-apps/kanban && bun run install-cli
ln -snf ~/lastdb-apps/situations/bin/situations ~/.local/bin/situations
ln -snf ~/lastdb-apps/routines/bin/routines ~/.local/bin/routines
cd ~/lastdb-apps/org && bun link
cd ~/lastdb-apps/lastsecrets && bun link

Dogfood Graph is a web app rather than a global CLI; run it from its checkout.