Research Preview · MIT License

Should you adopt that dependency?

ARIS turns the ad-hoc "google it, check the stars, and pray" process into a scored, evidence-backed verdict — grounded in your repository — delivered to your inbox.

Eight live sources. Six weighted dimensions. Every number from deterministic Python. Zero LLM-invented scores.

8
data sources
fused live
7
parallel
branches
5
verdict
labels
0
LLM-invented
numbers
Verdict Engine Live scoring
ADOPT
Score ≥ 75
Strong fit. Proceed.
KEEP
Already used
Stay healthy on current version.
TRIAL
Score ≥ 60
Pilot before committing.
HOLD
Score ≥ 40
Mixed signals. Wait.
AVOID
Score < 40
Poor fit. Choose alternative.
Weighted Score
The System

Fixed DAG. Seven parallel branches. One personalised verdict.

Same input, same path, every time. A branch that fails lowers confidence, not the score — missing data is honest, not hidden. Click any pipeline stage to expand.

Seven intelligence branches Hover a branch to see its data source
$ tavily
Community Sentiment
Tavily → LLM
Friction, enthusiasm, docs quality and setup complexity from real developer discourse.
LLM
$ prod-scan
Production Adoption
Tavily · GitHub · Stack Overflow
Enterprise case studies, stars, SO answers, package dependents. Boosted when your repo already uses the tool.
LLM + Python
$ alt-search
Alternatives
Tavily → LLM
Ranked alternatives and migration stories shaped by your use case.
LLM
$ osv-scan
Security Risk
OSV.dev → Python
Unpatched CVEs only. Age-penalised. Patched history excluded.
Python
$ dl-trend
Download Trajectory
PyPI · npm → LLM
Velocity: accelerating, stable, or declining. Trend context from Tavily.
LLM
$ gh-health
GitHub Health
GitHub API → Python
Commit velocity, bus factor, issue close-rate, release cadence.
Python
Repo-aware
$ aris scan_repo
Stack Compatibility
Your repo: manifests + README + tree + languages → Python + LLM
Parses requirements.txt, pyproject.toml, package.json, Pipfile, and setup.cfg. Detects your repo's archetype, identifies competing tools already declared, and produces a personalised engineer commentary displayed in the brief as a pull-quote. Verdict labels per-repo: ALREADY_USED · MIGRATION_REQUIRED · FIT · POOR_FIT.
Python + LLM
Inside your brief

What lands in your inbox.

Every brief has five layers: a verdict tile, a four-metric KPI strip, a terminal-style scan of your repo, an engineer's-take pull-quote written about your specific codebase, and six dimension scores with one-sentence narratives. Below is the actual format.

// VERDICT TILE
KEEP
Already in your stack
72.6 / 100
CONFIDENCE 95%
// QUICK SCAN
STACK FIT
90
SECURITY
100
MAINTENANCE
48
PRODUCTION
52
aris > scan_repo ● ok
descriptionA Django content management system focused on flexibility
archetypeweb_service
key_libs[django, requests, jest, webpack]
competitors[]
verdictalready_used
// ENGINEER'S TAKE

"We've already got djangorestframework pinned at >=3.15.1,<4.0, so the API layer is in place and works with the current Wagtail stack. The main thing to watch is the tight version ceiling; if we ever need DRF 4.x features, we'll have to coordinate a bump across the 41-package dependency graph. Overall, no adoption work is needed — just keep an eye on version compatibility as the ecosystem evolves."

// DIMENSION SCORES
stack_compatibilityStack Compatibility
Wagtail already declares DRF (>=3.15.1,<4.0); there are no competing API frameworks and migration effort is not applicable.
90/100
security_riskSecurity Risk
Three known CVEs, all patched; no unpatched critical or high-severity issues.
100/100
maintenance_healthMaintenance Health
Modest commit velocity (2.2/week) and high maintainer burnout risk.
48/100
Evaluate a dependency

Get your Adoption Brief

Free · no account · brief delivered as HTML email + A4 PDF

~/aris · evaluate ready
$
tool or github url required
#
your use case required
// The more specific, the sharper the verdict
@
your repo url activates personalisation
// Enables archetype detection, competitor scan, and engineer's-take commentary
where to send the brief required
free · no account
output