Dendron

The personal knowledge management (PKM) tool that grows as you do!

Stars
6.12K
Forks
223
Open issues
782
Closed issues
962
Last commit
8 months ago
Watchers
6.12K
Total releases
0
Total commits
6.37K
Open PRs
18
Closed PRs
1.81K
Repo URL
Platform
License
apache-2.0
Category
Usecase
Notetaking
Offers premium version?
NO
Proprietary?
NO
About

Dendron

Dendron is an open-source, local-first, markdown-based, note-taking tool. It's a personal knowledge management solution (PKM) built specifically for developers and integrates natively with IDEs like VS Code and VSCodium.

Motivation

"We are overwhelmed with information and we don't have the tools to properly index and filter through it. [The development of these tools, which] will give society access to and command over the inherited knowledge of the ages [should] be the first objective of our scientist" - Vannevar Bush, 1945

Why

Most PKM tools help you create notes but slam into a wall retrieving them once your knowledge base reaches a certain size threshold. That threshold varies with the tool, but virtually everything stops working past 10k notes unless the user was extremely diligent about organizing their knowledge. Past this threshold, entropy wins and every query becomes a keyword search and scrolling through pages of results.

Dendron's mission is to help humans organize, find, and work with any amount of knowledge.

It not only helps you create notes but also retrieve them - retrieval works as well with ten notes as it does with ten thousand.

How

Dendron builds on top of the past five decades of programming languages and developer tooling. We apply the key lessons from software to the management of general knowledge. We make managing general knowledge like managing code and your PKM like an IDE.

Design Principles Developer Centric

Dendron aims to create a world class developer experience for managing knowledge.

Our goal is to provide a tool with the efficiency of Vim, the extensibility of Emacs, and the approachability of VS Code.

What this means:

  • dendron features are text centric and composables
  • dendron provides the lowest friction interface for working with your knowledge base
  • dendron optimizes for efficiency, speed, and keyboard focused ux
  • dendron comes with sane defaults and the ability to customize to your liking
  • dendron can be extended along any dimension

Gradual Structure

Dendron extends markdown with structural primitives to make it easier to manage at scale and tooling on top to work with this structure.

Different knowledge bases require different levels of structure - a PKM used for keeping daily journals is different than a company wide knowledge base used by thousands of developers.

Dendron works with any level of structure, meaning you can take free form notes when starting out and gradually layer on more structure as your knowledge base grows more.

Flexible and Consistent

Dendron is both flexible and consistent. It provides a consistent structure for all your notes and gives you the flexibility to change that structure.

In Dendron, you can refactor notes and Dendron will make sure that your PKM is consistent throughout. This means that you have the best of both worlds: a basic structure for the organization but the flexibility to change it.

Features

Dendron has hundreds of features. The following is a list of highlights.

It's just Plaintext

  • manage using git
  • use git blame to see individual edits
  • edit in anything that works on text files (eg. Vim)

Markdown and More

  • create diagrams using mermaid
  • write math using katex
  • embed notes (and parts of notes) in multiple places using note references

Lookup

  • one unified way to find and create notes
  • quickly traverse and create new hierarchies

Schema

  • ensure consistency for your knowledge base
  • get autocomplete hints when creating new notes
  • automatically apply common templates to notes on creation

Navigation

  • explore relationships using backlinks
  • navigate to notes, headers and arbitrary blocks
  • visualize your knowledge base using the graph view

Refactor

  • restructure your knowledge base without breaking links
  • rename a single note or refactor using arbitrary regex
  • rename and move individual sections within notes

Vaults

  • mix and match knowledge using vaults, a git backed folder for your notes
  • use vaults to separate concerns, like personal notes and work notes
  • publish vaults on git to collaborate and share knowledge with others

Publish

  • export your knowledge base as a static (nextjs) site
  • lookup locally and share globally with generated links
  • manage what you publish using fine grained permissions on a per vault, per hierarchy and per note basis

Use Cases

  • personal knowledge management (PKM)
  • documentation
  • meeting notes
  • tasks and todos
  • blogging
  • customer relationship management

Getting Started

Interested in trying out Dendron? Jump right in with the Getting Started Guide!

Join Us

Dendron wouldn't be what it is today without our wonderful set of members and supporters.

Community Calendar

We have a bunch of community events that we host throughout the week. You can stay up to date on whats happening by taking a look at our community calendar!

Dendron Newsletter

Dendron sends out a weekly newsletter highlighting:

Join other Dendrologists

There are a variety of ways to connect with Dendron devs, contributors, and other members of the Dendron community:

Contributors ✨

Dendron wouldn't be what it is today without help from the wonderful gardeners πŸ‘¨β€πŸŒΎπŸ‘©β€πŸŒΎ

If you would like to contribute (docs, code, finance, or advocacy), you can find instructions to do so here.


lsernau

πŸ› πŸ’΅


Kaan Genç

πŸ“– πŸ’»


Mandar Vaze

πŸ“–


hfellerhoff

πŸ“–


Fayçal

πŸ“– πŸ›


Ronald

πŸ› πŸ’΅


Simon-Claudius

πŸ›


Scott Spence

πŸ›


Zhang Handuo

πŸ›


Cameron Yick

πŸ“ πŸ“– πŸ’»


Bryan Jenks

πŸ“– πŸ›


Simon J S Liu

πŸ›


b0xian

πŸ›


Orcomp

πŸ› πŸ“–


Shekhar Neupane

πŸ“–


John Meyer

πŸ›


John Young

πŸ›


Max Krieger

πŸ“– πŸ“ πŸ›


Alan Ionita

πŸ“–


Aditya

πŸ›


Gijs-Jan Roelofs

πŸ›


Vivek Raja

πŸ›


Kevin Poorman

πŸ›


Lars Solberg

πŸ›


8brandon

πŸ’»


Aleksey Rowan

πŸ’» πŸ“– πŸ›


Paul Wright

πŸ“–


Jeff Barr

πŸ“–


Stephen Krider

πŸ“–


Nikita Voloboev

πŸ’»


Jason Jones

πŸ“–


Mark Hyunik Choi

πŸ’» πŸ› πŸ§‘β€πŸ« πŸ“– πŸ“


Peter Arwanitis

πŸ›


flammehawk

πŸ“– πŸ’΅ πŸ’»


Kevin Lin

πŸ’» πŸ§‘β€πŸ« πŸ“– πŸ“ πŸ›


Kiran Pathakota

πŸ’» πŸ§‘β€πŸ« πŸ“– πŸ“ πŸ›


jn64

πŸ›


Thelusion

πŸ›


VΓ­ctor Reyes RodrΓ­guez

πŸ›


funnym0nk3y

πŸ›


sidwellr

πŸ›


Darren Brierton

πŸ›


timDeHof

πŸ›


singlebungle

πŸ›


elliotfielstein

πŸ›


jonathanyeung

πŸ’»


SR--

πŸ“– πŸ› πŸ’»


Denis Sikuler

πŸ“–


Mat Chavez

πŸ›


micharris42

πŸ› πŸ“–


teauxfu

πŸ“–


andrey-jef

πŸ“– πŸ›


Samuel Hobl

πŸ’» πŸ“– πŸ”§


apastuszak

πŸ› πŸ“–


Felipe Whitaker

πŸ“–


unamusedmon

πŸ›


Do Soon Kim

πŸ›


Daria Vasyukova

πŸ›


Dave Richardson

πŸ› πŸ“–


Ding

πŸ“– πŸ›


John

πŸ›


Jeff Hopper

πŸ›


Ryan Randall

πŸ› πŸ“–


CyberFoxar

πŸ›


Britt Selvitelle

πŸ› πŸ’΅ πŸ“– πŸ’»


lenamio

πŸ“–


Sai Santosh

πŸ’»


viz

πŸ’» πŸ“–


Jminding

πŸ“–


Lukas OrsvΓ€rn

πŸ›


sotn3m

πŸ›


Matias Forbord

πŸ“–


Kyle Tycholiz

πŸ› πŸ“–


Stedag

πŸ’»


Miguel Pereira

πŸ“– πŸ›


LaurenΘ›iu Nicola

πŸ› πŸ“–


Eric Marthinsen

πŸ›


Jonathan Dorety

πŸ“–


Buck DeFore

πŸ“–


Ikko Ashimine

πŸ“– ⚠️


simkimsia

πŸ› πŸ’΅ βœ… πŸ“– πŸ’‘


demorganslaw

πŸ›


guilhermesfc

πŸ›


Idan Gazit

πŸ›


ragamroll

πŸ›


Denis Novikov

πŸ› πŸ–‹


Mo

πŸ›


Claus Conrad

πŸ› πŸ“– πŸ’΅


johndendron

πŸ›


Aaron Meese

πŸ“–


Jeff Teter

πŸ›


Mari Rajaram

πŸ“–


Zero King

πŸ’» πŸ›


benhsm

πŸ“– πŸ’»


icedwater

πŸ› πŸ’»


Bassmann

πŸ›


Im

πŸ›


David Paquet Pitts

πŸ›


John Wells

πŸ“–


Luke Carrier

πŸ› πŸ“– πŸ’»


maximilianigl

πŸ›


byron wall

πŸ“–


Carlos CΓ‘mara

πŸ“– πŸ›


Garran Plum

πŸ› πŸ’»


tma66

πŸ’»


not-so-smart

πŸ“–


Jules Sam. Randolph

πŸ›


Mario Kahlhofer

πŸ›


Anatoliy Kostin

πŸ›


r-good

πŸ›


Sagar Behere

πŸ›


Nicklas Gummesson

πŸ› πŸ’»


jquesada2016

πŸ› πŸ“–


Phani Rithvij

πŸ›


Kumudan

πŸ›


Florian Beijers

πŸ› ️️️️♿️


Ryan Hill

πŸ“– πŸ› πŸ’»


Jim Tittsler

πŸ“–


Rick Berger

πŸ›


Thibault

πŸ›


redsolver

πŸ›


NahomBefekadu

πŸ›


jaroslavknotek

πŸ›


Matthew Giallourakis

πŸ›


Murtaza Nazir

πŸ›


emmjayvee

πŸ“–


Dan Gilleland

πŸ“–


Harman

πŸ“–


Adam G

πŸ› πŸ“–


Chisomo Chiweza

πŸ›


rzd-test

πŸ›


Carmen Bianca Bakker

πŸ“– πŸ’‘


KamQb

πŸ’»


sahil48

πŸ›


Tsvetomir Bonev

πŸ› πŸ’» πŸ”§


I'm a lightbulb

πŸ›


James

πŸ› πŸ“–


Callum Macdonald

πŸ’» πŸ› πŸ“–


Vik

πŸ’»


David Gomes

πŸ›


Binly42

πŸ›


Alexander Putilin

πŸ’»


Pavel Vorona

πŸ’»


d1onysus

πŸ“– πŸ›


Bill Moriarty

πŸ›


Jamie Bilinski

πŸ“–


Thanos Lefteris

πŸ› πŸ’»


Yi Seunggi

πŸ›


Joshua Jeschek

πŸ›


SkepticMystic

πŸ”§


raeyulca

πŸ›


Sam Wagner

πŸ›


Sai Kishore Komanduri

πŸ“–


Shein Lin Phyo

πŸ“–


Patrick Yates

πŸ“– πŸ’»


Trevor Sullivan

πŸ›


Vincent Dansereau

πŸ“–


Raffaello Fraboni

πŸ›


Xanaxus

πŸ›


Gander7

πŸ›


jgmpjgmp

πŸ›


Non-J

πŸ›


Jody Foo

πŸ› πŸ“– πŸ’‘


Raymond K

πŸ›


John Hoang

πŸ›


Nickolay Kondratyev

πŸ›


mysoonyu

πŸ›


gbieging

πŸ›


oolonek

πŸ›


Mettcon

πŸ›


LamentConfiguration

πŸ›


irishandyb

πŸ›


PabloLION

πŸ’»


Dmytro Shapovalov

πŸ“– πŸ’‘


lexthanthree

πŸ“– πŸ›


GlitchByte

πŸ›


Steven Fan

πŸ›


LukΓ‘Ε‘ Kucharczyk

πŸ›


Daniel Brandenburg

πŸ› πŸ’»


Paolo Dina

πŸ“–


Alexandru Ichim

πŸ“–


Derek Ardolf

πŸ“–


huland

πŸ’»


Vaden Masrani

πŸ› πŸ”£


Shane Perry

πŸ“–


aodhagan

πŸ›


harrijer

πŸ›


P.J. Wu 吳秉儒

πŸ›


AshSimmonds

πŸ› πŸ–‹


ManuelSpari

πŸ› πŸ’»


William Faunce

πŸ›


ebromberg

πŸ›


Steven Hilton

πŸ”§


Taran Lu

πŸ›


Norbert Klamann

πŸ“–


Marek S. Łukasiewicz

πŸ“– πŸ’» πŸ”§


abunavas

πŸ€”


Mihai Constantin

πŸ”§


riccardo dozzo

πŸ›


bugfixd

πŸ›


Kevin Fischer

πŸ“– πŸ–‹


Nikhil Jha

πŸ›


avhb

πŸ’»


cquick01

πŸ› πŸ’»


Weiming

πŸ“– βœ…


JosΓ© Longo

πŸ›


ΰΆ‚

πŸ›


Phoebian

πŸ“–


Patrik Grip-Jansson

πŸ“– πŸ›


Robert van Kints

πŸ›


Patrick Wilkie

πŸ›


Michael Greene

πŸ›


Bryan Lee

πŸ“–


Lodrus

πŸ›


rogue2971

πŸ› πŸ–‹


doylejg

πŸ›


Virile

πŸ›


Christophe Benz

πŸ“–


Tanamr

πŸ›


cwtowns

πŸ›


Henry

πŸ›


Brian Parma

πŸ›


Vladimir Sanchez

πŸ“–


Wilhelm Payne

πŸ›


Yttrium ZHAO

πŸ›


Sean Li

πŸ’»


bigheadghost

πŸ›


Swithun

πŸ›


NuclearPowerNerd

πŸ›


Vikram G

πŸ’»


ericthomas1

πŸ›


jeep

πŸ›


Vianney Stroebel

πŸ›


mivanit

πŸ”§


tjr357

πŸ›


Pedro

πŸ›


JM-Laurel

πŸ›


Rob Lourens

πŸ›


Emily Marigold Klassen

πŸ›


Harshita Joshi

πŸ›


KitLeskinen

πŸ›


Wiktoria Mielcarek

πŸ›


Allison Bellows

πŸ›


Karsten Gresch

πŸ›

(emoji key):

This project follows the all-contributors specification. We welcome community contributions and pull requests. See the Dendron development guide for information on how to set up a development environment and submit code.

License

Dendron is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3.

See LICENSE and NOTICE for more information.

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.