lore-protocol CLAUDE.md

Project instructions for Lore CLI, a command-line tool that stores structured decision context in Git commit messages. The context can include constraints, rejected options, directives, confidence, test notes, and cross-references.

In plain words
What is it for?
Use it when developing Lore CLI to follow its architecture, run builds and checks, and maintain its TypeScript and Node.js codebase.
Why use it?
It keeps the reasoning behind code decisions alongside the Git history, so later work can account for earlier choices.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/ian-stetsenko/lore-protocol/claude-md
Clone the repo
git clone --depth 1 https://github.com/Ian-stetsenko/lore-protocol
Per session 1,159 This file is loaded in full into every session.
When invoked 1,159 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01159 $0.01159
Opus 5 $0.00580 $0.00580
Sonnet 5 $0.00232 $0.00232
Haiku 4.5 $0.00116 $0.00116

Measured 3d ago against content hash ccf1fb38bc50, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

lore-protocol CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

- Mock `IGitClient` for service tests -- never mock `child_process` directly.
CLAUDE.md · 105 lines

How it starts

The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Lore CLI

Lore CLI is a tool for the Lore protocol -- a convention for embedding structured decision context (constraints, rejected alternatives, directives, confidence, test notes, cross-references) into git commit messages via trailers. It provides query, write, and maintenance commands over git history.

Tech Stack

TypeScript, Node.js 18+, ESM modules, Commander.js, vitest, chalk, smol-toml, tsup (bundler).

Build & Test Commands

Command Description
npm run build Build with tsup
npm run typecheck Type-check with tsc --noEmit
npm test Run all tests with vitest
npm run test:watch Tests in watch mode
npm run lint ESLint (src/ and tests/)
npm run format Prettier (src/ and tests/)

Run npm run build && npm run typecheck && npm test before submitting changes.

Architecture

Strict layered architecture. Dependencies flow inward/downward only.

main.ts          — Composition root (the ONLY place concrete classes are instantiated)
  commands/      — Thin CLI handlers; one file per command
    helpers/     — Shared command logic (e.g., path-query pipeline)
  formatters/    — IOutputFormatter implementations (text, JSON)
  services/      — Business logic (parsing, querying, validation, staleness, commit building)
  interfaces/    — Contracts/ports (IGitClient, IConfigLoader, IOutputFormatter, IPrompt)
  types/         — Domain models, config schema, query/output shapes (pure data, zero logic)
  util/          — Constants and error types

Dependency rules:

  • Commands depend on services and interfaces; never the reverse.
  • Services depend on interfaces and types; never on commands or formatters.
  • Types and utilities are leaf nodes with no upstream dependencies.
  • No file in services/ imports from commands/ or formatters/.

Composition Root

src/main.ts is the composition root. It:

  1. Instantiates all concrete implementations.
  2. Loads configuration.
  3. Creates services with constructor injection.
  4. Creates the formatter factory (getFormatter) that defers format selection to call time.
  5. Registers all commands with their dependency bags.

Read the full file on GitHub · 105 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 105 lines · 1,159 tokens per session scan A ccf1fb38bc50

Subscribe to this mod's changes

lore-protocol CLAUDE.md is an instructions file published in the GitHub repository Ian-stetsenko/lore-protocol (28 stars, last pushed 3mo ago), licensed MIT. It adds 1,159 tokens to every session, about $0.0058 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.