Portfolio GitHub — Cheat Sheet

Tag: git, github, portfolio, open-source, profile-readme, showcase

Livello: intermedio

TL;DR: Strategia di presentazione del codice su GitHub, organizzazione dei repository vetrina e ottimizzazione del profilo per colloqui tecnici.

Concetti chiave

Repository speciale con lo stesso nome utente per abilitare il Profile README.

Selezione di 4-6 repository pinnati rappresentativi del proprio stack principale.

Ogni progetto pubblico richiede un README orientato all'architettura e al problema risolto.

Inclusione di link a demo live, diagrammi e comandi di quickstart immediati.

Commit history pulita con messaggi semantici secondo le Conventional Commits.

Presenza di test automatizzati e configurazione CI di base su GitHub Actions.

Documentazione chiara delle scelte tecniche, tradeoff e limiti noti dell'implementazione.

Gestione corretta dei file non tracciati tramite .gitignore e assenza totale di segreti.

Domande tipiche e risposte pronte

Q: Cosa guardi per primo quando valuti un repository su GitHub?R: Controllo il README per comprendere il problema risolto, l'architettura scelta e i comandi per riprodurre la build in locale con i relativi test.

Q: Come selezioni i progetti da mettere in evidenza sul profilo?R: Scelgo progetti completi end-to-end con codice production-ready, test automatici e documentazione sulle decisioni architetturali, evitando fork inattivi o tutorial incompleti.

Insidie e errori comuni

Repository pubblici senza README o con il template standard generato da framework.

Inclusione di chiavi API, token o credenziali di database nel commit history.

Repository multipli con codice identico o cloni non personalizzati di guide online.

Assenza di file .gitignore con commit di cartelle node_modules, dist o file di build.

Branch principali instabili o con pipeline di test fallite in evidenza.

Snippet e comandi

<!-- Esempio struttura README.md di progetto -->
# Project Name

Breve descrizione del problema risolto e stack core.

## Architettura e Decisioni
- Decisione A vs B: motivazione e tradeoff.
- Flusso dati e pattern implementati.

## Quickstart

bash

git clone <repo-url>

cd <repo-folder>

npm install

npm test

npm run dev

# Verifica file tracciati prima del commit
git status
git diff --staged

# Commit convenzionale pulito
git commit -m "feat(auth): implement jwt validation and refresh cycle"

Da ripassare

[ ] Struttura del Profile README personale

[ ] Audit dei repository pinnati e stato delle relative pipeline CI

[x] Rimozione sicura di file sensibili e cronologia commit pulita

Jarvis Interviews
Jarvis