dendrite.daemon#

The dendrite.daemon serves as the core component of Dendrite. It is responsible for managing the index and exposing said index to modifications through a set of commands. The daemon holds no real state of its own, outside of what state is held throughout the execution of a command. This makes it possible to run multiple instances of the daemon and execute commands against the same index, with no issue.

The daemon communicates over stdio using JSON-RPC 2.0. See protocol for details.

lifetime#

The lifetime of the daemon is controlled by the client application, which means the client must start the daemon, and remember to kill it on shutdown. Much like an LSP or any other child process.

index#

Without an index, Dendrite is little more than a handful of commands for creating notes. The index is kept local, and is updated as the user creates or alters the vault.

The main goal of the index is to support searching, linking and navigating a vault.

commands#

The daemon exposes its functionality through a set of JSON-RPC commands. See methods for the full reference.

Important: If you’ve altered your vault, e.g. moved files, renamed files, or altered the vault on another machine and synced it to your current machine, the index will drift, and not express the current state of your vault. To fix this rebuild the index