Skip to main content

Reusable self-learning engine for agent workflows

Project description

agent-learner

Reusable learning control plane for coding-agent workflows.

agent-learner helps you:

  • capture learned rules from agent work
  • keep project-local and global brain knowledge separate
  • review candidates and promote useful rules
  • use a dashboard UI for history, rules, and promotions

It is designed to layer onto existing agent environments rather than replace them.

Start here

If you just want the main dashboard experience, use this:

pipx install "agent-learner[web]"
agent-learner doctor --project-root /path/to/repo
agent-learner dashboard --project-root /path/to/repo --open

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.

Choose your path

1. Published Python package

pipx install "agent-learner[web]"
agent-learner dashboard --project-root /path/to/repo

2. npm / npx wrapper

npx @cafitac/agent-learner doctor
npx @cafitac/agent-learner dashboard --project-root /path/to/repo

3. Source checkout

./bin/dashboard.sh doctor
./bin/dashboard.sh --open

4. Optional Docker path

docker compose up --build

Docker is optional convenience only. It is not the primary OSS install path.

Typical workflow

  1. Point agent-learner at a project
  2. Run doctor
  3. Open the dashboard
  4. Review rules, candidates, and history
  5. Promote reusable knowledge to the global brain when appropriate

Core concepts

Project brain vs global brain

  • project-local knowledge lives under <project>/.agent-learner/
  • reusable shared knowledge lives under ~/.agent-learner/global/
  • retrieval is local-first, then global

Main runtime

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.

Key commands

agent-learner doctor --project-root /path/to/repo
agent-learner dashboard --project-root /path/to/repo --open
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

Repository shape

  • src/agent_learner/ — Python core
  • frontend/ — React + Vite dashboard UI
  • bin/ — shell / wrapper entrypoints
  • tests/ — CLI, lifecycle, wrapper, and dashboard tests
  • docs/ — install, architecture, release, and smoke docs

Docs

  • Start here:

    • docs/install.md — install and run paths
    • docs/quickstart.md — shortest command sequences
  • Release and publish:

    • docs/publish-smoke-checklist.md — post-publish smoke matrix
    • docs/release-process.md — tag order and release flow
    • docs/distribution.md — Python core vs npm wrapper strategy
  • Architecture:

    • docs/architecture.md
    • docs/adapter-convergence.md
  • docs/install.md

  • docs/quickstart.md

  • docs/architecture.md

  • docs/adapter-convergence.md

  • docs/distribution.md

  • docs/publish-smoke-checklist.md

  • docs/release-process.md

  • docs/prerelease-checklist.md

Status

Current implemented areas:

  • local/global brain split
  • merged retrieval
  • candidate/rule/history lifecycle
  • dashboard UI
  • global promotion and sync
  • npm wrapper + source checkout helper

Release note

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-commands

Or from a source checkout:

./bin/publish-smoke.sh --json

Then follow docs/publish-smoke-checklist.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_learner-0.3.0.tar.gz (119.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_learner-0.3.0-py3-none-any.whl (101.4 kB view details)

Uploaded Python 3

File details

Details for the file agent_learner-0.3.0.tar.gz.

File metadata

  • Download URL: agent_learner-0.3.0.tar.gz
  • Upload date:
  • Size: 119.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agent_learner-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b16942d6340a224378d92ed9b91406e00397025151d9bf888c4df9525f98ea6c
MD5 cff1ca248cd8a4dbd01ae9eff66c42f7
BLAKE2b-256 7dd943e53a2818aeb4a539e9ec4a33b81fc62d53526492f378b856b11545efa8

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_learner-0.3.0.tar.gz:

Publisher: pypi-publish.yml on cafitac/agent-learner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agent_learner-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: agent_learner-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 101.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agent_learner-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b43c31f957cf5a77081527527814b73dee5ce706f1bef8ff8747b86050a6e4f9
MD5 02ccc1b708673b3346d2bf5350dd8381
BLAKE2b-256 194097198e88d2efd71e753492cdd5876356ea0ae99026b978fac2281d3d1003

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_learner-0.3.0-py3-none-any.whl:

Publisher: pypi-publish.yml on cafitac/agent-learner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page