Skip to main content

Install Kindling

Kindling ships as a single binary, kindling, that provides the CLI, the background daemon, and Claude Code hook support. Install it through whichever channel suits you.

Install the binary​

The one-line installer downloads the prebuilt kindling binary for your platform — no Node.js or Rust toolchain required (Linux / macOS):

curl -fsSL https://raw.githubusercontent.com/eddacraft/kindling/main/install.sh | sh

Rust / Cargo​

The CLI is published as the eddacraft-kindling crate (the bare kindling name on crates.io is taken). The installed binary is still kindling:

cargo install eddacraft-kindling

Homebrew (macOS / Linux)​

brew install eddacraft/tap/kindling

Same tap as anvil: eddacraft/homebrew-tap. On musl/Alpine Linux, use the install script instead.

Node.js​

The canonical CLI is the Rust binary above. For Node applications, the npm package @eddacraft/kindling is a thin client library that talks to the same Rust daemon — it is not a global CLI. At publish time it declares optional per-platform binary dependencies so npm install pulls a matching prebuilt kindling binary for your OS/arch:

npm install @eddacraft/kindling

The older standalone CLI package @eddacraft/kindling-cli is deprecated; use the prebuilt installer or cargo install eddacraft-kindling for the CLI. The embedded TypeScript stack (@eddacraft/kindling-core, -store-*) is also deprecated — use the thin client instead.

Verify​

kindling --version

Initialise a project​

From your project directory, run:

kindling init

This creates the per-project database (running its migrations) under your kindling home:

Kindling Setup
==============

Created directory /home/you/.kindling/projects/f33aa9244af5
Created database /home/you/.kindling/projects/f33aa9244af5/kindling.db

Kindling is ready!

Next steps:
kindling status - Check database status
kindling search - Search your memory
kindling serve - Start the daemon

Each project gets its own database, keyed by a hash of the project root path, so memory never leaks between repositories. See Storage for the full layout.

Options​

FlagDescription
--db <path>Use an explicit database path instead of the per-project default.
--claude-codeDetect ~/.claude/ and print plugin install next steps. Does not install the plugin.
--skip-dbConfigure integration only; do not create the database.
--jsonEmit machine-readable JSON instead of human output.

Verify the setup​

kindling log "First observation"
kindling search "first"
kindling status

kindling status reports the database path, size, and counts of capsules, observations, and pins.

Try before you init​

You can explore kindling without creating a project database:

kindling demo
kindling search "JWT" --db ~/.kindling/demo/kindling.db
kindling browse

See Quickstart without Claude Code.

Next steps​