Metadata-Version: 2.4
Name: adoptrank
Version: 0.2.1
Summary: Repository discovery and token-budgeted code context for coding agents
Author: Kairav Parikh
License-Expression: MIT
Project-URL: Homepage, https://adoptrank.vercel.app
Project-URL: Repository, https://github.com/Kairavparikh/adoptrank
Project-URL: Issues, https://github.com/Kairavparikh/adoptrank/issues
Keywords: github,repository-search,learning-to-rank,code-search,developer-tools
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <3.15,>=3.11
Description-Content-Type: text/markdown
Requires-Dist: httpx==0.28.1
Requires-Dist: pydantic==2.12.5
Requires-Dist: pydantic-settings==2.12.0
Requires-Dist: tree-sitter<0.27,>=0.25.2
Requires-Dist: tree-sitter-language-pack<2,>=0.11.0
Requires-Dist: pathspec<1,>=0.12.1
Provides-Extra: ops
Requires-Dist: asyncpg==0.30.0; extra == "ops"
Provides-Extra: ml
Requires-Dist: fastapi==0.128.3; extra == "ml"
Requires-Dist: numpy==2.2.6; extra == "ml"
Requires-Dist: sentence-transformers<6,>=5.1.0; extra == "ml"
Requires-Dist: torch==2.7.1; extra == "ml"
Requires-Dist: uvicorn[standard]==0.40.0; extra == "ml"
Provides-Extra: dev
Requires-Dist: asyncpg==0.30.0; extra == "dev"
Requires-Dist: pytest==8.4.2; extra == "dev"
Requires-Dist: ruff==0.13.3; extra == "dev"

# AdoptRank CLI

AdoptRank finds open-source repositories that fit the project you are actually
building and exposes a live adoption leaderboard backed by real GitHub and PyPI
observations.

## Install

```bash
pipx install adoptrank
```

Python 3.11–3.14 is supported for the CLI. The optional model-serving stack uses
Python 3.12 in production.

## Context-aware search

Run the command inside a local project:

```bash
adoptrank find "a streaming anomaly detector that fits this codebase"
```

The scanner sends only a bounded structured summary of languages, dependencies,
frameworks, and symbols. It skips ignored paths, build/dependency directories,
known credential files, and files matching secret patterns. Inspect the exact
payload without sending it with:

```bash
adoptrank find "your query" --dry-run
```

## Live leaderboard

```bash
adoptrank leaderboard --language Python --sort momentum
adoptrank leaderboard --owner openai --window 7
```

Results contain simple direct GitHub links. The hosted Vercel proxy supplies the
private model-service credential, so CLI users do not need an AdoptRank API key.

## Experimental coding-agent context

Build a task-specific evidence pack from safe local source excerpts and ranked
GitHub repositories:

```bash
adoptrank context "add idempotent Stripe webhook retries" --budget 8000
```

Use `--json` for integrations and `--no-external` for a fully local retrieval
run. Token counts are portable estimates until provider-reported telemetry is
integrated; the project does not yet claim measured Claude token savings.

## Claude Code launcher

```bash
# Inspect the bounded context without invoking Claude.
adoptrank claude "Add idempotent payment retries" --path . --budget 8000 --dry-run

# Start Claude Code with the context pack.
adoptrank claude "Add idempotent payment retries" --path . --budget 8000
```

The launcher writes only redacted metadata—context hash, selected paths, budget,
and exit status—to `.adoptrank/claude-runs/`. `--print` also records provider
usage and later file-read paths/tool-call counts, never source or tool output.

Web application: <https://adoptrank.vercel.app>

Source and documentation: <https://github.com/Kairavparikh/adoptrank>
