Tool a riga di comando che analizza una repository GitHub tramite l'API di GitHub e genera 3 bullet point pronti per il CV o il profilo LinkedIn, usando Gemini per estrarre la logica di business reale dal codice sorgente.
Il tool esegue questi passaggi:
- Scarica dalla GitHub API: README, struttura dei file, linguaggi rilevati ed estratti dei file di codice.
- Invia questi dati a Gemini (
gemini-2.5-flash), che li analizza e scrive 3 punti chiave non generici (verbo d'azione + funzione tecnica specifica + stack reale + impatto). - Salva il risultato in
output.txt.
- Python 3.10+
- Chiave API GitHub (per aumentare il rate-limit: 5000 richieste/ora invece di 60)
- Chiave API Google (Gemini): aistudio.google.com/apikey
pip install -r requirements.txtCopia il file di esempio e inserisci le tue chiavi:
cp .env.example .envpython main.py https://github.com/user/repo
python main.py https://github.com/user/repo --style linkedin
python main.py https://github.com/user/repo --linkedin
python main.py https://github.com/user/repo --output risultato.txt| Argomento / Flag | Descrizione |
|---|---|
repo_url |
URL della repository GitHub (posizione: primo argomento) |
--style {standard,linkedin} |
Stile della descrizione (default: standard = CV) |
--linkedin |
Scorciatoia per --style linkedin |
-o, --output |
File di output (default: output.txt) |
--help |
Mostra l'utilizzo |
Il risultato viene scritto in output.txt (UTF-8).
python -m unittest test_github_parser -vRepoScanner/
├── main.py # Entry point e CLI
├── github_parser.py # Interazione con la GitHub API
├── ai_analyzer.py # Chiamate a Gemini e prompt
├── requirements.txt # Dipendenze
├── .env.example # Template per le chiavi API
└── .env # Chiavi API (NON committare mai)
- Le chiavi API vanno messe in
.env, che è ignorato da git tramite.gitignore. - Non committare mai
.envo file con chiavi reali. - Se una chiave è stata esposta in passato, rigenerarla immediatamente.