Elaborazione Repository Remoti
Utilizzo Base
Elabora repository pubblici:
# Usando l'URL completo
repomix --remote https://github.com/user/repo
# Usando il formato abbreviato GitHub
repomix --remote user/repoPuoi anche passare la forma abbreviata owner/repo direttamente, senza --remote:
repomix yamadashy/repomixPoiché owner/repo assomiglia anche a un percorso locale relativo, Repomix lo tratta come un repository remoto solo quando non esiste alcun file o directory locale con quel nome e il repository è raggiungibile su GitHub. Un percorso locale esistente ha sempre la precedenza; per forzare la gestione locale di un percorso in forma owner/repo, anteponi ./ (ad esempio, repomix ./owner/repo). Se l'argomento corrisponde al pattern ma il repository non è raggiungibile (ad esempio un repository privato o un errore di battitura), Repomix lo gestisce come un percorso locale.
Selezione Branch e Commit
# Branch specifico
repomix --remote user/repo --remote-branch main
# Tag
repomix --remote user/repo --remote-branch v1.0.0
# Hash del commit
repomix --remote user/repo --remote-branch 935b695Prerequisiti
- Git deve essere installato
- Connessione Internet
- Accesso in lettura al repository
Controllo dell'Output
# Posizione di output personalizzata
repomix --remote user/repo -o custom-output.xml
# Con formato XML
repomix --remote user/repo --style xml
# Rimuovere i commenti
repomix --remote user/repo --remove-commentsUtilizzo con Docker
# Elabora e salva nella directory corrente
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repo
# Output verso una directory specifica
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repoSicurezza
Per motivi di sicurezza, i file di configurazione (repomix.config.*) presenti nei repository remoti non vengono caricati per impostazione predefinita. Questo impedisce ai repository non attendibili di eseguire codice tramite file di configurazione come repomix.config.ts.
La configurazione globale e le opzioni CLI continuano a essere applicate normalmente.
Per considerare attendibile la configurazione di un repository remoto:
# Usando il flag CLI
repomix --remote user/repo --remote-trust-config
# Usando la variabile d'ambiente
REPOMIX_REMOTE_TRUST_CONFIG=true repomix --remote user/repoWARNING
--remote-trust-config concede alla configurazione del repository remoto lo stesso livello di fiducia della tua macchina. Una configurazione considerata attendibile può eseguire comandi arbitrari (tramite input.processors) e leggere file locali al di fuori del repository (ad esempio tramite output.instructionFilePath o pattern di inclusione che usano ../). Usala solo per repository di cui ti fidi pienamente e che hai revisionato, con la stessa cautela che adotteresti prima di eseguire un npm install o un Makefile proveniente da una fonte sconosciuta.
Prompt di conferma
Quando ti fidi della configurazione di un repository in un terminale interattivo, repomix mostra la configurazione che sta per essere eseguita e ti chiede di confermare prima di caricarla:
- Sì, solo questa volta: fidati solo di questa esecuzione.
- Sì, e non chiedere più per questo repository: viene ricordato finché i tuoi file temporanei non vengono cancellati, e solo finché quel file di configurazione resta invariato (un file di configurazione modificato richiede nuovamente conferma). Nota che questo controllo riguarda solo il file di configurazione stesso: una configurazione
.ts/.jspuò importare altri file, che non fanno parte di questo controllo. - No: interrompi senza eseguire la configurazione.
Il prompt viene saltato quando passi --force, in shell non interattive come la CI (la configurazione viene considerata attendibile come prima, mantenendo funzionanti le automazioni esistenti), oppure una volta che hai scelto di fidarti sempre di quel repository.
Per il modello di fiducia completo — cosa può fare una configurazione attendibile, come la configurazione mostrata è protetta dalla manomissione e dove viene memorizzata la decisione "non chiedere più" — vedi Sicurezza.
Quando si usa --config con --remote, è richiesto un percorso assoluto:
repomix --remote user/repo --config /home/user/repomix.config.jsonProblemi Comuni
Problemi di Accesso
- Assicurati che il repository sia pubblico
- Verifica l'installazione di Git
- Controlla la connessione Internet
Repository Grandi
- Usa
--includeper selezionare percorsi specifici - Abilita
--remove-comments - Elabora i branch separatamente
Risorse correlate
- Opzioni da Linea di Comando - Riferimento completo della CLI incluse le opzioni
--remote - Configurazione - Configurare le opzioni predefinite per l'elaborazione remota
- Compressione Codice - Ridurre la dimensione dell'output per grandi repository
- Sicurezza - Come Repomix gestisce il rilevamento di dati sensibili