Skip to content

dendronhq/dendron

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

StandWithUkraine

dendronhq on Twitter Dendron on YouTube Discord VS Code Installs of Dendron

All Contributors

Dendron

Dendron Logo

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
lsernau

🐛 💵
Kaan Genç
Kaan Genç

📖 💻
Mandar Vaze
Mandar Vaze

📖
hfellerhoff
hfellerhoff

📖
Fayçal
Fayçal

📖 🐛
Ronald
Ronald

🐛 💵
Simon-Claudius
Simon-Claudius

🐛
Scott Spence
Scott Spence

🐛
Zhang Handuo
Zhang Handuo

🐛
Cameron Yick
Cameron Yick

📝 📖 💻
Bryan Jenks
Bryan Jenks

📖 🐛
Simon J S Liu
Simon J S Liu

🐛
b0xian
b0xian

🐛
Orcomp
Orcomp

🐛 📖
Shekhar Neupane
Shekhar Neupane

📖
John Meyer
John Meyer

🐛
John Young
John Young

🐛
Max Krieger
Max Krieger

📖 📝 🐛
Alan Ionita
Alan Ionita

📖
 Aditya
Aditya

🐛
Gijs-Jan Roelofs
Gijs-Jan Roelofs

🐛
Vivek Raja
Vivek Raja

🐛
Kevin Poorman
Kevin Poorman

🐛
Lars Solberg
Lars Solberg

🐛
8brandon
8brandon

💻
Aleksey Rowan
Aleksey Rowan

💻 📖 🐛
Paul Wright
Paul Wright

📖
Jeff Barr
Jeff Barr

📖
Stephen Krider
Stephen Krider

📖
Nikita Voloboev
Nikita Voloboev

💻
Jason Jones
Jason Jones

📖
Mark Hyunik Choi
Mark Hyunik Choi

💻 🐛 🧑‍🏫 📖 📝
Peter Arwanitis
Peter Arwanitis

🐛
flammehawk
flammehawk

📖 💵 💻
Kevin Lin
Kevin Lin

💻 🧑‍🏫 📖 📝 🐛
Kiran Pathakota
Kiran Pathakota

💻 🧑‍🏫 📖 📝 🐛
jn64
jn64

🐛
Thelusion
Thelusion

🐛
Víctor Reyes Rodríguez
Víctor Reyes Rodríguez

🐛
funnym0nk3y
funnym0nk3y

🐛
sidwellr
sidwellr

🐛
Darren Brierton
Darren Brierton

🐛
timDeHof
timDeHof

🐛
singlebungle
singlebungle

🐛
elliotfielstein
elliotfielstein

🐛
jonathanyeung
jonathanyeung

💻
SR--
SR--

📖 🐛 💻
Denis Sikuler
Denis Sikuler

📖
Mat Chavez
Mat Chavez

🐛
micharris42
micharris42

🐛 📖
teauxfu
teauxfu

📖
andrey-jef
andrey-jef

📖 🐛
Samuel Hobl
Samuel Hobl

💻 📖 🔧
apastuszak
apastuszak

🐛 📖
Felipe Whitaker
Felipe Whitaker

📖
unamusedmon
unamusedmon

🐛
Do Soon Kim
Do Soon Kim

🐛
Daria Vasyukova
Daria Vasyukova

🐛
Dave Richardson
Dave Richardson

🐛 📖
Ding
Ding

📖 🐛
John
John

🐛
Jeff Hopper
Jeff Hopper

🐛
Ryan Randall
Ryan Randall

🐛 📖
CyberFoxar
CyberFoxar

🐛
Britt Selvitelle
Britt Selvitelle

🐛 💵 📖 💻
lenamio
lenamio

📖
Sai Santosh
Sai Santosh

💻
viz
viz

💻 📖
Jminding
Jminding

📖
Lukas Orsvärn
Lukas Orsvärn

🐛
sotn3m
sotn3m

🐛
Matias Forbord
Matias Forbord

📖
Kyle Tycholiz
Kyle Tycholiz

🐛 📖
Stedag
Stedag

💻
Miguel Pereira
Miguel Pereira

📖 🐛
Laurențiu Nicola
Laurențiu Nicola

🐛 📖
Eric Marthinsen
Eric Marthinsen

🐛
Jonathan Dorety
Jonathan Dorety

📖
Buck DeFore
Buck DeFore

📖
Ikko Ashimine
Ikko Ashimine

📖 ⚠️
simkimsia
simkimsia

🐛 💵 📖 💡
demorganslaw
demorganslaw

🐛
guilhermesfc
guilhermesfc

🐛
Idan Gazit
Idan Gazit

🐛
ragamroll
ragamroll

🐛
Denis Novikov
Denis Novikov

🐛 🖋
Mo
Mo

🐛
Claus Conrad
Claus Conrad

🐛 📖 💵
johndendron
johndendron

🐛
Aaron Meese
Aaron Meese

📖
Jeff Teter
Jeff Teter

🐛
Mari Rajaram
Mari Rajaram

📖
Zero King
Zero King

💻 🐛
benhsm
benhsm

📖 💻
icedwater
icedwater

🐛 💻
Bassmann
Bassmann

🐛
Im
Im

🐛
David Paquet Pitts
David Paquet Pitts

🐛
John Wells
John Wells

📖
Luke Carrier
Luke Carrier

🐛 📖 💻
maximilianigl
maximilianigl

🐛
byron wall
byron wall

📖
Carlos Cámara
Carlos Cámara

📖 🐛
Garran Plum
Garran Plum

🐛 💻
tma66
tma66

💻
not-so-smart
not-so-smart

📖
Jules Sam. Randolph
Jules Sam. Randolph

🐛
Mario Kahlhofer
Mario Kahlhofer

🐛
Anatoliy Kostin
Anatoliy Kostin

🐛
r-good
r-good

🐛
Sagar Behere
Sagar Behere

🐛
Nicklas Gummesson
Nicklas Gummesson

🐛 💻
jquesada2016
jquesada2016

🐛 📖
Phani Rithvij
Phani Rithvij

🐛
Kumudan
Kumudan

🐛
Florian Beijers
Florian Beijers

🐛 ️️️️♿️
Ryan Hill
Ryan Hill

📖 🐛 💻
Jim Tittsler
Jim Tittsler

📖
Rick Berger
Rick Berger

🐛
Thibault
Thibault

🐛
redsolver
redsolver

🐛
NahomBefekadu
NahomBefekadu

🐛
jaroslavknotek
jaroslavknotek

🐛
Matthew Giallourakis
Matthew Giallourakis

🐛
Murtaza Nazir
Murtaza Nazir

🐛
emmjayvee
emmjayvee

📖
Dan Gilleland
Dan Gilleland

📖
Harman
Harman

📖
Adam G
Adam G

🐛 📖
Chisomo Chiweza
Chisomo Chiweza

🐛
rzd-test
rzd-test

🐛
Carmen Bianca Bakker
Carmen Bianca Bakker

📖 💡
KamQb
KamQb

💻
sahil48
sahil48

🐛
Tsvetomir Bonev
Tsvetomir Bonev

🐛 💻 🔧
I'm a lightbulb
I'm a lightbulb

🐛
James
James

🐛 📖
Callum Macdonald
Callum Macdonald

💻 🐛 📖
Vik
Vik

💻
David Gomes
David Gomes

🐛
Binly42
Binly42

🐛
Alexander Putilin
Alexander Putilin

💻
Pavel Vorona
Pavel Vorona

💻
d1onysus
d1onysus

📖 🐛
Bill Moriarty
Bill Moriarty

🐛
Jamie Bilinski
Jamie Bilinski

📖
Thanos Lefteris
Thanos Lefteris

🐛 💻
Yi Seunggi
Yi Seunggi

🐛
Joshua Jeschek
Joshua Jeschek

🐛
SkepticMystic
SkepticMystic

🔧
raeyulca
raeyulca

🐛
Sam Wagner
Sam Wagner

🐛
Sai Kishore Komanduri
Sai Kishore Komanduri

📖
Shein Lin Phyo
Shein Lin Phyo

📖
Patrick Yates
Patrick Yates

📖 💻
Trevor Sullivan
Trevor Sullivan

🐛
Vincent Dansereau
Vincent Dansereau

📖
Raffaello Fraboni
Raffaello Fraboni

🐛
Xanaxus
Xanaxus

🐛
Gander7
Gander7

🐛
jgmpjgmp
jgmpjgmp

🐛
Non-J
Non-J

🐛
Jody Foo
Jody Foo

🐛 📖 💡
Raymond K
Raymond K

🐛
John Hoang
John Hoang

🐛
Nickolay Kondratyev
Nickolay Kondratyev

🐛
mysoonyu
mysoonyu

🐛
gbieging
gbieging

🐛
oolonek
oolonek

🐛
Mettcon
Mettcon

🐛
LamentConfiguration
LamentConfiguration

🐛
irishandyb
irishandyb

🐛
PabloLION
PabloLION

💻 🐛
Dmytro Shapovalov
Dmytro Shapovalov

📖 💡
lexthanthree
lexthanthree

📖 🐛
GlitchByte
GlitchByte

🐛
Steven Fan
Steven Fan

🐛
Lukáš Kucharczyk
Lukáš Kucharczyk

🐛
Daniel Brandenburg
Daniel Brandenburg

🐛 💻
Paolo Dina
Paolo Dina

📖
Alexandru Ichim
Alexandru Ichim

📖
Derek Ardolf
Derek Ardolf

📖
huland
huland

💻
Vaden Masrani
Vaden Masrani

🐛 🔣
Shane Perry
Shane Perry

📖
aodhagan
aodhagan

🐛
harrijer
harrijer

🐛
P.J. Wu 吳秉儒
P.J. Wu 吳秉儒

🐛
AshSimmonds
AshSimmonds

🐛 🖋
ManuelSpari
ManuelSpari

🐛 💻
William Faunce
William Faunce

🐛
ebromberg
ebromberg

🐛
Steven Hilton
Steven Hilton

🔧
Taran Lu
Taran Lu

🐛
Norbert Klamann
Norbert Klamann

📖
Marek S. Łukasiewicz
Marek S. Łukasiewicz

📖 💻 🔧 🐛
abunavas
abunavas

🤔
Mihai Constantin
Mihai Constantin

🔧
riccardo dozzo
riccardo dozzo

🐛
bugfixd
bugfixd

🐛
Kevin Fischer
Kevin Fischer

📖 🖋
Nikhil Jha
Nikhil Jha

🐛
avhb
avhb

💻
cquick01
cquick01

🐛 💻
Weiming
Weiming

📖
José Longo
José Longo

🐛
ං

🐛
Phoebian
Phoebian

📖
Patrik Grip-Jansson
Patrik Grip-Jansson

📖 🐛
Robert van Kints
Robert van Kints

🐛
Patrick Wilkie
Patrick Wilkie

🐛
Michael Greene
Michael Greene

🐛
Bryan Lee
Bryan Lee

📖
Lodrus
Lodrus

🐛
rogue2971
rogue2971

🐛 🖋
doylejg
doylejg

🐛
Virile
Virile

🐛
Christophe Benz
Christophe Benz

📖
Tanamr
Tanamr

🐛
cwtowns
cwtowns

🐛
Henry
Henry

🐛
Brian Parma
Brian Parma

🐛
Vladimir Sanchez
Vladimir Sanchez

📖
Wilhelm Payne
Wilhelm Payne

🐛
Yttrium ZHAO
Yttrium ZHAO

🐛
Sean Li
Sean Li

💻
bigheadghost
bigheadghost

🐛
Swithun
Swithun

🐛
NuclearPowerNerd
NuclearPowerNerd

🐛
Vikram G
Vikram G

💻
ericthomas1
ericthomas1

🐛
jeep
jeep

🐛
Vianney Stroebel
Vianney Stroebel

🐛
mivanit
mivanit

🔧
tjr357
tjr357

🐛
Pedro
Pedro

🐛
JM-Laurel
JM-Laurel

🐛
Rob Lourens
Rob Lourens

🐛
Emily Marigold Klassen
Emily Marigold Klassen

🐛
Harshita Joshi
Harshita Joshi

🐛
KitLeskinen
KitLeskinen

🐛
Wiktoria Mielcarek
Wiktoria Mielcarek

🐛
Allison Bellows
Allison Bellows

🐛
Karsten Gresch
Karsten Gresch

🐛
Mat
Mat

🐛 💻
Markus M. May
Markus M. May

🐛
Paul Mullins
Paul Mullins

🐛
estivaltromie
estivaltromie

🐛
Rėdas Peškaitis
Rėdas Peškaitis

🐛

(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.