Back to directory
lukasmetzler avatar
lukasmetzler / agenteval

agenteval

Lint, benchmark, and score your AI coding instructions. Stop guessing, start measuring.

5

Stars

0

Forks

0

Watchers

MIT

License

agenteval

Your CLAUDE.md is untested. So is your AGENTS.md, your copilot-instructions.md, and your .cursorrules.

agenteval is a linter, benchmarker, and CI gate for AI coding instructions. It finds dead references, token bloat, contradictions, and stale instructions before your agent does. Then it scores agent performance so you can measure whether your instruction changes actually help.

CI npm npm downloads Version License: MIT

agenteval demo

Install

npm install -g agenteval-cli

Or pick your preferred method:

brew tap lukasmetzler/agenteval && brew install agenteval   # Homebrew
curl -fsSL https://raw.githubusercontent.com/lukasmetzler/agenteval/main/install.sh | bash  # Shell

No Bun, no Node at runtime. The binary is self-contained.

Quick Start

agenteval lint                    # Find problems in your instruction files
agenteval lint --explain          # Same, with explanations for each rule
agenteval harvest --dry-run       # Preview what AI commits are in your history
agenteval ci                      # Run all tasks, fail on regressions

What It Catches

  • Dead references to files, paths, and headings that don't exist
  • Filler phrases that waste context tokens ("make sure to", "it is important that")
  • Contradictions between instruction files ("always use X" and "never use X")
  • Content overlap and duplication across files
  • Token budget overruns that crowd out code context
  • Vague instructions without actionable specifics
  • Stale instructions referencing code that was refactored weeks ago
  • Invalid skill metadata (per Anthropic spec)
  • Broken markdown links and heading anchors

Supported Formats

Format Pattern
Claude Code CLAUDE.md
OpenAI Codex / AGENTS AGENTS.md
GitHub Copilot .github/copilot-instructions.md
Scoped Copilot .github/instructions/*.instructions.md
Anthropic Skills .claude/skills/*/SKILL.md
Cursor .cursorrules, .cursor/rules/*.mdc
Windsurf .windsurfrules

Commands

Command What it does Guide
agenteval lint Static analysis of instruction files Linting
agenteval lint --fix Auto-fix filler phrases and simple issues Linting
agenteval watch Watch files, re-lint on save
agenteval harvest Build eval tasks from AI commit history Harvesting
agenteval harvest --live Score working tree changes before committing Harvesting
agenteval run --task <file> Run an AI agent, score the result Running Evals
agenteval compare <A> <B> Diff two runs side by side Results
agenteval ci Run all tasks, gate on regressions CI Guide
agenteval ci --parallel <n> Run tasks concurrently CI Guide
agenteval trends Score history and trend analysis Trends
agenteval init Create a starter config Configuration
agenteval init --hook Add pre-commit lint hook Configuration
agenteval update Self-update to the latest version
agenteval doctor Check environment health

The Pipeline

flowchart LR
    A["Your CLAUDE.md"] --> B["agenteval lint"]
    B --> C["Fix quality issues"]
    D["Git history"] --> E["agenteval harvest"]
    E --> F["Task YAML files"]
    F --> G["agenteval run"]
    G --> H["Scored results"]
    H --> I["agenteval compare"]
    I --> J{{"Did my instructions improve?"}}

    style A fill:#2d333b,stroke:#444,color:#e6edf3
    style D fill:#2d333b,stroke:#444,color:#e6edf3
    style J fill:#1a7f37,stroke:#2ea043,color:#fff

Lint catches problems statically. Harvest builds benchmarks from your git history. Run scores agent performance. Compare tells you what changed. CI gates regressions before they merge.

CI Integration

Add agenteval to your GitHub Actions workflow with one line:

- uses: lukasmetzler/agenteval@v0
  with:
    command: ci                   # or: lint, harvest --dry-run

Or use the CLI directly in any CI system:

agenteval ci --min-score 0.7 --max-regression 0.05

See the CI Guide for thresholds, configuration, and examples.

Installation Options

Method Command Updates via
npm npm install -g agenteval-cli npm update -g agenteval-cli
Homebrew brew tap lukasmetzler/agenteval && brew install agenteval brew upgrade agenteval
Shell curl -fsSL https://raw.githubusercontent.com/lukasmetzler/agenteval/main/install.sh | bash agenteval update
GitHub Action uses: lukasmetzler/agenteval@v0 Always latest
Binary GitHub Releases agenteval update
Source git clone ... && bun install && bun run build git pull && bun run build

Documentation

Guide What it covers
Core Concepts Instructions, tasks, assertions, harnesses, scoring
Getting Started Installation, first run, full walkthrough
Linting All lint rules, output formats, CI integration
Running Evals Task definitions, harness adapters, scoring pipeline
Harvesting AI commit detection, task generation, live review
CI Guide Regression detection, thresholds, GitHub Actions example
Trends Score history and trend analysis
Configuration Every config option with types and defaults

Contributing

See CONTRIBUTING.md.

License

MIT

Releases

What's Changed

fix: npm download — handle GitHub CDN HTTP redirects (v0.8.14) by @lukasmetzler in #90

Full Changelog: v0.8.13...v0.8.14

What's Changed

fix: watch timer leak, redirect whitelist, file deletion (v0.8.13) by @lukasmetzler in #88

Full Changelog: v0.8.12...v0.8.13

What's Changed

feat: Windsurf adapter + comprehensive docs update (v0.8.12) by @lukasmetzler in #87

Full Changelog: v0.8.11...v0.8.12

What's Changed

feat: OpenCode harness adapter (v0.8.11) by @lukasmetzler in #86

Full Changelog: v0.8.10...v0.8.11

What's Changed

feat: JSON Schema for agenteval.yaml — editor autocomplete (v0.8.10) by @lukasmetzler in #85

Full Changelog: v0.8.9...v0.8.10

Contributors

1 contributors by commits. Profile dekhne ke liye kisi bhi developer par click karein.