v2.0.0 ⁄ released 2026-07 ⁄ MIT ⁄ a substrate for SkDD

Infinite context.
For every agent
you ever hire.

Capture decisions while you work. One CLI command per choice — no after-the-fact writeup. Every new agent (Claude Code, Cursor, Codex, Cline) gets the full why-behind-the-code in one read. Markdown links between docs are checked on every PR; the project tree regenerates on every log. Documentation that can't go stale.

principles.

i.

captured while you work

One logmind log per choice — written, committed, and routed to the right branch file in one command. Reasoning lives next to the code, in git.

ii.

auto-documentation

AGENTS.md is canonical; per-tool files become two-line stubs pointing at it. Every relative [link](path.md) is verified on every PR. The project tree regenerates on every log.

iii.

always in sync

Decisions, timeline, project tree — they update together. Every branch also carries a one-sentence, agent-authored headline that surfaces at the top of the main-canonical timeline the moment a PR opens. Rebase against main? Fresh clone? Multi-commit amend? They stay synced. CI never catches you with a stale derived doc.

iv.

infinite context for agents

Any agent that supports AGENTS.md inherits the decision history, the tree, the why-behind-the-code — one logmind context call away. Add the repomap (Go + TS/JS signature skeletons, ranked and token-budgeted) and an agent sees the whole codebase's shape before opening a single file. Onboarding a new agent takes one read.

the loop.

Logmind is one part of an end-to-end agentic dev loop. The tools compose; each can stand alone.

Skills-driven development (SkDD) gives you a methodology and skill primitives. logmind captures the why behind every change as you work, builds and tests the skills you forge, and keeps your derived docs in sync across rebase / merge / fresh clone. clud-bug runs your skills against every PR — every finding cites the skill that motivated it. The loop closes when logmind logs the review outcome and surfaces refinement patterns for the next iteration.

End-to-end agentic auto dev: write skills first → log the why → run them against PRs → iterate based on usage. The tools work independently; better together.

enforced.

A convention only holds if the tooling holds the door. v2 adds a guard in front of every substantive commit.

A commit-msg hook and a Claude Code PreToolUse hook check the same rule: a substantive change with no matching logmind logentry gets blocked, not just flagged after the fact. Escape hatches exist for the commits that genuinely aren't decisions — [skip-logmind] in the subject, LOGMIND_ALLOW_GIT_COMMIT=1 for one command, git.enforce_commits: false to opt a repo out entirely. The git hook fails open by design: anything but the guard's explicit block signal — a stale, missing, or erroring logmind binary included — lets the commit through — enforcement can't become an outage.

The same orientation-first discipline covers the spec: docs/spec.md (or any path via context.spec_file) is a hand-authored, forward-looking WHERE-TO — alongside the derived WHY (docs/timeline.md) and WHAT (docs/file-structure.md / logmind repomap). Configured, it folds into logmind context as the first document — the most stable, so the best cache prefix.

measured.

logmind context is the one-read cold-start: spec → file-structure → repomap → timeline, in cache-prefix order. It prints a receipt for its own density.

Four documents, one read, ordered most-stable-first so an agent's prompt cache actually hits: the spec (hand-authored, rarely changes), the file-structure (the tree), the repomap (signature skeletons, bodies dropped), and the timeline (newest-first decisions). Byte-stable across re-reads — the same task re-reading it pays cache rates, not input rates.

$ logmind context --stats
logmind context — token receipt (est. ~4 chars/token, deterministic)

  payload total:   20486 tok  (spec 167 + file-structure 593 + repomap 7980 + timeline 11564 + framing)
  the repomap distills 179096 tok of Go source -> 22.4x denser.
  the timeline distills 82862 tok of raw decision logs -> 7.2x denser.
  reading this pre-baked payload replaces a git log / ls -R / grep cold-start.
  cache it as a stable prefix -> every re-read costs ~0.1x (about 90% off).

Measured on this repo, this release, with context.repomap: trueenabled (off by default — leaving it off keeps the payload byte-identical for repos that don't need the Go/TS/JS signature skeleton). logmind context --stats ships in the binary — no setup, no API keys, no synthetic benchmark.

install.

v2.0 ships as a single signed + notarized Go binary. Brew or curl, pick whichever lives closest to your other dev tools.

01
homebrew
$ brew install thrillmade/tap/logmind
02
curl
$ curl -fsSL https://logmind.dev/install.sh | sh
03
agent skill
$ npx skills add -g thrillmade/logmind-skill
04
verify
$ logmind --version

logmind --version should print logmind 2.0.0 (spec 1.5.0). The agent skill (03) is optional but recommended — it teaches Claude Code, Cursor, Codex et al. when and how to call logmind log in any project that has logmind installed.

deprecatedPython wheel · frozen at v0.6.16
$ pip install 'logmind==0.6.16'

pip install logmind is frozen at v0.6.16 — the last published Python release. New installs should use the Go binary above. The PyPI package is kept on PyPI only to honour old pinning; it receives no further updates, no security backports, and no feature parity with v2.0+. Migrating? See the migration guide for the one-line CI swap.

quickstart.

Init once per repo. Then log every meaningful choice. Branch routing happens automatically; -H sets the one-line headline the timeline shows for this branch.

~ ⁄ feat__auth
$ logmind init
$ git checkout -b feat/auth
$ logmind log "JWT for stateless API auth" \
    -r "horizontal scaling without session store" \
    -a "server sessions in Redis" \
    -i "rotate signing keys quarterly" \
    -H "Added JWT session auth with refresh-token rotation"
✓ wrote docs/decisions-branches/feat__auth.md
✓ headline set — surfaces at the top of docs/timeline.md

“Every agent you’ve ever onboarded asked the same questions because the answers lived in someone’s head. logmind moves them into git, into AGENTS.md, into the tests that run on every PR— so the next agent never has to ask.”

— design intent