Build a personal knowledge base with Markdown and Lua scripts
GitHub RepoImpressions1.8k

Build a personal knowledge base with Markdown and Lua scripts

@githubprojectsPost Author

Project Description

View on GitHub

Build Your Second Brain with Markdown and Lua

Ever feel like your notes are scattered across a dozen apps, each with its own lock-in and quirks? You want something simple, future-proof, and under your control. You want plain text, but you also want it to be powerful and connected. That’s the itch that tools like Silverbullet aim to scratch.

It’s a personal knowledge base that doesn’t overcomplicate things. You write in Markdown, you store files locally, and you get to automate and connect your thoughts with little Lua scripts. It’s like if a note-taking app and a lightweight IDE had a very useful, text-focused child.

What It Does

Silverbullet is a local-first, extensible knowledge base. At its core, it’s a clean web-based editor for a folder of Markdown files on your computer. The twist is its built-in plugin system, powered by Deno, that lets you write scripts in Lua (or JavaScript) to query, manipulate, and connect your notes. Think of it as a programmable wiki for your own thoughts and data.

Why It’s Cool

The magic is in the blend of simplicity and programmability.

  • It’s Just Files: Your notes are plain Markdown files in a folder. You can use git for version control, edit them with Vim or VS Code, and you’re never locked in. The app is just a fancy, interactive view of that folder.
  • Live Queries: You can embed dynamic queries in your pages. For example, write a snippet that automatically lists all pages tagged with #project or pulls in tasks from other notes. The page updates live as you edit your content.
  • Lua (or JS) for Automation: This is the killer feature. You can write small scripts to create custom commands, automate formatting, sync data, or build your own integrations. The Lua support is particularly neat—it’s fast, lightweight, and feels right at home for scripting a tool like this.
  • Bi-Directional Linking: It supports [[wiki-style links]] effortlessly, creating a web of connected notes and providing a backlink panel to see what links to your current page.
  • Self-Hosted & Private: Everything runs on your machine. Your data never touches a server unless you decide to sync the folder yourself.

How to Try It

Getting started is straightforward. You’ll need Deno installed first.

  1. Install Deno from deno.land if you don’t have it.
  2. Run the install command:
    deno install -g --allow-net --allow-read --allow-write --allow-env --allow-run --name silverbullet silverbullet
    
  3. Navigate to the folder you want to use as your knowledge base and run:
    silverbullet .
    
  4. Open your browser to http://localhost:3000 and start writing.

You can also check out the GitHub repository for more detailed docs, plugin examples, and the source.

Final Thoughts

Silverbullet won’t replace a full-featured editor like VS Code for complex projects, and it’s not a collaborative doc like Google Docs. It sits perfectly in the middle as a thinking environment. If you’ve ever wanted a tool like Obsidian but wished you could script its behavior more directly without dealing with a complex plugin API, this is worth a serious look.

It embraces the Unix philosophy: do one thing well (edit Markdown), and pipe in other tools (via scripts) for power. For developers who live in text and love to automate, it feels like home.


Follow for more interesting projects: @githubprojects

Back to Projects
Project ID: fc5cf347-fba1-4e08-a1e6-ea4aea7c8f97Last updated: December 27, 2025 at 04:37 PM