SilverBullet is a browser-based personal knowledge management system that combines Markdown editing with Lua scripting for programmable note-taking and database functionality.
The tool addresses the limitation of static note-taking apps by embedding a full Lua scripting environment directly into your notes. It stores content as Markdown pages organized in a Space, connected through bidirectional wiki-style links. The core innovation is treating notes as a programmable system: you can dynamically generate content, create custom commands, build page templates, and define widgets using Space Lua. Beyond scripting, it includes a built-in database with a query language called SLIQ for structured data retrieval, outlining tools for hierarchical note organization, and task management capabilities.
SilverBullet suits developers and power users comfortable writing code to extend their productivity system, as well as writers who want a clean Markdown editor with live preview and wiki navigation. It works well for personal knowledge bases where you want to query and transform your notes programmatically rather than simply store them. The tool is self-hosted and runs in your browser, keeping all data private on your own infrastructure. If you need a traditional notes app without scripting, or prefer cloud-hosted solutions with vendor lock-in, this is not the right fit.
The project maintains active development across both frontend and backend components. The frontend is built in TypeScript using CodeMirror 6 and Preact, while the backend runs on Rust as a Cargo workspace, handling the HTTP API, file serving, authentication, and a headless-Chrome runtime for server-side Lua execution. The codebase spans multiple languages reflecting the different layers of the system, with the Rust backend providing the infrastructure for the browser-based client to function as a self-hosted application.