Skip to content

Releases: Karthick-Ramachandran/persist-os

v0.6.2 — doctor --json + field-feedback fixes

Choose a tag to compare

@Karthick-Ramachandran Karthick-Ramachandran released this 02 Jul 17:46

Machine-readable Doctor output (community-contributed) plus fixes from real-world usage.

npx persist-os@latest init

New

  • persist doctor --json — a stable, machine-readable report (schemaVersion, status, exit code, summary, findings) for CI artifacts, hooks, and agent handoffs. The human output is unchanged. Thanks to @caioribeiroclw-pixel for the contribution (#11).

Fixed (from field feedback)

  • Removed a dangling docs/ai/MODULE_DELIVERY_WORKFLOW.md reference in the plan-module / update-module-memory skills — init never generated that file.
  • persist adr accept now accepts the full ADR-####-<slug> filename (with or without .md), not just the bare slug.
  • Generated CI (persist.yml) now runs on pull_request + pushes to main — Doctor runs once per PR instead of twice.

Verified

typecheck · lint · format · build · 293/293 tests · persist doctor PASSED.

Local-first: no network, no telemetry, no AI calls.

v0.6.1 — Right-sized discipline

Choose a tag to compare

@Karthick-Ramachandran Karthick-Ramachandran released this 23 Jun 17:27

Makes the discipline proportional — the fix for agents either over-ceremonying tiny changes or skipping the memory entirely.

npx persist-os@latest init

Fixed

  • Match ceremony to scope — both ways. A genuinely new feature, module, integration, data model, or security/architecture decision gets proper planning; a small addition or fix in an already-decided area just gets implemented with focused tests. Judged by novelty + blast radius, not line count. (Previously a one-button change could trigger a full module plan + docs.)
  • Reliably contribute memory. Front-loaded rule: record substantial work via the persist CLI (feature create, adr create+accept) so the durable trail actually exists — "if it's not in a file, it didn't happen." (Previously agents oriented from memory but never wrote any back.)
  • Tightened plan-module / plan-feature / create-prd triggers to exclude small changes (loads on-demand → also cuts token cost); implement-task no longer forces the full PRD→plan pipeline for every task.

Verified

typecheck · lint · format · build · 290/290 tests · persist doctor PASSED. Live-tested by building a real to-do app: right-sizing held, the contribute loop created durable memory, and the gates caught two corner-cuts.

Local-first: no network, no telemetry, no AI calls.

v0.6.0 — Conventions + Lessons memory

Choose a tag to compare

@Karthick-Ramachandran Karthick-Ramachandran released this 23 Jun 16:22
a08ff5e

Two new architecture-neutral memory docs the agent maintains itself — so memory stays useful even on pure vibe-coded projects. Learned from a high-quality Figma-MCP setup: named vocabulary + durable lessons are what drive output quality.

npx persist-os@latest init

New

  • docs/60-engineering/CONVENTIONS.md — your canonical, reusable vocabulary (named primitives, naming, falsifiable rules, anti-patterns). The agent reuses what it names instead of reinventing, and records new primitives there. persist doctor nudges it to be filled once the repo has real work; the new conventions-adherence skill reviews a change for reuse-over-reinvent.
  • docs/60-engineering/LESSONS.md — durable, hard-won pitfalls so the same mistake isn't rediscovered next session. No doctor check by design (empty is valid).
  • Both load into every agent session, and AGENTS.md + the Cursor rule instruct the agent to keep them current itself — the human just reviews edits in the PR.

Improved

  • AGENTS.md restructured into a lean, front-loaded imperative Rules block (≈30% smaller); the Cursor rule mirrors it instead of duplicating. Fewer, sharper, more-followed instructions.
  • Review skills (security / drift / conventions) now review with fresh, independent context.

Verified

typecheck · lint · format · build · 290/290 tests · persist doctor PASSED. Live-tested end-to-end: the loaded memory demonstrably changes agent behavior (reuse over reinvent).

Local-first: no network, no telemetry, no AI calls.

v0.5.0 — Persist OS (formerly Recall OS)

Choose a tag to compare

@Karthick-Ramachandran Karthick-Ramachandran released this 22 Jun 19:15
32ea7e0

Recall OS is now Persist OS. Same local-first, deterministic engineering-memory CLI — new name. The old recall-os npm package is left published and untouched, so existing installs keep working.

npx persist-os@latest init

Highlights since v0.2.1

  • Renamed to Persist OS — package persist-os, binary persist, config dir .persist/. Generated agent files, skills, and hooks all emit persist.
  • persist init --ai-tools — generate files only for the tools you use (claude, codex, cursor); portable Agent Skills under .agents/skills/.
  • Pre-push regression gatepersist init writes a tracked pre-push hook that runs persist doctor + your gates before code leaves your machine.
  • persist guard — fails when staged source changed without tests (opt-in gate).
  • Anti-rot doctor checks — warns on context-budget bloat (always-loaded files growing into a wall of text) and staleness (memory pointing at src/ that changed long after it did).
  • Decisions change safelypersist adr supersede records superseded decisions; doctor flags anything still citing the old one.

Verification

typecheck · lint · format · build · 286/286 tests · persist doctor PASSED · zero recall references.

Local-first: no network, no telemetry, no AI API calls.

v0.2.1 — ecosystem-wide adopt detection + enforced security docs

Choose a tag to compare

@Karthick-Ramachandran Karthick-Ramachandran released this 20 Jun 19:32

Recall OS v0.2.1 — better detection on real repos, and a threat model the tool actually makes you write.

Adopt detection, generalized across ecosystems

  • Package manager is chosen by primary ecosystem (go.mod, Cargo.toml, composer.json, Gemfile, Python, JVM, Swift, Dart) — a tooling package.json no longer mislabels a Go/PHP/Ruby repo as npm.
  • Test detection works everywhere via a bounded, read-only walk: *_test.go, *.test.*/*.spec.*, test_*.py, *Test.(java|kt), *Test.php, *_spec.rb — not just a tests/ dir or npm script.
  • Added PHP / Laravel and Ruby / Rails detection.
  • Reviewable provenance: every detected signal now reports the file it was inferred from, so you can confirm or correct it. Nothing is accepted automatically.

Detection at recall init too

recall init now surfaces the detected stack (read-only, proposed — no decisions baked in), with the same "correct the source if it's wrong" guidance and a pointer to recall adopt to persist it.

Security docs you actually fill in

  • Richer, guided SECURITY_MODEL.md and THREAT_MODEL.md templates: assets, entry points, trust boundaries, STRIDE-style threats, mitigations, authentication/authorization, secrets, and dependencies.
  • recall doctor now warns when those sections are left as stubs — but only once the repository has real work (a feature, module, or accepted ADR). A bare recall init stays green.

Install

```bash
npm install -g recall-os@latest
```

v0.2.0 — Laravel presets + cross-tool memory

Choose a tag to compare

@Karthick-Ramachandran Karthick-Ramachandran released this 20 Jun 18:58

Recall OS v0.2.0 — durable, AI-ready repository memory, now across more tools and stacks.

Highlights

Laravel opinion packs

Three new presets matching Laravel 12's official starter-kit stacks, all proposing decisions you accept (never silent):

  • laravel-react — Inertia + React 19 + TypeScript + Tailwind
  • laravel-vue — Inertia + Vue 3 + TypeScript + Tailwind
  • laravel-api — versioned REST + API Resources for a decoupled SPA/mobile client

Each ships eight proposed ADRs (framework, Eloquent, Sanctum, Form Requests + Policies, Action/Service structure, queues, Pest) plus rich guidance and browsable example output.

Memory loads across tools, not just Claude Code

recall init now wires each tool with its native mechanism:

  • Claude Code — a SessionStart hook injects a live ADR/module map every session
  • Cursor — an always-apply rule (.cursor/rules/recall-memory.mdc)
  • CodexAGENTS.md (auto-discovered), the portable floor everywhere

Doctor fix: proposed ADRs stay healthy on acceptance

Preset, MCP, and adopt proposed ADRs previously failed recall doctor the moment they were accepted (missing ## Related Documents). There is now a single source of truth for required ADR sections, and every generated proposed ADR is normalized — regression-tested across all three generation paths.

Docs

  • New PHILOSOPHY.md — why the tool exists and the bet on discipline over magic.
  • New llms.txt — a web-fetchable memory map for LLMs.
  • Refreshed README and demo GIF.

Install

```bash
npm install -g recall-os
recall --help
```

v0.1.1

Choose a tag to compare

@Karthick-Ramachandran Karthick-Ramachandran released this 20 Jun 16:59

First public release line for Recall OS — a local-first CLI that gives your repo durable, AI-ready memory and a deterministic doctor.

Install: npm install -g recall-os

Highlights:

  • npm-first README and quickstart
  • recall adr accept — promote a proposed ADR to accepted source-of-truth (closes the propose→accept loop)
  • recall mcp add + capture skill — bring Figma/Linear/Jira/Sentry context into durable memory, offline
  • Opinionated presets (Kotlin, Python/FastAPI, Swift, Next.js), recall adopt, skill generation, pre-commit hook, guided output
  • recall doctor: structure, completion evidence, ADR quality, security, drift, and content checks

235 tests, CI green, zero network/telemetry.