sb brings your SilverBullet spaces to the terminal: run queries and Space Lua against your live space, and script your knowledge from the shell, a cron job or a coding agent.
# Every open task, from every page
sb query 'from t = index.tasks() where not t.done select t.name'
# The five pages that changed last
sb query 'from p = index.pages() order by p.lastModified desc limit 5 select p.name'
# Everything waiting in @pete’s Mention Inbox
sb eval 'identity.mentions("pete")' --json
# Run a Space Lua script against your live space
sb script --file weekly-review.lua
# JSON when piped, ready for other tools
sb query 'from p = index.pages("adr") select {name = p.name, status = p.status}' --json | jq
Queries and Space Lua from the terminal.sb query runs the same queries you write in your pages, and sb eval and sb script run Space Lua against your live space, with your libraries and data. sb describe lists what you can query.
Made for scripts and coding agents. Plain text in a terminal, JSON when piped, and a distinct exit code for every kind of failure, so it fits shell scripts and scheduled jobs. It also lets a coding agent work with your space: the SilverBullet skills teach it how.
Remote pages as files.sb fs lists, reads, writes and edits the files in a space on a SilverBullet Server, without a copy on your machine. Edits check the page’s revision first, so you never overwrite a change someone made in the meantime. (A local Desktop space is already a folder on disk, so any editor or script can work on its files directly.)
Install
With SilverBullet Server
Download sb for your platform from the latest release on GitHub, next to the server binary, and put it somewhere on your PATH. Then connect it to your space with sb space add.