Utilizzo Base
Avvio Rapido
Impacchetta l'intero repository:
repomixCasi d'Uso Comuni
Impacchettare Directory Specifiche
repomix path/to/directoryIncludere File Specifici
Usa i pattern glob:
repomix --include "src/**/*.ts,**/*.md"Escludere File
repomix --ignore "**/*.log,tmp/"Repository Remoti
# Usando l'URL GitHub
repomix --remote https://github.com/user/repo
# Usando il formato abbreviato
repomix --remote user/repo
# Branch/tag/commit specifico
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695Input Lista File (stdin)
Passa i percorsi dei file tramite stdin per la massima flessibilità:
# Usando il comando find
find src -name "*.ts" -type f | repomix --stdin
# Usando git per ottenere i file tracciati
git ls-files "*.ts" | repomix --stdin
# Usando grep per trovare file contenenti contenuto specifico
grep -l "TODO" **/*.ts | repomix --stdin
# Usando ripgrep per trovare file con contenuto specifico
rg -l "TODO|FIXME" --type ts | repomix --stdin
# Usando ripgrep (rg) per trovare file
rg --files --type ts | repomix --stdin
# Usando sharkdp/fd per trovare file
fd -e ts | repomix --stdin
# Usando fzf per selezionare da tutti i file
fzf -m | repomix --stdin
# Selezione interattiva di file con fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# Usando ls con pattern glob
ls src/**/*.ts | repomix --stdin
# Da un file contenente percorsi di file
cat file-list.txt | repomix --stdin
# Input diretto con echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdinL'opzione --stdin ti permette di passare una lista di percorsi di file a Repomix, offrendo la massima flessibilità nella selezione dei file da impacchettare.
Quando usi --stdin, i file specificati vengono effettivamente aggiunti ai pattern di inclusione. Questo significa che il normale comportamento di inclusione ed esclusione si applica comunque - i file specificati tramite stdin saranno comunque esclusi se corrispondono ai pattern di esclusione.
NOTE
Quando usi --stdin, i percorsi dei file possono essere relativi o assoluti, e Repomix gestirà automaticamente la risoluzione dei percorsi e la deduplicazione.
Compressione Codice
repomix --compress
# Puoi usarlo anche con repository remoti:
repomix --remote yamadashy/repomix --compressIntegrazione Git
Includi informazioni Git per fornire contesto di sviluppo per l'analisi IA:
# Includi i diff git (modifiche non committate)
repomix --include-diffs
# Includi i log dei commit git (ultimi 50 commit per impostazione predefinita)
repomix --include-logs
# Includi un numero specifico di commit
repomix --include-logs --include-logs-count 10
# Includi sia diff che log
repomix --include-diffs --include-logsQuesto aggiunge contesto prezioso su:
- Modifiche recenti: I diff Git mostrano le modifiche non committate
- Pattern di sviluppo: I log Git rivelano quali file vengono tipicamente modificati insieme
- Cronologia dei commit: I messaggi dei commit recenti danno un'idea del focus di sviluppo
- Relazioni tra file: Comprendere quali file vengono modificati negli stessi commit
Ottimizzazione del Conteggio Token
Capire la distribuzione dei token della tua codebase è cruciale per ottimizzare le interazioni IA. Usa l'opzione --token-count-tree per visualizzare l'utilizzo dei token nell'intero progetto:
repomix --token-count-treeQuesto mostra una vista gerarchica della tua codebase con i conteggi dei token:
🔢 Token Count Tree:
────────────────────
└── src/ (70,925 tokens)
├── cli/ (12,714 tokens)
│ ├── actions/ (7,546 tokens)
│ └── reporters/ (990 tokens)
└── core/ (41,600 tokens)
├── file/ (10,098 tokens)
└── output/ (5,808 tokens)Puoi anche impostare una soglia minima di token per concentrarti sui file più grandi:
repomix --token-count-tree 1000 # Mostra solo file/directory con 1000+ tokenQuesto ti aiuta a:
- Identificare file pesanti di token - che potrebbero superare i limiti di contesto IA
- Ottimizzare la selezione dei file - usando i pattern
--includee--ignore - Pianificare strategie di compressione - mirando ai maggiori contributori
- Bilanciare contenuto vs contesto - quando prepari il codice per l'analisi IA
Formati di Output
XML (Predefinito)
repomix --style xmlMarkdown
repomix --style markdownJSON
repomix --style jsonTesto Semplice
repomix --style plainOpzioni Aggiuntive
Rimuovere Commenti
repomix --remove-commentsMostrare Numeri di Riga
repomix --output-show-line-numbersCopiare negli Appunti
repomix --copyDisabilitare Controllo di Sicurezza
repomix --no-security-checkConfigurazione
Inizializza il file di configurazione:
repomix --initConsulta la Guida alla Configurazione per le opzioni dettagliate.