Skip to main content

agentlog

Persistent decision memory for any project. Three commands. One file. Zero frameworks.

Inspired by Karpathy's LLM Wiki — which proved that the best knowledge system is just well-structured text that an LLM maintains for you. This is that idea, shipped as a CLI you can install in 30 seconds.

The problem

Every team has a "why did we decide this?" problem. Decisions live in Slack threads, Google Docs, people's heads, and nowhere useful. Six months later, you're re-litigating the same trade-off because no one remembers the reasoning.

The fix

# Store a decision directly
agentlog remember "Chose DynamoDB over Postgres for session store — need <10ms at 10K RPS"

# Or use AI to summarize a decision from a file (e.g., using Simon Willison's 'llm' CLI)
agentlog remember "$(llm 'Summarize the key architectural decision made here' < meeting-notes.txt)"

# Retrieve relevant decisions
agentlog recall "database choices"

# Synthesize patterns across all decisions
agentlog reflect

That's it. Decisions are stored as JSONL (one per line, grep-friendly, version-controllable). Retrieval and reflection use Claude or Gemini to find relevant context and surface patterns.

Install

pip install agentlog-cli
export ANTHROPIC_API_KEY="sk-..."   # or: export GEMINI_API_KEY="..."

agentlog remember "First decision logged"

That's it — Anthropic and Gemini SDKs are pulled in as dependencies, so a single pip install covers both providers.

Why agentlog-cli, not agentlog? PyPI flagged the bare name agentlog as confusable with an unrelated logging package. The module, CLI binary, and GitHub repo are still agentlog — only the pip install target differs (same pattern as pillow/PIL, beautifulsoup4/bs4).

Run from source (for hacking on it)
git clone https://github.com/RyanAlberts/agentlog.git
cd agentlog
pip install -e .
agentlog remember "First decision logged"

How it works

remember stores a decision as a JSON line with auto-generated tags:

{"id": "20260415-213045", "timestamp": "2026-04-15T21:30:45", "text": "Chose DynamoDB over Postgres...", "tags": ["database", "performance", "infrastructure"]}

recall sends your query + all decisions to Claude (or Gemini) and gets back the relevant context with connections explained.

reflect asks Claude to find patterns, contradictions, and gaps across your entire decision history. Reflections are saved to .agentlog/reflections.md so they accumulate over time.

Multi-model support

Defaults to Claude (Anthropic). Switch to Gemini per-command:

agentlog recall "API design patterns" --model gemini

Or set a default:

export AGENTLOG_PROVIDER=gemini

Design philosophy

Read DECISIONS.md for the full rationale. The short version:

  • One file, not a framework. 200 lines of Python. Read the whole thing in 5 minutes.
  • JSONL, not a database. Grep-friendly, git-friendly, LLM-friendly.
  • Three commands, not ten. Remember, recall, reflect. That's the whole API surface.
  • The LLM does the heavy lifting. No embeddings, no vector DB, no RAG pipeline. The model reads all your decisions and finds the relevant ones. This works up to ~500 decisions before you'd need to add chunking.

Inspired by

  • LLM Wiki by Andrej Karpathy — the idea that LLMs should maintain your knowledge base
  • gbrain by Garry Tan — persistent memory for Claude Code projects
  • Simon Willison's llm — proof that single-purpose CLI tools for LLMs are underrated

Built by Ryan Alberts — Staff PM working in Agentic AI.

Release files for agentlog-cli 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentlog-cli 0.1.0
File Size Uploaded
agentlog_cli-0.1.0.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentlog-cli 0.1.0
File Interpreter ABI Platform
agentlog_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.4 kB

Release files / agentlog_cli-0.1.0.tar.gz

Download URL agentlog_cli-0.1.0.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2cbb6d060ef8769c0d363bcfa6d81f25f98f7c3409dd1d77d9e425da5ea74f08
BLAKE2b-256 checksum
How to use checksums
26674ce77b7cb574808969a2dbb310e478e4ae76f6b45e493a6c26a5e420143d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 17, 2026.

Transparency log

Release files / agentlog_cli-0.1.0-py3-none-any.whl

Download URL agentlog_cli-0.1.0-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
281e13823aa717c72015a77f21bd4168f76d7a004ee8eab12e138cef44ce23b2
BLAKE2b-256 checksum
How to use checksums
1047f4c28f3955141caeb5f684d3f566c69593f5083c7be32615a5195ecd1fe1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page