Skip to content

Options de ligne de commande

Options de base

  • -v, --version: Afficher la version de l'outil

Options d'entrée/sortie CLI

OptionDescription
--verboseActiver la journalisation de débogage détaillée (affiche le traitement des fichiers, les comptages de jetons et les détails de configuration)
--quietSupprimer toute sortie console sauf les erreurs (utile pour les scripts)
--stdoutÉcrire la sortie empaquetée directement vers stdout au lieu d'un fichier (supprime toute journalisation)
--stdinLire les chemins de fichiers depuis stdin, un par ligne (les fichiers spécifiés sont traités directement)
--copyCopier la sortie générée dans le presse-papiers système après le traitement
--token-count-tree [threshold]Afficher l'arbre des fichiers avec les comptages de jetons ; seuil optionnel pour n'afficher que les fichiers avec au moins N jetons (ex : --token-count-tree 100)
--top-files-len <number>Nombre des plus gros fichiers à afficher dans le résumé (par défaut : 5)

Options de sortie Repomix

OptionDescription
-o, --output <file>Chemin du fichier de sortie (par défaut : repomix-output.xml, utiliser "-" pour stdout)
--style <style>Format de sortie : xml, markdown, json ou plain (par défaut : xml)
--parsable-styleÉchapper les caractères spéciaux pour assurer un XML/Markdown valide (nécessaire lorsque la sortie contient du code qui casse le formatage)
--compressExtraire la structure essentielle du code (classes, fonctions, interfaces) via l'analyse Tree-sitter
--output-show-line-numbersPréfixer chaque ligne avec son numéro de ligne dans la sortie
--no-file-summaryOmettre la section de résumé des fichiers de la sortie
--no-directory-structureOmettre la visualisation de l'arborescence des répertoires de la sortie
--no-filesGénérer uniquement les métadonnées sans le contenu des fichiers (utile pour l'analyse de dépôt)
--remove-commentsSupprimer tous les commentaires de code avant l'empaquetage
--remove-empty-linesSupprimer les lignes vides de tous les fichiers
--truncate-base64Tronquer les longues chaînes de données base64 pour réduire la taille de la sortie
--header-text <text>Texte personnalisé à inclure au début de la sortie
--instruction-file-path <path>Chemin vers un fichier contenant des instructions personnalisées à inclure dans la sortie
--split-output <size>Diviser la sortie en plusieurs fichiers numérotés (p. ex. repomix-output.1.xml) ; taille comme 500kb, 2mb ou 1.5mb
--include-empty-directoriesInclure les dossiers sans fichiers dans la structure de répertoires
--include-full-directory-structureAfficher l'arborescence complète du dépôt dans la section Structure de répertoire, même lors de l'utilisation de motifs --include
--no-git-sort-by-changesNe pas trier les fichiers par fréquence de modifications git (par défaut : fichiers les plus modifiés en premier)
--include-diffsAjouter une section diff git montrant les modifications de l'arbre de travail et les modifications indexées
--include-logsAjouter l'historique des commits git avec les messages et les fichiers modifiés
--include-logs-count <count>Nombre de commits récents à inclure avec --include-logs (par défaut : 50)

Options de sélection de fichiers

OptionDescription
--include <patterns>Inclure uniquement les fichiers correspondant à ces motifs glob (séparés par des virgules, ex : "src/**/*.js,*.md")
-i, --ignore <patterns>Motifs supplémentaires à exclure (séparés par des virgules, ex : "*.test.js,docs/**")
--no-gitignoreNe pas utiliser les règles .gitignore pour filtrer les fichiers
--no-dot-ignoreNe pas utiliser les règles .ignore pour filtrer les fichiers
--no-default-patternsNe pas appliquer les motifs d'exclusion intégrés (node_modules, .git, répertoires de build, etc.)

Options de dépôt distant

OptionDescription
--remote <url>Cloner et empaqueter un dépôt distant (URL GitHub ou format user/repo)
--remote-branch <name>Branche, tag ou commit spécifique à utiliser (par défaut : branche par défaut du dépôt)
--remote-trust-configFaire confiance et charger les fichiers de configuration des dépôts distants (désactivé par défaut pour la sécurité)

Options de configuration

OptionDescription
-c, --config <path>Utiliser un fichier de configuration personnalisé au lieu de repomix.config.json
--initCréer un nouveau fichier repomix.config.json avec les valeurs par défaut
--globalAvec --init, créer la configuration dans le répertoire personnel au lieu du répertoire courant

Options de sécurité

  • --no-security-check: Ignorer la recherche de données sensibles comme les clés API et mots de passe

Options de comptage de jetons

  • --token-count-encoding <encoding>: Modèle de tokenizer pour le comptage : o200k_base (GPT-4o), cl100k_base (GPT-3.5/4), etc. (par défaut : o200k_base)
  • --token-budget <number>: Échouer avec un code de sortie non nul lorsque la sortie empaquetée dépasse N jetons. Utile comme garde-fou dans les pipelines CI et les workflows d'agents pour maintenir la sortie dans la fenêtre de contexte d'un modèle cible. La sortie est tout de même générée ; seul le code de sortie signale le dépassement.

Options MCP

  • --mcp: Fonctionner comme serveur Model Context Protocol pour l'intégration d'outils IA

Options de génération d'Agent Skills

OptionDescription
--skill-generate [name]Générer une sortie au format Claude Agent Skills dans le répertoire .claude/skills/<name>/ (nom auto-généré si omis)
--skill-output <path>Spécifier directement le chemin du répertoire de sortie des skills (ignore l'invite d'emplacement)
-f, --forceIgnorer toutes les invites de confirmation (ex : remplacement du répertoire de skills)

Options du mode surveillance

  • -w, --watch: Surveille les modifications de fichiers et reconditionne automatiquement. Les fichiers ajoutés, modifiés et supprimés sont détectés, les changements rapides sont regroupés (debounce de 300 ms), et un horodatage est affiché après chaque reconstruction. Appuyez sur Ctrl+C pour arrêter.

Le mode surveillance ne fonctionne qu'avec des répertoires locaux ; il ne peut donc pas être combiné avec --remote, une URL de dépôt distant passée en argument positionnel, --stdout, --stdin, --split-output, --skill-generate ou --copy. Ces restrictions s'appliquent que l'option soit définie en ligne de commande ou dans votre fichier de configuration.

Ressources associées

Exemples

bash
# Utilisation de base
repomix

# Fichier de sortie et format personnalisés
repomix -o my-output.xml --style xml

# Sortie vers stdout
repomix --stdout > custom-output.txt

# Sortie vers stdout, puis redirection vers une autre commande (par exemple, simonw/llm)
repomix --stdout | llm "Veuillez expliquer ce que fait ce code."

# Sortie personnalisée avec compression
repomix --compress

# Traiter des fichiers spécifiques avec des motifs
repomix --include "src/**/*.ts,*.md" --ignore "*.test.js,docs/**"

# Dépôt distant avec branche
repomix --remote https://github.com/user/repo/tree/main

# Dépôt distant avec commit
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1

# Dépôt distant avec forme abrégée
repomix --remote user/repo

# Dépôt distant avec forme abrégée (détecté automatiquement, sans --remote)
repomix user/repo

# Liste de fichiers utilisant stdin
find src -name "*.ts" -type f | repomix --stdin
git ls-files "*.js" | repomix --stdin
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin

# Intégration Git
repomix --include-diffs  # Inclure les diffs git pour les modifications non commitées
repomix --include-logs   # Inclure les journaux git (derniers 50 commits par défaut)
repomix --include-logs --include-logs-count 10  # Inclure les 10 derniers commits
repomix --include-diffs --include-logs  # Inclure à la fois les diffs et les journaux

# Analyse du comptage de jetons
repomix --token-count-tree
repomix --token-count-tree 1000  # Afficher uniquement les fichiers/répertoires avec 1000+ jetons

# Mode surveillance : reconditionnement automatique à chaque modification de fichier
repomix --watch
repomix -w --include "src/**/*.ts"

Released under the MIT License.