---
**NOTE**
This repo contains Org-roam v1, which is no longer actively maintained.
Consider migrating to [latest Org-roam](https://github.com/org-roam/org-roam/).
---
Org-roam is a plain-text knowledge management system. It brings some of Roam's more powerful features into the Org-mode ecosystem.
Org-roam borrows principles from the Zettelkasten method, providing a solution for non-hierarchical note-taking. It should also work as a plug-and-play solution for anyone already using Org-mode for their personal wiki.
- Private and Secure: Edit your personal wiki completely offline, entirely in your control. Encrypt your notes with GPG. Take lasting notes in plain-text.
- Networked Thought: Connect notes and thoughts together with ease using backlinks. Discover surprising and previously unseen connections in your notes with the built-in graph visualization.
- Extensible and Powerful: Leverage Emacs' fantastic text-editing interface, and the mature Emacs and Org-mode ecosystem of packages.
- Free and Open Source: Org-roam is licensed under the GNU General Public License version 3 or later.
Only the latest Org-roam is distributed on MELPA. Hence, installation of
org-roam
v1 should be done by using Git. For example, one can use
straight.el
to fetch this repository:
(straight-use-package
'(org-roam :type git :host github :repo "org-roam/org-roam-v1"))
Here's a sample configuration with use-package
with straight.el
:
(use-package org-roam
:ensure t
:straight (:type git :host github :repo "org-roam/org-roam-v1")
:hook
(after-init . org-roam-mode)
:custom
(org-roam-directory (file-truename "/path/to/org-files/"))
:bind (:map org-roam-mode-map
(("C-c n l" . org-roam)
("C-c n f" . org-roam-find-file)
("C-c n g" . org-roam-graph))
:map org-mode-map
(("C-c n i" . org-roam-insert))
(("C-c n I" . org-roam-insert-immediate))))
The file-truename
function is only necessary when you use symbolic links
inside org-roam-directory
: Org-roam does not resolve symbolic links.
Org-roam requires sqlite to function. Org-roam optionally uses Graphviz for graph-related functionality. It is recommended to install PCRE-enabled ripgrep for better performance and extended functionality.
Before creating a new topic/issue, please be mindful of our time and ensure that it has not already been addressed on GitHub or on Discourse.
- If you are new to Emacs and have problem setting up Org-roam, please ask your question on Slack, channel #how-do-i.
- For quick questions, please ask them on Slack, channel #troubleshooting.
- If something is not working as it should, or if you would like to suggest a new feature, please create a new issue.
- If you have questions about your workflow with the slip-box method, please find a relevant topic on Discourse, or create a new one.
To report bugs and suggest new feature use the issue tracker. If you have some code which you would like to be merged, then open a pull request. Please also see CONTRIBUTING.md.
Copyright © Jethro Kuan and contributors. Distributed under the GNU General Public License, Version 3.