Skip to content

Usare Repomix con GitHub Actions ​

Puoi automatizzare l'impacchettamento della tua codebase per l'analisi IA integrando Repomix nei tuoi workflow GitHub Actions. Questo è utile per l'integrazione continua (CI), la revisione del codice o la preparazione per strumenti LLM.

Utilizzo Base ​

Aggiungi il seguente step al tuo file YAML del workflow per impacchettare il tuo repository:

yaml
- name: Pack repository with Repomix
  uses: yamadashy/repomix/.github/actions/repomix@main
  with:
    output: repomix-output.xml

Usare Diversi Formati di Output ​

Puoi specificare diversi formati di output usando il parametro style (il formato predefinito è xml):

yaml
- name: Pack repository with Repomix
  uses: yamadashy/repomix/.github/actions/repomix@main
  with:
    output: repomix-output.md
    style: markdown
yaml
- name: Pack repository with Repomix (JSON format)
  uses: yamadashy/repomix/.github/actions/repomix@main
  with:
    output: repomix-output.json
    style: json

Impacchettare Più Cartelle con Compressione ​

Puoi specificare più cartelle, pattern di inclusione/esclusione e abilitare la compressione 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

Caricare il File Generato come Artifact ​

Per rendere il file impacchettato disponibile per gli step successivi o per il download, caricalo come artifact:

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@v7
  with:
    name: repomix-output
    path: repomix-output.xml

Parametri di Input dell'Action ​

NomeDescrizionePredefinito
directoriesLista delle cartelle da impacchettare (separate da spazio).
includePattern glob da includere (separati da virgola)""
ignorePattern glob da escludere (separati da virgola)""
outputPercorso del file di outputrepomix-output.xml
styleStile di output (xml, markdown, json, plain)xml
compressAbilita la compressione intelligentetrue
additional-argsArgomenti aggiuntivi per repomix CLI""
repomix-versionVersione del pacchetto npm da installarelatest

Output dell'Action ​

NomeDescrizione
output_filePercorso del file generato

Esempio di Workflow Completo ​

Ecco un esempio completo di workflow GitHub Actions usando 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@v7

      - 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@v7
        with:
          name: repomix-output.xml
          path: repomix-output.xml
          retention-days: 30

Consulta l'esempio completo del workflow.

Released under the MIT License.