Your First Memory
This walkthrough uses the CLI to capture context, organise it into a capsule,
and retrieve it. It assumes you have
installed Kindling and run kindling init in
your project.
Capture an observation
The fastest way to record context is kindling log:
kindling log "The retry logic needs exponential backoff; linear fails under load"
Every observation has a kind. The default is message; pass --kind to be
explicit:
kindling log --kind error "segfault in auth middleware after the upgrade"
kindling log --kind command "pnpm test — 3 failures in auth.spec.ts"
The available kinds are fixed: tool_call, command, file_diff, error,
message, and the workflow kinds node_start, node_end, node_output,
node_error. See Observations for what each
means.
Scope an observation
Observations can be tagged with scope identifiers so retrieval can be narrowed later:
kindling log "rate limit is 100 req/min" --session session-123 --repo ./my-project
Group work into a capsule
A capsule is a bounded session of related observations with an intent and an open/close lifecycle. Open one when you start a piece of work:
kindling capsule open --intent "investigating the memory leak" --repo ./my-project
Opened capsule cap_8a3f… (session)
intent: investigating the memory leak
Attach observations to it with --capsule:
kindling log --capsule cap_8a3f… --kind error "unbounded cache in SessionStore"
Close it with a summary when you are done. The summary becomes part of the retrieval current-summary tier:
kindling capsule close cap_8a3f… --summary "root cause: unbounded cache in SessionStore"
Search your memory
kindling search "memory leak"
Search Results for: "memory leak"
==================================================
Current Summary:
root cause: unbounded cache in SessionStore
Confidence: 0.8
Candidates (1):
1. 9c20… (score: 0.41)
Type: observation
Content: unbounded cache in SessionStore
Time: 2026-06-20 11:02:17
Narrow results by scope, and cap how many candidates come back:
kindling search "auth" --session session-123 --repo ./my-project --max 5
Pin what matters
Pins are never evicted and always appear first in search results. Pin an observation (or a summary) by ID, optionally with a note:
kindling pin observation 9c20… --note "root cause — keep handy"
Remove it later with kindling unpin <pin-id>.
List and inspect
kindling list capsules
kindling list observations
kindling list pins
Use search for ranked, scoped retrieval. The list command does not support
--status or --kind filters.
Export and import
Memory is portable. Export the whole store (or a single session/repo) to JSON, and import it elsewhere:
kindling export ./backup.json --pretty
kindling import ./backup.json