Utilisation de base
Démarrage rapide
Empaquetez tout votre dépôt:
bash
repomix
Cas d'utilisation courants
Empaqueter des répertoires spécifiques
bash
repomix path/to/directory
Inclure des fichiers spécifiques
Utilisez des motifs glob:
bash
repomix --include "src/**/*.ts,**/*.md"
Exclure des fichiers
bash
repomix --ignore "**/*.log,tmp/"
Dépôts distants
bash
# En utilisant l'URL GitHub
repomix --remote https://github.com/user/repo
# En utilisant le format abrégé
repomix --remote user/repo
# Branche/tag/commit spécifique
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695
Entrée de liste de fichiers (stdin)
Passez les chemins de fichiers via stdin pour une flexibilité ultime:
bash
# En utilisant la commande find
find src -name "*.ts" -type f | repomix --stdin
# En utilisant git pour obtenir les fichiers suivis
git ls-files "*.ts" | repomix --stdin
# En utilisant grep pour trouver des fichiers contenant du contenu spécifique
grep -l "TODO" **/*.ts | repomix --stdin
# En utilisant ripgrep pour trouver des fichiers avec du contenu spécifique
rg -l "TODO|FIXME" --type ts | repomix --stdin
# En utilisant ripgrep (rg) pour trouver des fichiers
rg --files --type ts | repomix --stdin
# En utilisant sharkdp/fd pour trouver des fichiers
fd -e ts | repomix --stdin
# En utilisant fzf pour sélectionner à partir de tous les fichiers
fzf -m | repomix --stdin
# Sélection interactive de fichiers avec fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# En utilisant ls avec des motifs glob
ls src/**/*.ts | repomix --stdin
# À partir d'un fichier contenant des chemins de fichiers
cat file-list.txt | repomix --stdin
# Entrée directe avec echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
L'option --stdin
vous permet de transmettre une liste de chemins de fichiers à Repomix, offrant une flexibilité ultime dans la sélection des fichiers à empaqueter.
Lorsque vous utilisez --stdin
, les fichiers spécifiés sont effectivement ajoutés aux motifs d'inclusion. Cela signifie que le comportement normal d'inclusion et d'exclusion s'applique toujours - les fichiers spécifiés via stdin seront toujours exclus s'ils correspondent aux motifs d'exclusion.
NOTE
Lors de l'utilisation de --stdin
, les chemins de fichiers peuvent être relatifs ou absolus, et Repomix gèrera automatiquement la résolution des chemins et la déduplication.
Compression de code
bash
repomix --compress
# Vous pouvez également l'utiliser avec des dépôts distants:
repomix --remote yamadashy/repomix --compress
Intégration Git
Inclure des informations Git pour fournir un contexte de développement pour l'analyse IA :
bash
# Inclure les diffs git (modifications non commitées)
repomix --include-diffs
# Inclure les journaux de commits git (derniers 50 commits par défaut)
repomix --include-logs
# Inclure un nombre spécifique de commits
repomix --include-logs --include-logs-count 10
# Inclure à la fois les diffs et les journaux
repomix --include-diffs --include-logs
Cela ajoute un contexte précieux sur :
- Modifications récentes : Les diffs Git montrent les modifications non commitées
- Modèles de développement : Les journaux Git révèlent quels fichiers sont généralement modifiés ensemble
- Historique des commits : Les messages de commits récents donnent un aperçu du focus de développement
- Relations entre fichiers : Comprendre quels fichiers sont modifiés dans les mêmes commits
Optimisation du nombre de jetons
Comprendre la distribution des jetons de votre base de code est crucial pour optimiser les interactions IA. Utilisez l'option --token-count-tree
pour visualiser l'utilisation des jetons dans votre projet entier:
bash
repomix --token-count-tree
Cela affiche une vue hiérarchique de votre base de code avec les comptes de jetons:
🔢 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)
Vous pouvez également définir un seuil minimum de jetons pour vous concentrer sur les fichiers plus volumineux:
bash
repomix --token-count-tree 1000 # Afficher uniquement les fichiers/répertoires avec 1000+ jetons
Cela vous aide à:
- Identifier les fichiers lourds en jetons - qui pourraient dépasser les limites de contexte IA
- Optimiser la sélection de fichiers - en utilisant les motifs
--include
et--ignore
- Planifier les stratégies de compression - en ciblant les plus gros contributeurs
- Équilibrer contenu vs contexte - lors de la préparation du code pour l'analyse IA
Formats de sortie
XML (Par défaut)
bash
repomix --style xml
Markdown
bash
repomix --style markdown
Texte brut
bash
repomix --style plain
Options supplémentaires
Supprimer les commentaires
bash
repomix --remove-comments
Afficher les numéros de ligne
bash
repomix --output-show-line-numbers
Copier dans le presse-papiers
bash
repomix --copy
Désactiver la vérification de sécurité
bash
repomix --no-security-check
Configuration
Initialiser le fichier de configuration:
bash
repomix --init
Consultez le Guide de configuration pour les options détaillées.