Eru.Tool 0.16.1

dotnet tool install --global Eru.Tool --version 0.16.1
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Eru.Tool --version 0.16.1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Eru.Tool&version=0.16.1
                    
nuke :add-package Eru.Tool --version 0.16.1
                    

<p align="center"> <img src="docs/images/eru-logo.svg" alt="eru" width="280"> </p>

<h3 align="center">Targeted context for AI agents, from any git repo.</h3>

<p align="center"> <code>eru</code> pulls just the knowledge an agent needs from local or remote git sources, makes it searchable, gives humans a themed site to read it, and lets agents turn a pile of raw notes into a curated knowledge source. </p>

<p align="center"> <a href="https://github.com/dburriss/eru/actions/workflows/build.yml"><img src="https://github.com/dburriss/eru/actions/workflows/build.yml/badge.svg" alt="Build and test"></a> <a href="https://www.nuget.org/packages/Eru.Tool"><img src="https://img.shields.io/nuget/v/Eru.Tool?logo=nuget" alt="NuGet"></a> <a href="https://github.com/dburriss/eru/releases"><img src="https://img.shields.io/github/v/release/dburriss/eru?logo=github" alt="GitHub release"></a> </p>

<p align="center"> <img src="docs/reference/images/themes/terminal-dark.png" alt="The eru generated site in the terminal theme, dark mode" width="900"> <br> <sub>The generated site in the <code>terminal</code> theme. See all <a href="docs/reference/theme-list.md">themes</a>.</sub> </p>

Get started

Install the tool (.NET 10 and git required; self-contained binaries are on the releases page):

dotnet tool install --global Eru.Tool

Or install a self-contained binary with mise, which needs neither .NET nor a separate download:

mise use --global github:dburriss/eru

Install the skill with skills.sh:

npx skills add dburriss/eru

Then ask your agent to set eru up. The skill knows how to add sources, pull files, build a site and run an inbox, so you don't need to learn the commands.

What it does

Targeted context for agents

Point eru at one or more git repos, local or remote, and pull only what a project needs: single files, named collections, or everything with a tag. Every pulled file is recorded in a lock file, so it stays in sync and you can see where it came from.

Search is powered by Ferret: ranked lexical (BM25), semantic and hybrid search, running locally over your knowledge. eru mcp exposes that search and retrieval to Claude, Copilot, Cursor and any other MCP client, so agents ask for context instead of reading whole repos.

OKF or an eru manifest

A knowledge source can be an OKF bundle, or any repo with an eru .eru/manifest.json that declares the files it offers. eru can validate and repair OKF trees, and check that a manifest resolves.

A site for humans

eru site generate builds a self-contained, searchable site from your knowledge, with five built-in themes and room for your own. eru site serve adds live reload, and the output publishes straight to GitHub Pages.

Agent workflows: from inbox to curated knowledge

Drop raw text into an inbox, which can be a local folder or a remote git repo. An ingestor agent processes each item into well-formed, linked, validated notes in your knowledge source. Run it locally while you work, or in CI so that pushing a raw capture is enough.

How it fits together

 git repos (local / remote)         inbox (raw text)
   OKF bundle or eru manifest             │
            │                             ▼
            │                     ingestor agent ──▶ curated knowledge
            ▼                                              │
   eru cache + lock file ◀─────────────────────────────────┘
            │
      ┌─────┴───────────────┐
      ▼                     ▼
 agents (search, MCP)   humans (generated site)

Documentation

Full documentation lives under docs/, organised by Diataxis: tutorials, how-to guides, reference and explanation. The complete command list is in the CLI reference.

Contributing

Run mise install for the toolchain, then dotnet build and dotnet test --solution eru.slnx. CI builds and tests every push and PR; pushing a v* tag publishes the NuGet package and GitHub release binaries. See AGENTS.md for the project layout, conventions and release flow.

License

MIT

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.16.1 70 11/7/2026
0.16.0 67 11/7/2026
0.15.1 67 11/5/2026
0.15.0 60 11/5/2026
0.14.0 116 11/2/2026
0.13.1 142 10/12/2026
0.13.0 123 10/12/2026
0.12.0 130 10/9/2026
0.11.1 123 10/8/2026
0.11.0 124 10/8/2026
0.10.0 130 10/5/2026
0.9.1 145 10/2/2026
0.9.0 136 10/2/2026
0.7.1 350 5/29/2026
0.7.0 273 5/29/2026
0.6.0 269 5/29/2026
0.5.1 266 5/29/2026
0.5.0 262 5/29/2026
0.4.0 264 5/29/2026
0.3.0 264 5/28/2026
Loading failed

The `semantic-search` skill and the `ingestor` agent use the `ferret` CLI instead of `ck`, matching eru's own search. Searches rank by relevance with `--limit` instead of score thresholds, and indexes live in Ferret's cache (`~/.cache/ferret`) instead of a `.ck/` directory in the searched folder. Install `github:dburriss/ferret` (mise) in place of `github:BeaconBay/ck`
Windows: themes installed in a project's `.eru/themes/` were never found because the directory was built with `\` separators