Skip to content
Ryxm-aPublic

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

AgentFit — tell it the job, get the right stack

AgentFit

Tell it the job. Get the smallest useful AI tool stack.

AgentFit turns a natural-language task into a requirements graph, searches real AI-tool ecosystems, ranks candidates with evidence, removes overlap, and recommends a compact stack you can actually review and install.

CI Python License: MIT Version


The problem

The AI-agent ecosystem is exploding: MCP servers, agent skills, plugins, CLIs, libraries and overlapping integrations. Finding a tool is easy. Figuring out which combination fits your exact task without installing five redundant tools is not.

AgentFit is the recommendation layer between your goal and that ecosystem.

Your task
   │
   ▼
Requirements graph
   │
   ├── Official MCP Registry
   ├── GitHub repositories
   ├── GitHub SKILL.md discovery
   └── npm
   │
   ▼
Normalize → score → deduplicate → optimize coverage
   │
   ▼
Smallest useful stack + evidence + compatibility + install plan

See it in one command

agentfit "MCP for GitHub issues and pull requests"

AgentFit extracts the requirements, searches live sources, scores the candidates, removes redundant choices and explains the selected stack. Results are intentionally live rather than hard-coded screenshots of yesterday's ecosystem.

Explore: real task examples · AgentFitBench · Agent Skill · launch kit

Quick start

git clone https://github.com/Ryxm-a/AgentFit.git
cd AgentFit
python -m pip install .

Then ask for the job, not a package name:

agentfit "I need an MCP for GitHub issues and pull requests"
agentfit "reverse engineer WebAssembly in Ghidra"
agentfit "audit a WordPress plugin for vulnerabilities"
agentfit "create PowerPoint presentations with an agent skill"
agentfit "build a React Native app with Supabase and Stripe"

For higher GitHub API limits and authenticated SKILL.md discovery:

export GITHUB_TOKEN=your_token

PowerShell:

$env:GITHUB_TOKEN="your_token"

Why AgentFit is different

AgentFit does not simply sort search results by stars. It evaluates candidates across the dimensions that matter to an agent workflow:

Signal What AgentFit asks
Task fit Does this actually solve the requested job?
Requirement coverage How much of the requirements graph does it cover?
Maintenance Is the project active or abandoned?
Adoption Is there meaningful usage/community signal?
Trust What provenance and risk signals are available?
Documentation Can a user realistically understand and deploy it?
Install confidence Is there a credible installation path?
Context efficiency Does it add useful capability without needless overlap?

The selector then prefers complementary coverage, rather than blindly returning one winner for every keyword.

Discovery sources

Official MCP Registry. MCP results come from the official registry API. AgentFit understands lifecycle state, excludes deleted entries and penalizes deprecated ones.

GitHub. Repository discovery contributes maintenance, adoption and project metadata. With GITHUB_TOKEN, AgentFit additionally searches for repositories containing SKILL.md.

npm. npm search contributes package candidates and registry quality, maintenance and popularity signals.

PyPI — intentionally not faked. AgentFit does not claim general PyPI search support. PyPI's old automated XML-RPC search is disabled and the supported JSON API is project-by-name. The source boundary exists without pretending a nonexistent supported full-text API exists.

Evidence, not false certainty

AgentFit distinguishes evidence from inference. A tool is not declared compatible with a client merely because MCP appears in its name. Uncertain compatibility is surfaced as uncertain.

Likewise, an official registry entry is stronger provenance than an arbitrary repository, but it is not a security guarantee. AgentFit is a recommender, not a trust oracle.

Safe install plans

AgentFit can generate a reviewable install script. It does not automatically execute third-party installation commands.

agentfit "your task" -y
cat agentfit_install.sh

Untrusted package and repository identifiers are shell-quoted before being written to the generated script. You should still review source code, permissions and every command before execution.

Resilient by design

External ecosystems fail in messy ways. AgentFit is designed so malformed records, unexpected JSON, source outages and rate limits become warnings instead of taking down the entire recommendation run.

If one source is unavailable, useful results from the remaining sources can still be ranked.

CLI

usage: agentfit [-h] [--limit N] [--no-npm] [--json] [--no-color] [-y] task
# Human-readable recommendations
agentfit "browser automation for an AI coding agent"

# Machine-readable output
agentfit "browser automation for an AI coding agent" --json

# Limit selected recommendations
agentfit "security review a Python project" --limit 5

# Write a reviewable installation script
agentfit "security review a Python project" -y

--limit must be at least 1; invalid values are rejected.

Architecture

agentfit/
├── cli.py               CLI and argument validation
├── engine.py            scoring + coverage optimization
├── extract.py           task → requirements graph
├── taxonomy.py          capability vocabulary
├── models.py            normalized candidate/report models
├── score.py             legacy health scoring helpers
├── dedupe.py            identity + overlap handling
├── recommend.py         multi-source orchestration
├── compat.py            compatibility inference/evidence
├── environment.py       local environment detection
├── installer.py         safe reviewable install plan
├── render.py            human/JSON presentation
└── sources/
    ├── mcp_registry.py  official MCP Registry
    ├── github.py        GitHub repositories
    ├── github_skills.py SKILL.md discovery
    ├── npm.py           npm registry
    └── pypi.py          explicit Python-search boundary

Development

git clone https://github.com/Ryxm-a/AgentFit.git
cd AgentFit
python -m pip install -e ".[dev]"
python -m pytest -q

The 1.0.0 release ships with 100+ automated cases spanning extraction/routing, source contracts, malformed upstream responses, MCP lifecycle handling, ranking, deduplication and shell-injection regression coverage.

CI runs the suite across Python 3.9–3.13 on every push and pull request.

Design principles

  1. Recommend less, better. More tools are not automatically a better stack.
  2. Never manufacture certainty. Inference and evidence are different things.
  3. Degrade gracefully. One broken registry should not break the product.
  4. Do not invent integrations. Unsupported APIs are called unsupported.
  5. Installation is a trust boundary. Generate for review; do not silently execute.
  6. Keep sources replaceable. Ecosystems change; source adapters should be swappable.

AgentFitBench

A recommender should be measurable. AgentFitBench ships realistic cross-domain tasks and metrics for top-3 relevance, requirement coverage, redundancy, abandonment, compatibility precision and source resilience.

We intentionally do not publish an accuracy percentage until the candidate judgments have human-reviewed ground truth.

python benchmarks/run.py

Use AgentFit from another agent

The repository includes a portable SKILL.md. Agents that support skill-style instructions can use AgentFit as their discovery layer while preserving the same rule as the CLI: recommendations are evidence, and third-party installation is never silently executed.

Roadmap

AgentFit 1.0 establishes the task-to-stack engine and live discovery architecture. Future directions include additional stable registries, richer semantic ranking, ecosystem-specific install adapters, signed provenance, benchmark datasets and an interactive UI/API built on the same engine.

See VISION_STATUS.md for the implementation boundary and engineering notes.

Contributing

Bug reports, new source adapters, taxonomy improvements, ranking benchmarks and adversarial test cases are especially welcome. Read CONTRIBUTING.md before opening a pull request.

For security issues, follow SECURITY.md rather than opening a public issue.

License

MIT — see LICENSE.


Stop collecting tools. Build the right stack.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages