Personal Knowledge Management (PKM)
personal open-knowledge base, second-brain, personal knowledge graph, personal knowledge repository, personal knowledge base
VSCode Can Do It Natively
At present, I am using nothing in particular and just typing in VSCode into Markdown files. Apart from the limited search functionality, which is lacking “fuzzy” feature, I don’t miss anything special. Precisely because this out-of-the-box solution is so close to the desired result, many people have simply improving VSCode with extensions as they are aware that it only needs a “notch” to be fully suitable for this purpose.
There is an interesting video on this theme: Document Management in VS Code. GitDoc is a VSCode extension that allows you to automatically commit changes on save.
VSCode: Dendron
Dendron is an open-source, local-first, markdown-based note-taking tool. It is a personal knowledge management solution (PKM) built specifically for developers and it natively integrates into VSCode. The repository is dendronhq/dendron and the documentation is very solid. You should try it.
VSCode: Foam
Foam is also a VSCode extension, with a repository on foambubble/foam. It is conceptually similar to Dendron, but I think it appeared much earlier and is not as good. Nonetheless, you must try it when you test Dendron.
There is even a decent video tutorial on how to Create a Second Brain with Foam.
Roam Research
Roam Research is the one that started it all, I guess.
Logseq
Logseq is really open-source, unlike Roam or Obsidian.
I found some comparisons and experiences related to Logseq vs Obsidian.
Guy shifted from Logseq to Obsidian over the last couple of weeks. One of my reasons for doing so is that while Logseq does technically store your notes as local markdown files, there’s so much added on top of that, that I can’t really open my notes folder in any editor and have a smooth experience reading my notes. The underlying format might be open, but there was still lock-in. Obsidian seems much better for that - there’ll always be a tradeoff between features and portability, but I do prefer Obsidian’s balance.
In short - it appears that Obsidian is better than Logseq due to some differences in notes storage as plain markdown files.
Obsidian
Obsidian is not open-source.
At present, in December 2022, I noticed that everyone was talking about Canvas as a highly important thing - for example, How to Use the New Canvas Plugin in Obsidian, Obsidian Canvas, and Obsidian Canvas. The same goes for Logseq and its Logseq Whiteboards. They are supposed to be like infinite spaces for your ideas - everyone acts as if they are crucial, but they don’t seem that way to me.
Polar
Polar Bookshelf is a Personal Knowledge Repository with the slogan “Read. Learn. Never Forget.” already promises great things. It was open source, but is not anymore, as seen in the old repo: burtonator/polar-bookshelf. This is a fairly new product, so we’ll have to wait and see how it progresses.
Nuclino
Nuclino is more of a personal notes app, but it is very attractive because it also supports teams, and up to 50 documents are completely free, which is usually all I need. It is quite well-designed, has clients for everything, but is not open source. It’s not bad, but since it has Graph and Board, it seems to me that it is more suitable for a personal Second-Brain than for Project Documentation. It imports Markdown nicely, but the rendered output doesn’t look spectacular - GitHub is much nicer. Also, there’s no way to get back out of it once you’ve committed to using it.
Dnote
Dnote is written in Go as simple command line notebook. This original project is developed at dnote/dnote. There is a lot to like here, as it has full-text search, has Golang self-hosted server to publish site from notes, notes are stored in a single file using SQLite, etc. Really developed as a programmer’s personal knowledge base.
Archivy
Archivy is a Python-based actively developed project with features like saving web page contents when adding bookmarks, bidirectional links between notes, everything is a file, powerful and advanced search, and syncing options using archivy/archivy-git. The repository for the project is archivy/archivy. There is also archivy/awesome-archivy
Herodotus
Herodotus is Content Archiving Software written in Python that has Web Interface for Herodotus powered by Vue.js. Around 2020 seems that commits stopped and probably will slowly die.
Perkeep is a personal storage system for life, developed in Golang and actively maintained at perkeep/perkeep. It primarily focuses on the command-line interface. This is not a personal knowledge management tool, but rather a distributed file storage system.