Skip to content

v0.8.1 — Hotfix: .ladyM Project-Local Default DB & ladym init

Choose a tag to compare

@HoweChen HoweChen released this 21 Oct 03:21
· 14 commits to main since this release

Highlights

A small but layout-defining hotfix on top of 0.8.0: the personal edition's default SQLite database moves from a flat ./ladym.db in your project root into a dedicated .ladyM/ directory, and a new ladym init command makes the setup explicit and reversible.

  • New default: .ladyM/ladym.db. One dot-directory now holds the db and all its sidecar files (-wal, -shm, .index.lock), keeping the project root clean — the same convention as .wrangler/state, .expo/, and friends. One .gitignore line (.ladyM/) covers everything, so forgotten -wal entries can no longer leak into commits.
  • ladym init. Creates .ladyM/ladym.db (idempotent schema bootstrap), migrates a legacy flat ./ladym.db — db plus -wal/-shm sidecars — into .ladyM/, and appends the two-line ignore block to .gitignore when one exists (or creates it in a git repo; prints a hint otherwise). Re-running is always safe.
  • Zero-breakage fallback. If a legacy flat ./ladym.db exists, it keeps being read — existing memories never vanish behind the new default. Migration happens only when you ask for it (ladym init). Explicit paths (--db, LADYM_DB, toml db_path) are untouched: init with an explicit path only bootstraps the schema.
  • Hook synergy. Hook events land in the per-project .ladyM/ladym.db (the hook process inherits the harness cwd), so silent capture from 0.8.0 now stays out of version control by default.

Compatibility

  • No schema changes; no config format changes. All explicit db-path configuration (--db, LADYM_DB, ladym.toml db_path) behaves exactly as before.
  • Existing flat ./ladym.db layouts keep working via the read fallback until migrated with ladym init (stop serve/worker before migrating).
  • Case note: the directory is spelled .ladyM (capital M), matching the existing ~/.ladyM home layout.

Installation

Prebuilt binaries for linux/darwin (amd64/arm64) — personal, personal-fulldict, and enterprise flavours — are attached below with SHA256SUMS. Or build from source:

go build -o bin/ladym ./cmd/ladym

Then, in your project:

ladym init