Skip to content

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 :

yaml
- 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) :

yaml
- 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 :

yaml
- 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 :

yaml
- 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

NomDescriptionPar défaut
directoriesListe des dossiers à packager (séparés par espace).
includePatterns glob à inclure (séparés par virgule)""
ignorePatterns glob à exclure (séparés par virgule)""
outputChemin du fichier de sortierepomix-output.xml
styleStyle de sortie (xml, markdown, plain)xml
compressActiver la compression intelligentetrue
additional-argsArguments supplémentaires pour repomix CLI""
repomix-versionVersion du package npm à installerlatest

Sorties de l'Action

NomDescription
output_fileChemin du fichier généré

Exemple de workflow complet

Voici un exemple complet de workflow GitHub Actions utilisant Repomix :

yaml
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.

Released under the MIT License.