Skip to content

Releases: awrshift/claude-memory-kit

v4.1.2 — tighten CLAUDE.md operational instructions

27 Apr 12:39

Choose a tag to compare

Close 3 operational gaps in the auto-loaded agent brain so Claude Code doesn't need to read .kit/ docs or guess for common operations. CLAUDE.md size unchanged (156 lines — replaced items with tighter versions).

  • Experiment creation: mandate copying experiments/EXPERIMENT-TEMPLATE.md as starting structure (no invented schemas)
  • Rule creation: explicit created: + last-reviewed: frontmatter requirement (pointer to _example.md.disabled skeleton)
  • Concept creation: explicit reference to knowledge/index.md frontmatter spec
  • Experiment closing: distill ritual essentials inlined (lessons → concepts/, code → projects/, then rm -rf folder)

Why: user feedback "the user won't read files — Claude Code must understand everything from auto-loaded context". Audit found 3 common operations had details only in non-auto-loaded files (.kit/, experiments/README, skill bodies, _example.md.disabled). v4.1.2 inlines the essentials in CLAUDE.md while keeping it under 200 lines per Anthropic project-memory guidance.

v4.1.1 — restore experiments/ + canonicalize date-tagging

27 Apr 12:39

Choose a tag to compare

Two corrections to v4.1.0 minimization.

  1. experiments/ wrongly removed — restored as documented sandbox layer

    • experiments/README.md: convention, lifecycle, agent triggers
    • experiments/EXPERIMENT-TEMPLATE.md: hypothesis/method/result/lessons skeleton
    • Naming: -YYYYMMDD (date-tagged)
    • Distill-on-close: lessons → knowledge/concepts/, code → projects/, then delete folder
    • /close-day flags experiments older than 30 days
  2. Date-tagging promoted from implicit mechanic to documented load-bearing system invariant

    • CLAUDE.md: now has TWO core invariants — "user only talks" + "every memory entry carries a date tag"
    • .kit/ARCHITECTURE.md: new section "Date-tagging convention (load-bearing)" explaining where dates live and why
    • .claude/rules/_example.md.disabled: frontmatter adds created + last-reviewed, plus "Review history" section
    • knowledge/index.md: frontmatter adds created; section-append convention ## [YYYY-MM-DD] <title>
    • context/next-session-prompt.md: every Pick-up/Open-decisions/Recent-deliverables item must be [YYYY-MM-DD]-prefixed; Active experiments section added
    • daily/TEMPLATE.md: clarifies date-in-filename + optional [HH:MM] inline + audit candidates cite triggering dates
    • .claude/memory/MEMORY.md: "Why dates matter" section; entries without date declared a bug
    • .claude/skills/close-day/SKILL.md: Phase 2 audit explicit date-arithmetic queries; Signal E for experiment hygiene; example proposals quote specific triggering dates as evidence

Other:

  • README.md: "What's inside" tree adds experiments/ line; projects-vs-experiments paragraph below
  • CLAUDE.md: projects/ vs experiments/ comparison table; agent-trigger guidance
  • .kit/CHANGELOG.md: full v4.1.1 entry with migration notes
  • .kit/VERSION: 4.1.0 → 4.1.1

No code changes — date-tagging machinery in lint.py/compile.py already worked. This release makes the convention explicit and restores experiments/.

Verified: lint.py 0 issues, zero Cyrillic in tracked files.

v4.1.0 — English rewrite + new README cheat-sheet graphics

27 Apr 12:39

Choose a tag to compare

Documentation rewrite:

  • README.md: full English rewrite (was Russian post-9e2c68e); replaced "Memory accumulates" growth-curve section with two new sections "Memory layers" + "Promotion pipeline"; updated "What's inside" tree to reflect .kit/ subfolder; added "Hooks and operators" section
  • CLAUDE.md: dropped role-guidance section, simplified hooks list (5 hooks accurate), all Russian dialogue examples replaced with English
  • SKILL.md (root): description updated, English-only
  • daily/README.md + new daily/TEMPLATE.md: explicit format for /close-day output, dropped role-guidance refs
  • .claude/skills/close-day/SKILL.md: audit Phase 2 retargeted to knowledge/concepts/ + .claude/rules/ (was role-guidance), all examples in English
  • .claude/skills/tour/SKILL.md: rewritten — drop role-guidance Stop, drop hooks deep-dive, English-only
  • .claude/memory/MEMORY.md: clean template, no role-guidance refs, English examples
  • context/next-session-prompt.md: pointer cleanup
  • projects/my-first-project/BACKLOG.md: 5-task onboarding guide translated to English

New README cheat-sheet graphics (.github/assets/, Gemini Pro Image 16:9 2K):

  • og-banner.png: refreshed — 4 isometric slabs with real file path labels (CLAUDE.md, MEMORY.md, rules/, concepts/), subtitle "Memory + Rules + Wiki + Hooks"
  • 03-memory-layers.png: NEW — three-panel infographic showing HOT CACHE / WIKI / RULES with file paths and "WRITES: agent (...)" tags
  • 04-promotion-pipeline.png: NEW — Liquid → Amber → Crystal (rules OR concepts) flow with real file paths
  • 05-multi-project.png: NEW — folder tree with active scope highlight + "always loaded (shared)" cards
  • 06-hooks-and-operators.png: NEW — two-column cheat-sheet (5 hooks + 5 slash operators)
  • removed 03-knowledge-growth.png — abstract curve replaced with concrete pipeline diagram

Social media assets (untracked → tracked):

  • .github/assets/social/{linkedin-.png, x-post-.png} — 7 marketing images for v4 launch posts

.gitignore: allow daily/TEMPLATE.md through alongside .gitkeep + README.md.

Verified: zero Cyrillic in tracked files, lint.py 0 issues.

v4.0.0 — promote from alpha, replace v3.2.2 architecture

27 Apr 12:39

Choose a tag to compare

Migrates main branch from v3.2.2 to v4.0.0 stable. Two weeks of dogfooding on
avoid-content-site (798 sessions) showed v4 architecture holds up in production.
v3.2.2 stays accessible via the v3.2.2 git tag.

Architecture changes

  • Promotion ritual is agent-driven, not script-driven. /close-day audits today's
    patterns against MEMORY.md and reference skills, surfaces 0-4 promotion
    candidates verbally, writes patches on user «да». Replaces background
    promote-patterns.py detection (was unreliable; violated «user only talks»
    invariant).
  • playbooks/ → .claude/skills/-guidance/SKILL.md with user-invocable: false.
    Anthropic-native primitive: Claude auto-loads when conversation matches
    description. No custom trigger tables.
  • Multi-project isolation via projects//. Switch with «работаем над X».
  • New /memory-audit operator. Two-phase: free size check on reference skills
    (>500 lines threshold) + agent-in-session semantic clustering for splits.

Removed (over-engineering)

  • experiences/ staging layer
  • promote-patterns.py background detector
  • flush.py auto-flush
  • separate playbooks/ directory

What changed in 32 files

  • 7 top-level docs rewritten (README/CLAUDE/ARCHITECTURE/CHANGELOG/SKILL/
    VERSION/knowledge/index). README is hybrid: v3 marketing structure +
    v4 architecture body. Reuses 4 PNG from .github/assets/ (og-banner,
    before-after, daily-workflow, knowledge-growth) — concept-stable across v3→v4.
  • 2 settings/hooks: settings.json registers all 5 hooks with
    $CLAUDE_PROJECT_DIR-anchored paths + per-hook timeouts (15-30s).
    session-end.sh simplified (no auto-flush).
  • 5 memory scripts: config.py drops dangling ARCHIVE_DIR; lint.py +
    compile.py skip README/TEMPLATE/INDEX stems in daily/; flush.py deleted;
    lint.py adds check_oversized_reference_skills() (7th check).
  • 2 commands: new /memory-audit; /memory-lint updated for 7 checks.
  • 10 skills: 7 new role reference skills (design/dev/editorial/marketing/
    seo-geo/product/founder-profile) + memory-audit task skill; close-day +
    tour rewritten under v4 ritual.
  • 2 rules scaffolding: _example.md.disabled rewritten under v4 promotion
    pipeline (6+ months stable + audit confirmation); old .gitkeep removed.
  • 1 aggregator symlink: skills/memory-audit/SKILL.md.
  • daily/README.md re-pointed to .claude/skills/-guidance/SKILL.md.

Verified working

16-test suite passed cleanly: settings.json valid + all hook paths exist;
bash hooks pass syntax check; Python scripts compile + import; skills
aggregator symlinks resolve; runtime tests on every hook with synthetic
stdin; lint.py + compile.py --dry-run clean; cross-references resolve for
all six slash commands (/close-day, /memory-audit, /memory-compile,
/memory-lint, /memory-query, /tour); config.py paths exist for all 8
layer constants.

Net change

39 files changed, 1342 insertions(+), 1635 deletions(-). v4 is more compact
than v3.2 despite adding 7 reference skills + memory-audit operator —
reference skills consolidate what v3 spread across CLAUDE.md/playbooks/
trigger-tables.

Net change

39 files changed, 1342 insertions(+), 1635 deletions(-). v4 is more compact
than v3.2 despite adding 7 reference skills + memory-audit operator.

Migration notes

Anyone on v3.2.x: don't merge in-place. Clone v4 fresh as a sibling
project; agent walks you through importing experiences/ → reference-skill
candidates, MEMORY → re-tagged, daily/concepts/rules copied verbatim.

v3.2.2 — docs cleanup + skills symlinks restore

27 Apr 12:39

Choose a tag to compare

Docs cleanup surfaced by drift report: another agent reading CLAUDE.md
assumed the old flush.py / 18:00 auto-compile flow was still active,
when in reality /close-day has been the default end-of-day flow since
v3.2.0 and flush.py is opt-in legacy. No runtime behavior changes.

  1. CLAUDE.md: deleted the "End-of-day Auto-Compile (v3)" section and
    all 18:00 / CMK_COMPILE_AFTER_HOUR / maybe_trigger_compilation
    references. Replaced the "Auto session-end flush" + "Manual compile"
    paragraphs with a single Manual compile paragraph + one Legacy note
    pointing readers at /close-day and CHANGELOG v3.2.0. Updated the
    L5 Daily row and scripts/ tree annotation to match.

  2. .claude/commands/memory-compile.md: dropped the legacy auto-trigger
    paragraph. The command doc now says only what the command does.

  3. Skills symlink regression. skills/close-day/SKILL.md and
    skills/tour/SKILL.md had been flipped from symlinks to regular
    files (macOS dereferenced during a copy), and the original symlinks
    lingered as "SKILL 2.md" duplicates. Content was identical, but the
    structure contradicted v3.2.1's invariant that root skills/ mirrors
    .claude/skills/ via symlinks. Restored symlinks, removed SKILL 2.md
    artefacts. (No git diff: HEAD already has the correct symlink mode.)

flush.py and the commented-out auto-flush section in session-end.sh
are preserved unchanged as opt-in legacy for users upgrading from
v3.0 / v3.1.

VERSION bumped to 3.2.2.

v3.1.0 — knowledge/ moved to project root

13 Apr 10:40

Choose a tag to compare

Breaking Change

knowledge/ wiki directory moved from .claude/memory/knowledge/ to project root knowledge/.

Why: Claude Code hardcodes .claude/** as sensitive file protection — compile.py (via claude -p) could not write wiki articles even with --permission-mode acceptEdits.

Migration from v3.0.x

mv .claude/memory/knowledge knowledge
# Copy updated scripts from kit:
# - .claude/memory/scripts/config.py
# - .claude/hooks/session-start.py
git add knowledge/ && git commit -m "feat(v3.1): move knowledge/ to project root"

Also in this release

  • session-start.py shows "Recent updates: article-name (today)" for transparency
  • compile.py Rule 6: preserve manually-written content (don't overwrite hand-authored articles)
  • /knowledge-update slash command for manual wiki updates
  • README badges: version + last commit date
  • All CLAUDE.md path references updated

Full changelog: CHANGELOG.md

v3.0.1 — compile.py silent failure fix

09 Apr 18:57

Choose a tag to compare

[3.0.1] — 2026-04-09

Patch release: critical fix for compile.py silent failure mode discovered during rnd-hub live test of v3.0.0.

Fixed

  • compile.py silent failure — v3.0.0 compile.py considered any claude -p exit 0 as a successful compile, updating the state hash for the daily log even when sub-Claude returned a text description instead of actually calling Write/Edit tools. Result: daily log was marked as "compiled" but zero wiki articles were created or modified, and the log was permanently skipped on subsequent runs (hash matched, so compile.py --all was the only recovery path). Detected during rnd-hub live test Test 10: compile.py reported "1/1 succeeded" but concepts/, connections/, knowledge/index.md, and knowledge/log.md were all unchanged.

    Three-layer fix:

    1. Mtime snapshot verificationcompile_daily_log() now captures wiki state via snapshot_wiki_state() before running claude -p, then compares against post-run state. If zero files were created and zero files were modified, compile_daily_log() returns False, dumps sub-Claude stdout to .claude/state/compile-{daily-stem}-stdout.txt for debugging, and does NOT update the state hash — so the daily log stays in the queue for the next compile run.
    2. Strengthened promptbuild_compile_prompt() now opens with an explicit "CRITICAL — this is an automated pipeline, not a chat" preamble warning sub-Claude that the caller verifies success by checking wiki file mtimes. Rules 1-6 now explicitly say "use the Write tool to CREATE" / "use Edit to UPDATE" instead of just "CREATE" / "UPDATE". New Rule 11: "Every action MUST be a tool call (Write/Edit/Read/Glob/Grep). Text-only responses count as a compile failure." Added a "Final step" instructing sub-Claude to return a one-line summary only after all Write/Edit calls succeed.
    3. Added --permission-mode acceptEdits to the claude -p invocation in both compile.py and query.py. Cole's original SDK code uses permission_mode="acceptEdits" explicitly; this was lost during the SDK → CLI subprocess port in v2. Not always strictly required (control tests show claude -p sometimes accepts Write by default in headless mode), but it's correct by convention and defensive against default-mode drift in future Claude Code versions.

Changed

  • compile.py output now includes Wiki touched: +{N} new files, {M} updated line on success, so you can see the pipeline working instead of just "Done. Output: X chars".

Why this matters

The v3.0.0 silent failure was invisible from compile.py output alone — it reported success, lint.py stayed green (because it only checks existing files, not whether compile produced output), and the state hash was updated. The only way to detect it was to manually ls knowledge/ before and after. Without the mtime snapshot guard, users would have assumed their pipeline was working while knowledge accumulated only in daily/ and never compiled.

Credit to rnd-hub's Test 10 protocol for catching this end-to-end — a straight happy-path sanity check would have passed without revealing the bug.

Notes for upgraders from v3.0.0

  • If you already have daily logs that v3.0.0 marked as "compiled" but produced no wiki articles: delete their entries from .claude/state/compile-state.json → re-run compile.py. The new mtime guard will correctly fail (instead of silent-success) if sub-Claude still doesn't write, giving you an actionable debug dump at .claude/state/compile-{stem}-stdout.txt.
  • No breaking changes to file formats, hook protocol, or CLI interface. Pure bug fix.

v3.0.0 — SessionStart injection + end-of-day auto-compile

09 Apr 18:00

Choose a tag to compare

[3.0.0] — 2026-04-09

Major upgrade: ports 3 zero-cost features from Cole Medin's claude-memory-compiler (the Karpathy-inspired original that Memory Kit v2 was derived from) that were lost in the v1 → v2 stdlib port. Also renames JOURNAL.mdBACKLOG.md (cleaner semantic separation with daily/), collapses knowledge/ from 6 → 3 subdirs, and promotes the CLAUDE_INVOKED_BY recursion guard from hidden quirk to documented feature.

All changes remain on Python stdlib + claude -p subscription. No new dependencies. Zero incremental API cost.

Added

  • .claude/hooks/session-start.py — new Python hook replacing session-start.sh. Outputs JSON {"hookSpecificOutput": {"hookEventName": "SessionStart", "additionalContext": "..."}} so Claude Code injects knowledge/index.md + recent daily/YYYY-MM-DD.md logs + top 3 recently-modified concepts into every session's initial context. Adapted from coleam00/claude-memory-compiler. Budget: 50K chars default (CMK_INJECT_BUDGET env var to tune).
  • flush.pymaybe_trigger_compilation() — after 18:00 local time (CMK_COMPILE_AFTER_HOUR env), checks if today's daily/YYYY-MM-DD.md has changed since last compile via SHA-256 hash comparison. If yes, spawns compile.py as a detached background process. End-of-day auto-compile without cron. Logs to .claude/state/compile.log.
  • .claude/commands/memory-compile.md — slash command wrapper around compile.py. Manual override alongside auto-trigger.
  • .claude/commands/memory-lint.md — slash command wrapper around lint.py. Pass --fix for auto-backlinks.
  • .claude/commands/memory-query.md — slash command wrapper around query.py. Natural-language queries with index-guided retrieval.
  • CLAUDE.md sections:
    • SessionStart Injection — describes additionalContext pattern, budget, priority order
    • End-of-day Auto-Compile — describes 18:00 trigger, hash skip logic, /memory-compile manual override
    • CLAUDE_INVOKED_BY — recursion guard (critical) — documents the recursion path that prompted the guard (was hidden quirk in v2)

Changed

  • JOURNAL.mdBACKLOG.md throughout the template. Renamed 3 example projects (example-webapp, example-saas, my-first-project). Updated all references in CLAUDE.md, README.md, .claude/hooks/periodic-save.sh, .claude/hooks/pre-compact.sh, .claude/skills/tour/SKILL.md, experiments/README.md, experiments/001-*/EXPERIMENT.md, context/next-session-prompt.md. Rationale: BACKLOG = task queue (future-forward), daily/ = chronological log (past-forward). Two distinct files with clear semantics. JOURNAL was ambiguous — it conflated both.
  • .claude/memory/knowledge/ collapsed from 6 → 3 subdirectories. Kept: concepts/, connections/, meetings/. Removed: qa/ (empty in practice — compounding loop rarely fired manually), projects/ (duplicated root-level projects/X/BACKLOG.md), experiments/ (duplicated root-level experiments/NNN/EXPERIMENT.md). Updated config.py, compile.py, lint.py, query.py, knowledge/index.md, CLAUDE.md.
  • lint.py checks: 7 → 6. Removed check_stale_experiments because it required knowledge/experiments/ which no longer exists. Remaining: broken links, orphan pages, orphan sources, missing backlinks, sparse articles, missing frontmatter.
  • query.py: removed --file-back flag. It filed answers to knowledge/qa/ which no longer exists. Query remains read-only, index-guided. If you miss it, the answer is in git history.
  • .claude/settings.json — SessionStart hook command updated from bash ".../session-start.sh" to python3 ".../session-start.py".

Removed

  • .claude/hooks/session-start.sh — replaced by session-start.py.
  • .claude/memory/knowledge/qa/ directory (and .gitkeep).
  • .claude/memory/knowledge/projects/ directory (and .gitkeep).
  • .claude/memory/knowledge/experiments/ directory (and .gitkeep).
  • check_stale_experiments() function from lint.py.
  • parse_frontmatter() helper from lint.py (became unused after stale_experiments removal).
  • QA_DIR, EXPERIMENTS_WIKI_DIR, PROJECTS_WIKI_DIR constants from config.py.
  • EXPERIMENTS_RAW_DIR constant from config.py (was only used by check_stale_experiments).

Migration notes for v2 → v3

Existing users with a v2 clone must:

  1. Rename project files: find projects -name JOURNAL.md -exec sh -c 'mv "$0" "${0%JOURNAL.md}BACKLOG.md"' {} \; (or do it manually per project).
  2. Update internal references in context/next-session-prompt.md, CLAUDE.md, and any custom rules that mention JOURNAL.md.
  3. If you had content in knowledge/qa/, knowledge/projects/, or knowledge/experiments/: move articles to knowledge/concepts/ (they lose their subdir categorization but content is preserved). The v3 wiki has only 3 subdirs.
  4. Update hook command in .claude/settings.json: change SessionStart command from bash .../session-start.sh to python3 .../session-start.py. Or re-copy settings.json from the updated template.
  5. Replace session-start.sh with session-start.py from v3.
  6. Pull updated flush.py to get maybe_trigger_compilation().
  7. Optional but recommended: enable end-of-day auto-compile by leaving default CMK_COMPILE_AFTER_HOUR=18, or disable with a high value like 99.
  8. query.py --file-back users: the flag is gone. Answers are no longer filed automatically. If you want this back, copy the pre-v3 version from git history.

Breaking changes summary:

  • File rename: JOURNAL.mdBACKLOG.md
  • Wiki structure: 6 → 3 subdirs
  • Query flag: --file-back removed
  • Hook command: bash → python3

Not breaking:

  • MEMORY.md format unchanged
  • next-session-prompt.md format unchanged (<!-- PROJECT:name --> tags still work)
  • daily/ format unchanged
  • compile.py CLI args unchanged
  • All of v2's other hooks (session-end.sh, pre-compact.sh, periodic-save.sh, protect-tests.sh) unchanged

Fixed

  • compile.py used to have an outdated prompt template that instructed the LLM to write to knowledge/{qa,projects,experiments}/ subdirs. Now strictly references concepts/ and connections/ (and implicitly meetings/ when applicable).
  • pre-compact.sh counted project files by looking for JOURNAL.md. Now looks for BACKLOG.md.
  • periodic-save.sh block message mentioned projects/*/JOURNAL.md. Now says projects/*/BACKLOG.md.

v2.0.1 — Post-launch polish

09 Apr 16:19

Choose a tag to compare

Post-launch polish release. Fixes issues found after v2.0.0 shipped, adds brand asset, corrects terminology leftovers.

Fixed

  • README Mermaid diagram truncation — Long node labels in the architecture diagram were truncated on GitHub's rendered view. Fixed by wrapping labels with <br/> in quoted syntax. Verified via Chrome browser automation on live GitHub render. (#4a37c00)
  • /tour skill obsolete content — The tour still referenced v1 architecture (3 hooks, topics/ layer). Now reflects v2: 5 hooks, knowledge/ wiki layer, new Step 5 for Memory Kit v2 Scripts. (#6da1f19)
  • Terminology leftovers: topics/knowledge/ — Systematic audit caught 4 lingering v1 references in MEMORY.md template and CLAUDE.md. All migrated to knowledge/concepts/ naming. (#ab1b0b5)
  • Missing CONTRIBUTING.md — README linked to CONTRIBUTING.md that didn't exist (broken link). Created minimal guide with PR rules and ground rules (zero dependencies, pure Markdown, Obsidian optional). (#ab1b0b5)

Added

  • GitHub Social Preview banner — `.github/assets/og-banner.png` (1280×640). Dark editorial design with isometric 5-layer glass stack (BRAIN/MEMORY/RULES/JOURNAL/CONTEXT). Generated via Gemini Nano Banana Pro. Upload via repo Settings → Social preview. (#29afd04, #b9cd78e)
  • Hero banner in README — Banner now renders as the first element of README via pure Markdown. Stays compliant with H3 Hybrid structure (no HTML wrappers in top zone). (#de0990b)

Upgrading from v2.0.0

No breaking changes. Pure additive + fixes.

If you already cloned v2.0.0:
```bash
git pull origin main
```

  • The `/tour` skill will show the updated v2 walkthrough automatically on next invocation
  • The Mermaid diagram fix only affects rendered view; no behavior change
  • No migration steps needed

Full changelog

See CHANGELOG.md for complete details.

Full diff: v2.0.0...v2.0.1

v2.0.0 — Memory Kit v2: Pipeline, Knowledge Wiki, Self-Selling README

09 Apr 14:20

Choose a tag to compare

Major upgrade from v1. Full memory pipeline + structural refactor + marketing-ready README.

Highlights

New pipeline (Python stdlib only, zero pip install):

  • compile.py — daily logs → knowledge wiki articles (incremental via SHA-256)
  • lint.py — 7 structural health checks + --fix auto-repair
  • query.py — index-guided retrieval with optional --file-back compounding loop
  • flush.py — session-end background transcript extractor (Opus, 100 turns / 50KB)
  • config.py — path constants

New hooks:

  • session-end.sh — auto-captures conversation transcripts to daily/YYYY-MM-DD.md
  • protect-tests.sh — blocks edits to existing test files (creates allowed)

Structural:

  • .claude/memory/knowledge/ — 6-subdir wiki (concepts/connections/meetings/qa/projects/experiments) with index.md + log.md
  • daily/ — auto-captured session logs (gitignored content)
  • .claude/state/ — project-local runtime state (replaces legacy ~/.claude-starter-kit/hook_state/)

README refactor (H3 Hybrid):

  • 237 → 169 lines (tighter, less filler)
  • Pain-first hero + 5-layer component table
  • Install CTA moved from line 77 → line 18
  • GitHub admonitions, Mermaid architecture diagram, FAQ collapsibles
  • New positioning: "The OS layer for Claude Code. Not just memory — the entire context management lifecycle."

CLAUDE.md fixes:

  • Added @README.md import so README loads automatically at session start (Claude Code does NOT auto-load README otherwise)
  • topics/ terminology replaced with knowledge/ throughout
  • Periodic save default: 15 → 50 exchanges

Migration notes (v1 → v2)

  • Existing users: the session counter at ~/.claude-starter-kit/hook_state/session_count is no longer read. Counter resets to 1. Non-critical (cosmetic).
  • MEMORY.md, JOURNAL.md, and next-session-prompt.md formats are unchanged — your existing content continues to work.
  • After pulling v2: run chmod +x .claude/hooks/session-end.sh .claude/hooks/protect-tests.sh if the executable bit didn't survive.

Dependencies

  • Python 3.9+ (stdlib only — no pip install)
  • Claude Code CLI (existing)
  • Claude Pro/Max subscription or API credits (existing)
  • Obsidian is NOT required — the wiki works in any Markdown editor. Obsidian is only for the optional visual graph view.

See CHANGELOG.md for the full changelog.