Skip to content

dendronhq/dendron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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. For setup of local development environment run ./setup.sh which automates the setup.

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

πŸ›

(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 Apache License, Version 2.0.

See LICENSE and NOTICE for more information.