earendil-works/pi

GitHub
https://github.com/earendil-works/pi

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

Stars:
120k
Language:
TypeScript
Default branch:
main
Last scored:
Overall

At a glance

Rank
#49 of 401
Top 12% · #13 of 82 TypeScript repos
Checks passed
9 of 17
Full list below
Best set up for
Claude Code
Score 89.2
Needs most work for
OpenHands
Biggest fix: .openhands/setup.sh (+10.0 pts)

What it has

What it's missing

What to fix first

Pick an AI agent

Showing fixes for Claude Code

  1. 1
    Test suite
    Add a tests/ (or test/, __tests__/, spec/) directory with runnable tests. Document how to run them in AGENTS.md.
    +3.9 pts
  2. 2
    Reproducible dev env
    Add a Makefile or devcontainer or Dockerfile so the agent can set up the project in one command.
    +3.6 pts
  3. 3
    Manageable size
    If possible, split into smaller modules or carve out a focused entry path. Document where to start in AGENTS.md.
    +3.3 pts

Score for each AI agent

Each agent weighs the checks by its own docs. Under each score are its top three. How each agent is scored →

Claude Code
#49 of 401
89.2
  • ✓AGENTS.md / CLAUDE.md
  • ~Test suite
  • ~Reproducible dev env
Codex
#52 of 401
86.1
  • ✓AGENTS.md / CLAUDE.md
  • ✓README
  • ~Test suite
Kimi Code CLI
#54 of 401
85.6
  • ✓AGENTS.md / CLAUDE.md
  • ~Test suite
  • ✓Dependency manifest
Pi
#53 of 401
85.3
  • ✓AGENTS.md / CLAUDE.md
  • ~Test suite
  • ✓Linter / formatter config
Devin
#57 of 401
81.3
  • ~Reproducible dev env
  • ✓Dependency manifest
  • ~Test suite
Cursor
#58 of 401
77.5
  • ✗Cursor rules (.cursor/rules)
  • ✓README
  • ✓Type configuration
Gemini CLI
#56 of 401
76.8
  • ✗GEMINI.md
  • ✓README
  • ~Test suite
Aider
#56 of 401
76.8
  • ✗.aider.conf.yml
  • ✓Linter / formatter config
  • ~Test suite
OpenHands
#57 of 401
76.8
  • ✓CI configuration
  • ✓Dependency manifest
  • ~Reproducible dev env

Does earendil-works/pi have agent instructions?

An AGENTS.md (or CLAUDE.md) at the root tells AI coding agents how to build, test and work in the repo. A few agents also read a file of their own.

AGENTS.md / CLAUDE.md
AGENTS.md (new tab) · 13,185 characters
Agent-specific files
None: no GEMINI.md, .cursor/rules, .openhands/setup.sh, .aider.conf.yml or .agents/skills
Repos that have one
62 of 82 TypeScript repos · 221 of 401 repos on the leaderboard · See examples →

All 17 checks · 9 passed

No .agents/skills/<name>/SKILL.md
Substantive (13,185 characters)
.aider.conf.yml· 0% pass
No .aider.conf.yml at repo root
CI configuration· 100% pass
14 GitHub Actions workflows
CONTRIBUTING guide· 100% pass
Guide present
No .cursor/rules/*.mdc or .cursorrules
Manifest present
Has flake.nix
GEMINI.md· 0% pass
No GEMINI.md at repo root
License file· 100% pass
License present
Config detected
No .openhands/setup.sh
Hook framework configured
README· 100% pass
README detailed (10,679 characters)
Manageable size· 50% pass
3786 files — large
Test suite· 70% pass
Test files detected (apps/p2/voice-server/test_segmenter.py)
Type configuration· 100% pass
Type config present

How earendil-works/pi compares

vs leaderboard average
14.9 pts above
Average 66.8
vs TypeScript average
10.5 pts above
Average 71.2
Stars among TypeScript repos
#9 of 82

Missing here, and how many repos have it

  • Skills (.agents/skills) · passed by 17% of leaderboard repos, 30% of TypeScript repos
  • Cursor rules (.cursor/rules) · passed by 4% of leaderboard repos, 13% of TypeScript repos

Passes checks most repos miss

  • Pre-commit / git hooks · only 29% of repos pass it

One fix for the most agents: Test suite would raise the score for all 9 agents, by up to 4.2 points.

Similar repos

Same language and host as this repo, closest in overall score.

All TypeScript repos →

Add a badge to your README

Paste this at the top of the README. It shows the score, and links back to this page.

Agent friendly score for github/earendil-works/pi
[![Agent Friendly](https://agentfriendlycode.com/api/badge/github/earendil-works/pi.svg)](https://agentfriendlycode.com/repo/github/earendil-works/pi)

Check the score on every pull request

A GitHub Action posts one comment per pull request with how the score changed and why.