Repository navigation
Releases
lore 0.1.0-alpha.5
lore graph: your notes as an interactive graph. It writes one self-contained HTML page and prints its path. The page needs no server and no network, so you can open it, send it to someone, or publish it. In the spirit of Obsidian's graph view:
- Notes are coloured by type and show their status: superseded notes fade, drafts are hollow, and an effort whose spec changed is ringed red.
- A link to a missing note shows as a dashed node.
- A code layer, off by default, shows what the anchors and citations reach.
- Click a note to read it in a side panel.
- The address keeps the view, so a link can be shared.
- Keys:
/searches, Esc closes, and the arrow keys follow links.
lore graph <note> --depth N --open opens focused on one note. --json prints the nodes and edges. The same notes always give the same page, byte for byte.
A lore-graph skill, so "show me the graph" or "what links to the auth spec?" opens it. npx skills add apisandipas/lore to update your skills; lore init now reports lore-graph if it is missing.
Homebrew: brew install apisandipas/lore/lore.
Changes you might notice:
- A flag a command does not take is now an error (exit 2) that names the flags it does take, so a typo fails instead of being ignored:
lore list: list takes no --sumaries (flags: --type, --summaries, --json). symbol:anchors match whole words in any script, not only ASCII.lore newwarns about number-prefix links a new note would shadow, as it already did for filenames.lore next --jsongives each note'sname, like the other commands.- Code citations come back in the same order on every run.
Most of the rest is internal: anchors, field changes, superseding, naming and note syntax each moved into one module, with tests.
Install: curl -fsSL https://apisandipas.github.io/lore/install.sh | sh (Linux, macOS), the archives below, nix run github:apisandipas/lore/v0.1.0-alpha.5 -- help, or Homebrew. Docs: https://apisandipas.github.io/lore/
What's Changed
- An Anchor module: one meaning for which files an anchor governs by @apisandipas in #8
- One field-change module for lore new and lore set by @apisandipas in #9
- A Supersede module: what new writes is what check requires by @apisandipas in #10
- lore new asks the graph which names a new stem shadows by @apisandipas in #11
- Each command declares its own flags by @apisandipas in #16
- One JSON view of a note, for front ends by @apisandipas in #17
- A Names module for how notes are named and found by @apisandipas in #18
- lore init writes through the Tree by @apisandipas in #19
- lore graph: the notes as an interactive graph (#20) by @apisandipas in #26
- graph: Open on GitHub links to a branch origin has by @apisandipas in #27
- lore-graph skill (#28) by @apisandipas in #29
- release 0.1.0-alpha.5 by @apisandipas in #30
Full Changelog: v0.1.0-alpha.4...v0.1.0-alpha.5
lore 0.1.0-alpha.4
Standalone binaries. lore no longer needs Nix, Bun or Node. On Linux or macOS:
curl -fsSL https://apisandipas.github.io/lore/install.sh | shIt installs to ~/.local/bin and checks the download against SHA256SUMS; run it again to upgrade. lore also needs ripgrep (rg). Builds for Linux x64/arm64, macOS x64/arm64 and Windows x64 are attached below.
With Nix: nix run github:apisandipas/lore/v0.1.0-alpha.4 -- help. Skills: npx skills add apisandipas/lore. Docs: https://apisandipas.github.io/lore/
- Releases build, smoke-test and attach the binaries automatically; CI runs the Bun and Emacs tests and the typecheck on every push.
Full Changelog: v0.1.0-alpha.3...v0.1.0-alpha.4
lore 0.1.0-alpha.3
Install with nix run github:apisandipas/lore/v0.1.0-alpha.3 -- help; skills with npx skills add apisandipas/lore. Documentation, with examples: https://apisandipas.github.io/lore/
- Notes are named
type/stem(decision 0012):spec/due-dates,effort/due-dates,decision/0002. A spec and the effort that builds it can now share a filename. lore writes every link and message with these names; bare filenames still resolve while only one note has them, so existing notes keep working.lore newlists any bare links it makes ambiguous, with the name each meant, and ambiguity errors name the candidates. - Org notes:
#+key:fields,[[name][label]]and[[file:…]]links,[X]checklists, andformat: orgtypes forlore new. Markdown and Org notes mix in one repo. - Emacs (
editors/emacs/lore.el, flake packageemacs): a sidebar of the notes governing the current file,M-./M-?on citations and links, eldoc, completion of note names, Flymake forlore check, and commands for next/show/check/new/tick/freeze. Early: its spec is still a draft. --jsonoutput fromlist,showandcontextincludes each note'sname.- Documentation site, published from
site/on main.
Full Changelog: v0.1.0-alpha.2...v0.1.0-alpha.3
lore 0.1.0-alpha.2
Install with nix run github:apisandipas/lore/v0.1.0-alpha.2 -- help; skills with npx skills add apisandipas/lore.
- Claude Code hook (
hooks/claude-code.sh): hands the agent the notes for each file it reads or edits, once per session, and again after compaction. Install steps in the README. In real agent runs, 3 of 3 followed a note with the hook and 0 of 3 without it. lore context --session <id>shows only notes that session has not seen, or that changed since;--forgetstarts it over.- Faster
context: 1.5s → 0.11s on a 21k-file repo. - Sizing: small work (one sentence, one commit) skips spec/plan/build/ship (
WORKFLOW.md, decision 0011). - Fixes: an all-digit frozen hash was read as a number and drift went unreported;
set title=2024wrote a number; an unreadable schema or missingrgexited 2 instead of 1;[[CONTEXT.md]]was reported as ambiguous. new,setandcheckreport a bad field with the same messages.- npm package name will be
lore-craft; the command stayslore.
Full Changelog: v0.1.0-alpha.1...v0.1.0-alpha.2
lore 0.1.0-alpha.1
First alpha. Install with nix run github:apisandipas/lore/v0.1.0-alpha.1 -- help; skills with npx skills add apisandipas/lore. Commands: init, next, context, show, list, check, new (--link, --supersedes), freeze, set, tick.
Full Changelog: https://github.com/apisandipas/lore/commits/v0.1.0-alpha.1