Skip to content

Repository files navigation

RepoScanner

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.

Funzionamento

Il tool esegue questi passaggi:

  1. Scarica dalla GitHub API: README, struttura dei file, linguaggi rilevati ed estratti dei file di codice.
  2. 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).
  3. Salva il risultato in output.txt.

Requisiti

  • 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

Installazione

pip install -r requirements.txt

Copia il file di esempio e inserisci le tue chiavi:

cp .env.example .env

Utilizzo

python 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).

Test

python -m unittest test_github_parser -v

Struttura del progetto

RepoScanner/
├── 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)

Sicurezza

  • Le chiavi API vanno messe in .env, che è ignorato da git tramite .gitignore.
  • Non committare mai .env o file con chiavi reali.
  • Se una chiave è stata esposta in passato, rigenerarla immediatamente.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages