Reusable learning control plane for coding-agent workflows.
agent-learner helps you:
- capture learned rules from agent work
- keep project-local and global learning assets separate
- review candidates and promote useful rules
- use a dashboard UI for history, rules, and promotions
It is a learning system, not a unified wiki layer.
It is designed to layer onto existing agent environments rather than replace them.
If you want the shortest one-line setup, use one of these:
pipx install "agent-learner[web]" && agent-learner dashboard --project-root "$PWD" --open
npx @cafitac/agent-learner@latest dashboard --project-root "$PWD" --openIf you want a preflight check first, run doctor before dashboard.
The dashboard defaults to 127.0.0.1:8766 to avoid common local MCP/gateway
ports such as 8765.
doctor tells you whether the dashboard can run now, what is missing, and the next command to use.
pipx install "agent-learner[web]" && agent-learner dashboard --project-root "$PWD" --opennpx @cafitac/agent-learner@latest dashboard --project-root "$PWD" --open./bin/dashboard.sh doctor
./bin/dashboard.sh --opendocker compose up --buildDocker is optional convenience only. It is not the primary OSS install path.
- Install the Codex hook once at user scope or per project
- Run
doctor - Open the dashboard
- Review rules, candidates, and history
- Promote reusable learning assets to the global layer when appropriate
- project-local knowledge lives under
<project>/.agent-learner/ - reusable shared knowledge lives under
~/.agent-learner/global/ - retrieval is local-first, then global
- Codex can be installed once at user scope while still writing learning assets per project
- external wiki/KB systems remain separate and are not part of the canonical learning lifecycle
- rules are indexed into machine-readable metadata under
.agent-learner/index/rules.json - a human-readable summary is also written to
.agent-learner/index/index.md - retrieval uses the index first, then loads only the top matching rules
approvedrules are injected by default;needs_reviewanddeprecatedstay out unless explicitly requested- use
agent-learner rebuild-index --project-root "$PWD"if you want to force a full reindex after manual edits
The primary UI/runtime path is:
- FastAPI backend
- built React dashboard frontend
Static dashboard generation and stdlib-only serving still exist, but they are secondary paths.
agent-learner doctor --project-root /path/to/repo
agent-learner dashboard --project-root /path/to/repo --open
agent-learner install-codex
agent-learner bootstrap --target /path/to/repo
agent-learner review-candidates --project-root /path/to/repo
agent-learner history --project-root /path/to/repo --latest-per-rule --last 10
agent-learner history-summary --project-root /path/to/repo --by adapter-decision
agent-learner overview --project-root /path/to/repo --format json
agent-learner rebuild-index --project-root /path/to/repo
agent-learner install-codex --target /path/to/repo
agent-learner updatesrc/agent_learner/— Python corefrontend/— React + Vite dashboard UIbin/— shell / wrapper entrypointstests/— CLI, lifecycle, wrapper, and dashboard testsdocs/— install, architecture, release, and smoke docs
-
Start here:
docs/install.md— install and run pathsdocs/quickstart.md— shortest command sequences
-
Release and publish:
docs/publish-smoke-checklist.md— post-publish smoke matrixdocs/release-process.md— tag order and release flowdocs/distribution.md— Python core vs npm wrapper strategy
-
Architecture:
docs/architecture.mddocs/adapter-convergence.mddocs/scope-learning-system.mddocs/storage-independence-and-provenance.md
-
docs/install.md -
docs/quickstart.md -
docs/architecture.md -
docs/adapter-convergence.md -
docs/scope-learning-system.md -
docs/storage-independence-and-provenance.md -
docs/distribution.md -
docs/publish-smoke-checklist.md -
docs/release-process.md -
docs/prerelease-checklist.md
Current implemented areas:
- local/global learning split
- merged retrieval
- candidate/rule/history lifecycle
- dashboard UI
- global promotion and sync
- npm wrapper + source checkout helper
If you are validating a release, use:
python scripts/release/publish_smoke_check.py --json
python scripts/release/published_runtime_smoke.py --project-root /path/to/repo --json --skip-commandsOr from a source checkout:
./bin/publish-smoke.sh --jsonThen follow docs/publish-smoke-checklist.md.
Common wrapper aliases now work directly:
agent-learner install-codex --target "$PWD"
agent-learner install-claude --target "$PWD"
agent-learner rebuild-index --project-root "$PWD"
agent-learner bootstrap --target "$PWD"
agent-learner update
agent-learner completion zshZsh:
echo 'source <(agent-learner completion zsh)' >> ~/.zshrc
source ~/.zshrcBash:
echo 'source <(agent-learner completion bash)' >> ~/.bashrc
source ~/.bashrc