How yaltunbicak/repofit-lite works
RepoFit Lite turns a project document into a ranked repository comparison: the CLI runs a staged parse, multi-platform search, metadata enrichment, scoring, and report workflow. Profiles tune evaluation, pipeline modes bound work, and caches can reuse enrichment and fit results. The graph reflects the documented workflow and sampled orchestration/client behavior; some CLI, configuration, and enrichment wiring is supported by the README but was not fully visible in the excerpts.
Main entry points: pipeline.py Pipeline orchestration · enrichment.py Metadata enrichment · search.py Search orchestration · analyzer.py Fit analysis
Components 23
Analysis workflow
- CLI commands
src/repofit/cli.py - Pipeline orchestration
src/repofit/pipeline.py - Document parser
src/repofit/parser.py - Search orchestration
src/repofit/search.py - Metadata enrichment
src/repofit/enrichment.py
External integrations
- GitHub client
src/repofit/github_client.py - GitLab client
src/repofit/gitlab_client.py - ecosyste.ms client
src/repofit/ecosystems_client.py - OpenSSF client
src/repofit/scorecard_client.py - LLM client
src/repofit/llm_client.py
Evaluation and output
- Fit analysis
src/repofit/analyzer.py - Rule-based scoring
src/repofit/scoring.py - Report generation
src/repofit/report.py
Configuration and state
- Settings and profiles
src/repofit/config.py - Profile definitions
profiles - Cache and rate limits
src/repofit/utils.py - Domain models
src/repofit/models.py
Other components
- Developer
- Repository platforms
- ecosyste.ms service
- OpenSSF service
- LLM providers
- Ranked report
Connections 29
- Developer → CLI commands: runs
- CLI commands → Settings and profiles: loads settings
- CLI commands → Pipeline orchestration: starts analysis
- Settings and profiles → Profile definitions: loads profiles
- Pipeline orchestration → Document parser: parses input
- Document parser → LLM client: extracts requirements
- LLM client → LLM providers: requests completion
- Pipeline orchestration → Search orchestration: searches candidates
- Search orchestration → GitHub client: searches
- Search orchestration → GitLab client: searches
- Search orchestration → ecosyste.ms client: searches
- GitHub client → Repository platforms: queries
- GitLab client → Repository platforms: queries
- ecosyste.ms client → ecosyste.ms service: queries
- Search orchestration → Domain models: returns candidates
- Pipeline orchestration → Metadata enrichment: enriches candidates
- Metadata enrichment → GitHub client: fetches metadata
- Metadata enrichment → GitLab client: fetches metadata
- Metadata enrichment → ecosyste.ms client: looks up details
- Metadata enrichment → OpenSSF client: checks security
- OpenSSF client → OpenSSF service: requests scores
- Metadata enrichment → Cache and rate limits: reads and writes
- Pipeline orchestration → Fit analysis: scores enriched repos
- Fit analysis → Rule-based scoring: computes dimensions
- Fit analysis → LLM client: scores fit
- Fit analysis → Cache and rate limits: reads and writes
- Pipeline orchestration → Report generation: formats results
- Report generation → Ranked report: produces
- Pipeline orchestration → Ranked report: writes output