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