Go GPL-3.0

zk

A plain text note-taking assistant

Z

zk-org

Dernière activité 12 sept. 2026
zk-org/zk

2,8 k

étoiles

191

forks

27

issues ouvertes

clidocumentation-toolnotessecond-brainwikizettelkasten

Ce README est souvent en anglais.

zk logo

A plain text note-taking assistant

Screencast

Description

zk is a command-line tool helping you to maintain a plain text Zettelkasten or personal wiki.

Looking for a quick usage example?

Or want to see it in action? Checkout Shivan's video, Note-taking System ALL Programmers Should Consider.

Join us on Matrix for general, support and development discussion: #zk-org:pub.solar.

Highlights

See the changelog for the list of upcoming features waiting to be released.

What zk is not

  • A note editor.
  • A tool to serve your notes on the web – for this, there are some static site solutions.

Install

Check out the latest release for pre-built binaries for macOS, Linux and Windows.

[!WARNING] The pre-built binaries are not code-signed. In the past Windows Defender and other security tools have flagged some versions of the Windows binary as malicious. Building zk yourself is currently the recommended workaround on Windows — see Build from scratch. See #740 for details.

Homebrew

brew install zk

Or, if you want the latest state of main:

brew install --HEAD zk

Nix

zk is available in nixpkgs and has a Home Manager module.

If you want to run zk without permanently installing it:

nix run nixpkgs#zk

Or, if you want to create an ephemeral shell with zk available:

nix shell nixpkgs#zk

To permanently install zk on NixOS at the system level, include nixpkgs.zk in environment.systemPackages in your system configuration (/etc/nixos/configuration.nix by default):

environment.systemPackages = [
  # Your other packages here
  nixpkgs.zk
];

If you are using Home Manager, instead of installing for all users on the system, you can permanently install and configure zk just for your user via the Home Manager module. Add this to your Home Manager configuration:

programs.zk.enable = true;

# Modify `${XDG_CONFIG_HOME}/zk/config.toml` through this attr
programs.zk.settings = {
  # Add your own configuration settings for zk here
};

Alpine Linux

zk is currently available in the testing repositories:

apk add zk

Arch Linux

You can install the zk package from the official repos.

sudo pacman -S zk

MacPorts

sudo port install zk

Build from scratch

Make sure you have a working Go 1.21+ installation, then clone the repository:

git clone https://github.com/zk-org/zk.git
cd zk
make build

The latest state of main can be considered the stable pre-release state. To use the absolute latest state (bugs to be expected) and to contribute:

git checkout dev
make build

On macOS / Linux

$ make
$ ./zk -h

Contributing

We warmly welcome issues, PRs and discussions.

Be sure when contributing to branch from dev, not main.

Here you can read some useful info for contributing to zk.

Projets similaires

A simple command line notebook

Goclicommand-line-tooldeveloper-tools
Ddnote
3,1 k étoiles123

CLI and local web plain text note‑taking, bookmarking, and archiving with linking, tagging, filtering, search, Git versioning & syncing, Pandoc conversion, + more, in a single portable script.

Shellarchivingbashbookmark-manager
Xxwmx
8,4 k étoiles254

A second brain for your knowledge, thoughts, and ideas.

TypeScriptknowledge-baseknowledge-graphnote-taking
Cchurichard
913 étoiles77