Holt
Choose an open-source repository that is worth your time.
Holt reads recent GitHub contribution history and shows what happens when outside contributors try to help: whether they receive a response, whether substantive work gets reviewed and merged, and where newcomer contributions actually land. It turns that evidence into a verdict you can inspect before committing days or weeks to a project.
Holt is read-only. It never opens pull requests, posts comments, or contacts maintainers. Every factual claim in a full report links back to the pull request, review, or comment that supports it.
Winner of Most useful real-world workflow at the micro1 Frontier Engineering Challenge. Holt is now maintained as an independent open-source product by
holt-oss.
Install
Holt is pre-1.0. You need uv and Python 3.11 or
newer.
uv tool install holt-cli
Create a classic GitHub token with no scopes and expose it to Holt:
export GITHUB_TOKEN=your_token
Start with the rules-only report. It calls no model and needs no model API key:
holt analyze pallets/flask --live --no-model
For a written report with cited findings and quotations, configure a supported model provider and run the full analysis:
export OPENAI_API_KEY=your_key
holt analyze pallets/flask --live
Run holt models to inspect or change the provider. OpenAI, Anthropic, Gemini,
Ollama, and OpenAI-compatible endpoints are supported.
Use the terminal interface
Run Holt without a subcommand to open the interactive terminal interface:
holt
From there you can assess a repository, revisit past reports, inspect the evidence behind a claim, compare candidates, and configure model providers.
What you get
A repository assessment answers five practical questions:
- Do first-time contributors get meaningful work merged?
- How quickly does someone usually respond?
- Are pull requests reviewed by people or accepted mechanically?
- Which parts of the codebase have accepted outsider work?
- What specific evidence supports the verdict?
The headline is one of:
| Verdict | Meaning |
|---|---|
| Worth your time | There is evidence that outsiders can land useful work. |
| Not worth your time | The observed contribution path is a poor fit for the time you have. |
| Not enough evidence | Holt cannot support either conclusion from the available history. |
Treat the verdict as a filter, not an oracle. Open the cited evidence before making a significant commitment.
Commands
| Command | Purpose |
|---|---|
holt analyze <owner/repo> --live |
Assess one repository using current GitHub data. |
holt compare <repo>… --live |
Compare repositories side by side. |
holt profile |
Save the languages, topics, contribution type, and time budget you want. |
holt discover --live |
Find and screen repositories for that profile. |
holt next <repo> --as <login> --live |
Rank open issues after you have contributed to a project. |
holt models |
Inspect or change the model provider. |
holt tui |
Open the interactive terminal interface. |
See USAGE.md for the complete workflow and docs/COMMANDS.md for command details.
How it works
Holt separates evidence collection, interpretation, verification, and the final decision:
GitHub history
↓
contribution signals + cited findings
↓
evidence verification
↓
deterministic verdict
↓
written explanation
The model may interpret threads and explain the result, but it does not choose the verdict. Unsupported findings are removed before the decision is computed. The same verified inputs therefore produce the same verdict.
The architecture and its boundaries are documented in docs/DESIGN.md.
Evaluation and limitations
Holt has been measured on two temporally held-out repository pools. On the out-of-sample pool it reached 0.82 balanced accuracy and 0.63 Matthews correlation, compared with 0.61 and 0.21 for a single prompt over repository metadata and documentation. The committed fixtures and recordings make those results reproducible.
The evaluation is evidence, not a guarantee. Repository cultures change, quiet periods can look worse than they are, and no benchmark captures whether a particular issue matches your skills. Holt is designed to show its work so you can disagree with it intelligently.
Contributing
Holt welcomes focused improvements to evidence providers, verdict rules, terminal UX, documentation, evaluation, and platform support.
git clone https://github.com/holt-oss/holt.git
cd holt
uv sync
uv run pytest -rs
Read CONTRIBUTING.md before opening a pull request. Community participation is governed by the Code of Conduct, and security reports follow SECURITY.md.
License
Holt is licensed under the Apache License 2.0.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file holt_cli-0.1.0.tar.gz.
File metadata
- Download URL: holt_cli-0.1.0.tar.gz
- Upload date:
- Size: 155.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1e2c2242188dc4d7c6f6420fd54862a63d601e6e03f3c77bf68c47622e8b7ab
|
|
| MD5 |
3441c896cfc644511b009695dbc7ad18
|
|
| BLAKE2b-256 |
3b0739e03d7e3db7b3e5cf602120be0cb45b05440a34cb08d2b6eb11b66a9bf7
|
File details
Details for the file holt_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: holt_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 193.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af9efa15e79c9d7513c2e57e1446bca0b2a39e00fac05871402dc120885080f6
|
|
| MD5 |
98b7429ee58783e822ddab1745fc82b8
|
|
| BLAKE2b-256 |
d16b507779a09b78a71732777f829b05bc102420041a0fc52d3a4be688657278
|