A programmable personal knowledge database using Markdown and Lua for extensible note taking and data management.

SilverBullet is an open-source, self-hosted application that functions as a programmable personal knowledge database. It provides a browser-based environment for managing notes and data using Markdown files organized into a Space. Users interact with the software through a web interface to create, link, and query their information, treating their collection of notes as a structured system rather than a simple list of documents.
The application is deployed as a server that serves a TypeScript-based client to the browser. It combines a live-preview editor with wiki-style bidirectional linking and a built-in query language. This allows users to treat their notes as a database while maintaining the simplicity of plain text files. The system supports various workflows, from simple writing and outlining to complex data management and task tracking.
The software architecture consists of a Rust backend and a Preact frontend built on the CodeMirror 6 editor component. The server handles the HTTP API, authentication, and a headless-Chrome runtime to execute server-side Lua scripts. This design enables users to extend the application's functionality through a specific Lua dialect, allowing for the creation of custom widgets and automated page templates. The backend is distributed as a standalone binary or can be run via a Docker container, ensuring that the user maintains full control over their data storage.
SilverBullet is positioned as a tool for writers, outliners, and developers who require a private, extensible system for managing structured personal data and knowledge.
A privacy first personal knowledge management system with block level references and markdown WYSIWYG editing.
A privacy-first knowledge management platform using bidirectional linking and outlines to organize notes and tasks.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.