Item detail
github.com

earendil-works/pi

earendil-works/pi is a developer tool in RepoRadar's AI Coding section, holding Gold tier and a 'try now' verdict. Its strongest signal is workflow potential, scored 9.9 out of 10.

Score8.8
Popularity100.0
Riskconditional
TierGold
Score breakdown
Usefulness9.0
Novelty8.0
Momentum9.0
Maturity9.3
Open-source/build8.4
Evidence8.0
Workflow potential9.9
Setup ease6.4

Popularity is tracked separately. Support, ads, sponsorships, and tips never affect these signals.

Why it matters

Useful for developers who want one practical open-source stack for coding agents, tool-calling runtimes, and provider abstraction without being locked into a hosted agent platform.

Who should use it

Developers who want an open coding-agent stack they can inspect and extend Teams comparing self-hostable agent harnesses instead of defaulting to a hosted IDE product Builders who need one toolkit covering provider abstraction, tool calling, terminal UI, and coding workflows Terminal-first users who want a serious agent CLI with documented isolation options

Who should skip it

Skip earendil-works/pi if the source repository or demo is inactive, unmaintained, or no longer matches the description shown here.

About this signal

earendil-works/pi is tracked by RepoRadar as a developer tool in the AI Coding section. First seen 2026-06-26; the source record was last checked on 2026-06-26. The current verdict is 'try now' with a Gold tier and moderate setup difficulty. earendil-works/pi leads on workflow potential (9.9) and maturity (9.3); its lowest signal is setup ease (6.4), so factor that in before investing setup time. This page summarizes the public evidence on the linked source page and states where additional review is still needed.

How this item is evaluated

The earendil-works/pi record combines a 8.8/10 composite score with separate popularity (100.0), risk (conditional), and setup (moderate) signals. See the scoring methodology for the current weights and evidence definitions.

Putting this into practice? Read How to evaluate an AI tool before you adopt it for the checklist behind this score.

Risk explanation

The coding agent can inspect repositories, edit files, and run shell commands, so it belongs on a disposable or sandboxed workspace first; Provider credentials and tool permissions need review before broader rollout because Pi is designed to sit very close to the development loop; The maintainers explicitly document Docker and OpenShell isolation paths, which is a strong hint to use tighter boundaries for anything sensitive.

Evidence links
Closest alternatives / related signals
coding-agent agent-toolkit terminal-ui llm-api typescript cli mit
Verification record

What RepoRadar actually verified

Tested in a bounded workflow

Bounded representative workflow retained by RepoRadar verification harness. Last checked 2026-07-14T05:17:35.681894Z.

failed · cohort-20260714-pi-local-read-agent-workflow

Tester
RepoRadar automated local verification harness
Started
2026-07-14T05:12:49.606495Z
Completed
2026-07-14T05:14:11.929313Z
Environment
Windows 10 AMD64; Python 3.11.9; credential-stripped child environment; disposable home/cache
Install/setup time
2 minute(s)
Evidence scope
Bounded setup or capability check
Cleanup
Per-check temporary home and work directory removed. Shared cohort package cache removed.
Actions exercised
  • Created a disposable home, work directory, and isolated package cache with credential-like environment variables excluded.
  • Created 4 synthetic fixture file(s) inside the disposable work directory; retained hashes prove the exact inputs.
  • Installed the pinned official @earendil-works/pi-coding-agent@0.80.6 package with lifecycle scripts disabled inside the disposable work directory.
  • Bound a deterministic OpenAI-compatible fixture server to an operating-system-assigned 127.0.0.1 port and configured the CLI to deny non-read tools.
  • Prompted the CLI to read one synthetic marker through its built-in read tool, then asserted exactly two streamed /v1/chat/completions requests.
  • Verified the second request contained the actual tool output, the final CLI output contained the mock's exact response, and the fixture hash was unchanged.
  • Executed bounded check: Run Pi's official CLI against a loopback-only deterministic model that requests its built-in read tool, then verify the real tool result reaches the second model turn.
  • Captured the complete sanitized stdout, stderr, exit status, artifact checks, and 82.32-second wall time.
Observed results
  • Check exited 1 after 82.32 seconds; failure output is retained and the verification stage must not advance.
Observed strengths
  • No product strength was established in this failed attempt; diagnostic evidence is retained.
Friction
  • A deterministic protocol fixture required product-specific isolation flags and provider configuration; real model behavior, authentication, latency, and cost remain deliberately outside this check.
  • Setup or runtime emitted 14 stderr line(s); the complete warnings/errors are preserved in the retained log.
Limitations
  • The local mock validates Pi's provider wire path, agent loop, tool schema, built-in read execution, and final event output; it does not measure hosted-model quality, authentication, provider reliability, interactive UX, long tasks, or write-tool safety.
  • This credential-free disposable workflow does not establish operator use, production scale, model quality, reliability under sustained use, or team adoption.

Pricing assessment: The CLI and loopback model fixture used no account, subscription, API credit, or paid inference; npm was contacted only to retrieve the pinned package.

Privacy assessment: Only a synthetic marker was read and sent to a server bound to 127.0.0.1; package installation contacted npm, while no prompt or fixture content was sent to a model provider.

Open retained test log →

passed · cohort-20260714-pi-local-read-agent-workflow-v2

Tester
RepoRadar automated local verification harness
Started
2026-07-14T05:17:20.888316Z
Completed
2026-07-14T05:17:35.681894Z
Environment
Windows 10 AMD64; Python 3.11.9; credential-stripped child environment; disposable home/cache
Install/setup time
1 minute(s)
Evidence scope
Bounded representative workflow
Cleanup
Per-check temporary home and work directory removed. Shared cohort package cache removed.
Actions exercised
  • Created a disposable home, work directory, and isolated package cache with credential-like environment variables excluded.
  • Created 4 synthetic fixture file(s) inside the disposable work directory; retained hashes prove the exact inputs.
  • Installed the pinned official @earendil-works/pi-coding-agent@0.80.6 package with lifecycle scripts disabled inside the disposable work directory.
  • Bound a deterministic OpenAI-compatible fixture server to an operating-system-assigned 127.0.0.1 port and configured the CLI to deny non-read tools.
  • Prompted the CLI to read one synthetic marker through its built-in read tool, then asserted exactly two streamed /v1/chat/completions requests.
  • Verified the second request contained the actual tool output, the final CLI output contained the mock's exact response, and the fixture hash was unchanged.
  • Executed bounded check: Run Pi's official CLI against a loopback-only deterministic model that requests its built-in read tool, then verify the real tool result reaches the second model turn.
  • Captured the complete sanitized stdout, stderr, exit status, artifact checks, and 14.79-second wall time.
Observed results
  • Command exited 0 after 14.79 seconds.
  • Pi exposed and executed its built-in read tool once, returned the synthetic marker to the loopback model, completed the second turn, and left the fixture byte-identical.
  • Expected marker 'CHECK_OK cli=pi requests=2 tool=read unchanged=true' was observed in retained output.
  • Validated result.json: 9 required marker(s) present and 0 excluded marker(s) absent; size and SHA-256 are retained.
  • Validated transcript.json: 3 required marker(s) present and 0 excluded marker(s) absent; size and SHA-256 are retained.
Observed strengths
  • The official CLI completed a full provider-to-tool-to-provider agent turn with an allowlisted built-in read tool and machine-readable output, without an account or hosted model.
Friction
  • A deterministic protocol fixture required product-specific isolation flags and provider configuration; real model behavior, authentication, latency, and cost remain deliberately outside this check.
  • Setup or runtime emitted 5 stderr line(s); the complete warnings/errors are preserved in the retained log.
Limitations
  • The local mock validates Pi's provider wire path, agent loop, tool schema, built-in read execution, and final event output; it does not measure hosted-model quality, authentication, provider reliability, interactive UX, long tasks, or write-tool safety.
  • This credential-free disposable workflow does not establish operator use, production scale, model quality, reliability under sustained use, or team adoption.

Pricing assessment: The CLI and loopback model fixture used no account, subscription, API credit, or paid inference; npm was contacted only to retrieve the pinned package.

Privacy assessment: Only a synthetic marker was read and sent to a server bound to 127.0.0.1; package installation contacted npm, while no prompt or fixture content was sent to a model provider.

Open retained test log →

Verification sources

Longitudinal intelligence

How this decision record is moving

Raw history JSON →

39 dated snapshots retained from 2026-06-26 through 2026-08-13; see the snapshot index for explicit coverage gaps. Stars, version, release, pricing, integration, risk, maintenance, verdict, score, and momentum fields remain explicit even when a source has not reported them. Repository momentum is a normalized 0–10 RepoRadar signal; GitHub stars appear only where the popularity monitor retained exact timestamped observations.

RepoRadar score8.8 current · +0.0 net
Repository momentum10.0 current · +1.0 net
GitHub stars (observed)89,523 current · +23,707 net
GitHub stars89,523 exact observation
Versionv0.84.1
Last release2026-08-07T06:07:00Z
Maintenanceactive
Current riskconditional
Current verdicttry now
Pricing baselineNo structured commercial pricing baseline
Pricing checkedNot applicable or not recorded
Pricing freshnessNo dated commercial pricing review
Integrations baselineNo structured integrations recorded

Recent dated points

DateScoreMomentumStarsRiskVerdictMaintenance
2026-08-138.810.089,523conditionaltry nowactive
2026-08-128.810.088,478conditionaltry nowactive
2026-08-118.810.087,254conditionaltry nowactive
2026-08-108.810.086,377conditionaltry nowactive
2026-08-098.810.085,789conditionaltry nowactive
2026-08-088.810.085,429conditionaltry nowactive
2026-08-078.810.082,730conditionaltry nowactive
2026-08-068.89.084,770conditionaltry nownot recorded
2026-08-058.89.084,129conditionaltry nownot recorded
2026-08-048.810.082,730conditionaltry nowactive
2026-08-038.810.082,730conditionaltry nowactive
2026-08-028.810.082,149conditionaltry nowactive

Why the record changed

stars changed

Stars changed: 88478 → 89523.

stars changed

Stars changed: 87254 → 88478.

stars changed

Stars changed: 86377 → 87254.

stars changed

Stars changed: 85789 → 86377.

stars changed

Stars changed: 85429 → 85789.

stars changed

Stars changed: 82730 → 85429.

version changed

Version changed: v0.83.0 → v0.84.1.

stars changed

Stars changed: 84770 → 82730.

stars changed

Reconstructed from adjacent retained daily snapshots; no upstream cause is inferred. Stars changed: 84129 → 84770.

stars changed

Reconstructed from adjacent retained daily snapshots; no upstream cause is inferred. Stars changed: 82730 → 84129.

stars changed

Stars changed: 82149 → 82730.

stars changed

Stars changed: 81712 → 82149.