Skip to content

local-agent — project memory

This is a local-first org-navigator. The single data path is the la CLI (./la in this directory, or uv run local-agent). The canonical store is one local SQLite file. No data leaves this machine.

How to behave here

  • Use the local-agent-capture skill (.claude/skills/local-agent-capture/) for all capture and query. It maps natural language to la commands.
  • Capture-first: prefer writing facts (people, links, notes/commitments) and reading them back with la ... list / la brief.
  • Only ever touch data through la. Never read or write the SQLite file directly, never run sqlite3, never use the network.
  • la delete ... and la reset --yes are destructive — run only after the user explicitly confirms in chat.

Command reference

See CHEATSHEET.md for the full grammar. The common ones:

la person add "NAME" [--me] [--team T] [--role R]
la link add A B [--kind reports_to|collaborates_with|knows]
la note add "TEXT" [--for P] [--owe|--owed] [--kind K] [--due YYYY-MM-DD]
la person list | la note list | la link list
la who TEAM | la intro P | la brief P | la owe | la owed

Privacy contract

This project runs against a local model via Ollama. The tool surface is locked in .claude/settings.json (only la shell commands; web/network tools denied). The guarantee is provable on demand with scripts/audit_egress.sh (make audit).