Utiliser Repomix avec GitHub Actions
Vous pouvez automatiser le packaging de votre codebase pour l'analyse par IA en intégrant Repomix dans vos workflows GitHub Actions. Ceci est utile pour l'intégration continue (CI), la revue de code ou la préparation pour des outils LLM.
Utilisation de base
Ajoutez l'étape suivante à votre fichier YAML de workflow pour packager votre dépôt :
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.xml
Utiliser différents formats de sortie
Vous pouvez spécifier différents formats de sortie en utilisant le paramètre style
(le format par défaut est xml
) :
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.md
style: markdown
Packager plusieurs dossiers avec compression
Vous pouvez spécifier plusieurs dossiers, des patterns d'inclusion/exclusion et activer la compression intelligente :
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
directories: src tests
include: "**/*.ts,**/*.md"
ignore: "**/*.test.ts"
output: repomix-output.txt
compress: true
Télécharger le fichier généré comme artefact
Pour rendre le fichier packagé disponible pour les étapes suivantes ou pour le téléchargement, téléchargez-le comme artefact :
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
directories: src
output: repomix-output.xml
compress: true
- name: Upload Repomix output
uses: actions/upload-artifact@v4
with:
name: repomix-output
path: repomix-output.xml
Paramètres d'entrée de l'Action
Nom | Description | Par défaut |
---|---|---|
directories | Liste des dossiers à packager (séparés par espace) | . |
include | Patterns glob à inclure (séparés par virgule) | "" |
ignore | Patterns glob à exclure (séparés par virgule) | "" |
output | Chemin du fichier de sortie | repomix-output.xml |
style | Style de sortie (xml, markdown, plain) | xml |
compress | Activer la compression intelligente | true |
additional-args | Arguments supplémentaires pour repomix CLI | "" |
repomix-version | Version du package npm à installer | latest |
Sorties de l'Action
Nom | Description |
---|---|
output_file | Chemin du fichier généré |
Exemple de workflow complet
Voici un exemple complet de workflow GitHub Actions utilisant Repomix :
name: Pack repository with Repomix
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
pack-repo:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Pack repository with Repomix
uses: yamadashy/repomix/.github/actions/repomix@main
with:
output: repomix-output.xml
- name: Upload Repomix output
uses: actions/upload-artifact@v4
with:
name: repomix-output.xml
path: repomix-output.xml
retention-days: 30
Consultez l'exemple complet du workflow.