driftlog

Getting started

From install to your first entry in about a minute.

Install

driftlog is a single static binary with no runtime dependencies. Two ways to get it.

Prebuilt binary

Download the static binary for your platform (Linux, macOS, or Windows; amd64 and arm64), then drop it on your $PATH:

tar -xzf driftlog_1.4.2_linux_amd64.tar.gz
sudo install -m 0755 driftlog /usr/local/bin/driftlog
driftlog --version
# driftlog 1.4.2 (built 2026-05-19)

Build from source

With Go 1.21 or newer, from a checkout of the source tree:

go build -ldflags="-s -w" -o driftlog ./cmd/driftlog
sudo install -m 0755 driftlog /usr/local/bin/driftlog

First run

driftlog writes a config and an empty journal directory on first use. Defaults live in ~/.config/driftlog/config.toml; entries default to ~/.driftlog/.

$ driftlog init
created ~/.config/driftlog/config.toml
created journal directory ~/.driftlog

$ driftlog new
# opens $EDITOR; the first line becomes the title.
Tip: driftlog respects $EDITOR. Set editor = "code --wait" in your config to use VS Code, or "nvim", "hx", etc.

Write, then find it again

$ driftlog new --tag work
# ...write something, save, quit...
saved 2026-06-24-2140-finished-the-release.md

$ driftlog search "release"
2026-06-24 21:40  #work   Finished the release; notes for next time...

$ driftlog list --tag running --since "2 weeks ago"
2026-06-12 06:40  #running   Hill repeats. Brutal.
2026-06-19 07:02  #running   Long run, 21k.

Where to next