How sho-luv/gitwho works
gitwho accepts a GitHub username through either its CLI or web interface, collects public profile data, enriches it with rule-based analysis and optional extras, then presents or serializes the result. A separate Cloudflare Worker backs the hosted web version and uses KV caching; the README documents the hosted frontend-to-Worker connection. The Worker excerpt is partial, so its internal collection and analysis stages are not mapped separately.
Main entry points: app.py Flask application · gitwho.py CLI · analyzer.py Rule-based analysis · index.js Cloudflare API
Components 17
User interfaces
- CLI
gitwho.py - Web interface
web/templates - Web interactions
web/static/script.js - Flask application
web/app.py - Web profile cache
web/app.py - CLI results
gitwho.py - Web results
web/templates/results.html
Profile collection
- GitHub data access
github_api.py - Profile extras scraper
scraper.py
Profile intelligence
- Rule-based analysis
analyzer.py
Hosted service
- Hosted frontend
docs/app.js - Cloudflare API
worker/index.js - Worker KV
worker/index.js
Other components
- User
- GitHub
- Ollama
- Hugging Face
Connections 22
- User → CLI: runs analysis
- CLI → GitHub data access: fetches profile
- GitHub data access → GitHub: requests data
- CLI → Rule-based analysis: analyzes data
- CLI → Profile extras scraper: scrapes extras
- Rule-based analysis → Ollama: optional enhancement
- Rule-based analysis → Hugging Face: optional enhancement
- CLI → CLI results: renders or serializes
- User → Web interface: searches profile
- Web interface → Web interactions: submits search
- Web interactions → Flask application: requests search
- Flask application → Web profile cache: reads and writes
- Flask application → GitHub data access: fetches profile
- Flask application → Rule-based analysis: analyzes data
- Flask application → Profile extras scraper: scrapes extras
- Flask application → Web results: renders results
- Flask application → Ollama: optional enhancement
- Flask application → Hugging Face: optional enhancement
- User → Hosted frontend: searches hosted site
- Hosted frontend → Cloudflare API: calls API
- Cloudflare API → GitHub: fetches public data
- Cloudflare API → Worker KV: reads and writes cache