Integrations
Enables interaction with Git repositories, supporting sorting files by Git change count and respecting .gitignore configuration
Provides tools to fetch, clone and package GitHub repositories for AI analysis, supporting repository URLs or user/repo format
Supports token counting using OpenAI's tiktoken tokenizer with configurable encodings (e.g., o200k_base for GPT-4o, cl100k_base for GPT-4/3.5)
Warp, das Agententerminal für Entwickler
Verfügbar für MacOS, Linux und Windows
📦 Repomix ist ein leistungsstarkes Tool, das Ihr gesamtes Repository in eine einzige, KI-freundliche Datei packt.
Es ist perfekt, wenn Sie Ihre Codebasis in Large Language Models (LLMs) oder andere KI-Tools wie Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok und mehr einspeisen müssen.
🎉 Neu: Repomix-Website und Discord-Community!
- Probieren Sie Repomix in Ihrem Browser unter repomix.com aus
- Treten Sie unserem Discord-Server für Support und Diskussionen bei
Wir freuen uns auf Ihren Besuch!
🌟 Funktionen
- KI-optimiert : Formatiert Ihre Codebasis so, dass sie für die KI leicht zu verstehen und zu verarbeiten ist.
- Token-Zählung : Bietet Token-Zählungen für jede Datei und das gesamte Repository, nützlich für LLM-Kontextgrenzen.
- Einfach zu verwenden : Sie benötigen nur einen Befehl, um Ihr gesamtes Repository zu packen.
- Anpassbar : Konfigurieren Sie einfach, was ein- oder ausgeschlossen werden soll.
- Git-Aware : Respektiert automatisch Ihre
.gitignore
Dateien und.git/info/exclude
. - Auf Sicherheit ausgerichtet : Enthält Secretlint für robuste Sicherheitsprüfungen, um die Aufnahme vertraulicher Informationen zu erkennen und zu verhindern.
- Codekomprimierung : Die Option
--compress
verwendet Tree-Sitter, um wichtige Codeelemente zu extrahieren und so die Tokenanzahl zu reduzieren, während die Struktur erhalten bleibt.
🚀 Schnellstart
Verwenden des CLI-Tools >_
Sie können Repomix sofort in Ihrem Projektverzeichnis ausprobieren, ohne es installieren zu müssen:
Oder global installieren für wiederholte Verwendung:
Das war's! Repomix generiert eine repomix-output.xml
Datei in Ihrem aktuellen Verzeichnis, die Ihr gesamtes Repository in einem AI-freundlichen Format enthält.
Sie können diese Datei dann mit einer Eingabeaufforderung wie der folgenden an einen KI-Assistenten senden:
Wenn Sie spezifische Änderungen vorschlagen, kann die KI möglicherweise entsprechenden Code generieren. Mit Funktionen wie Claude's Artifacts können Sie potenziell mehrere Dateien ausgeben und so mehrere voneinander abhängige Codeteile generieren.
Viel Spaß beim Programmieren! 🚀
Nutzung der Website 🌐
Möchten Sie es schnell ausprobieren? Besuchen Sie die offizielle Website unter repomix.com . Geben Sie einfach Ihren Repository-Namen und optionale Details ein und klicken Sie auf die Schaltfläche „Packen“ , um die generierte Ausgabe anzuzeigen.
Verfügbare Optionen
Die Website bietet mehrere praktische Funktionen:
- Anpassbares Ausgabeformat (XML, Markdown oder einfacher Text)
- Sofortige Schätzung der Tokenanzahl
- Viel mehr!
Verwenden der VSCode-Erweiterung ⚡️
Mit der von der Community gepflegten VSCode-Erweiterung Repomix Runner (erstellt von massdo ) können Sie Repomix mit nur wenigen Klicks direkt in Ihrem Editor ausführen. Führen Sie es in jedem Ordner aus, verwalten Sie Ausgaben nahtlos und steuern Sie alles über die intuitive Benutzeroberfläche von VSCode.
Möchten Sie Ihre Ausgabe als Datei oder nur den Inhalt? Benötigen Sie eine automatische Bereinigung? Diese Erweiterung bietet Ihnen die Lösung. Außerdem funktioniert sie reibungslos mit Ihrer vorhandenen repomix.config.json.
Probieren Sie es jetzt im VSCode Marketplace aus! Der Quellcode ist auf GitHub verfügbar.
Alternative Werkzeuge 🛠️
Wenn Sie Python verwenden, sollten Sie sich Gitingest
ansehen, das besser für das Python-Ökosystem und Data-Science-Workflows geeignet ist: https://github.com/cyclotruc/gitingest
📊 Verwendung
So packen Sie Ihr gesamtes Repository:
So packen Sie ein bestimmtes Verzeichnis:
So packen Sie bestimmte Dateien oder Verzeichnisse mithilfe von Glob-Mustern :
So schließen Sie bestimmte Dateien oder Verzeichnisse aus:
So packen Sie ein Remote-Repository:
So komprimieren Sie die Ausgabe:
So initialisieren Sie eine neue Konfigurationsdatei ( repomix.config.json
):
Sobald Sie die gepackte Datei generiert haben, können Sie sie mit generativen KI-Tools wie ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok und mehr verwenden.
Docker-Nutzung 🐳
Sie können Repomix auch mit Docker ausführen.
Dies ist nützlich, wenn Sie Repomix in einer isolierten Umgebung ausführen möchten oder lieber Container verwenden.
Grundlegende Verwendung (aktuelles Verzeichnis):
So packen Sie ein bestimmtes Verzeichnis:
Verarbeiten Sie ein Remote-Repository und geben Sie es in ein output
aus:
Beispiele für Eingabeaufforderungen
Sobald Sie die gepackte Datei mit Repomix erstellt haben, können Sie sie mit KI-Tools wie ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok und anderen verwenden. Hier sind einige Beispieleingabeaufforderungen für den Einstieg:
Codeüberprüfung und Refactoring
Für eine umfassende Codeüberprüfung und Refactoring-Vorschläge:
Dokumentationserstellung
So erstellen Sie eine Projektdokumentation:
Testfallgenerierung
Zum Generieren von Testfällen:
Bewertung der Codequalität
Bewerten Sie die Codequalität und die Einhaltung bewährter Methoden:
Bibliotheksübersicht
Verschaffen Sie sich einen umfassenden Überblick über die Bibliothek
Sie können diese Eingabeaufforderungen gerne an Ihre spezifischen Anforderungen und die Funktionen des von Ihnen verwendeten KI-Tools anpassen.
Community-Diskussion
Schauen Sie sich unsere Community-Diskussion an, in der Benutzer Folgendes teilen:
- Welche KI-Tools sie mit Repomix verwenden
- Wirksame Aufforderungen, die sie entdeckt haben
- Wie Repomix ihnen geholfen hat
- Tipps und Tricks, um das Beste aus der KI-Codeanalyse herauszuholen
Beteiligen Sie sich gerne an der Diskussion und teilen Sie Ihre eigenen Erfahrungen! Ihre Erkenntnisse können anderen helfen, Repomix besser zu nutzen.
Ausgabedateiformat
Repomix generiert eine einzelne Datei mit klaren Trennzeichen zwischen den verschiedenen Teilen Ihrer Codebasis.
Um das Verständnis der KI zu verbessern, beginnt die Ausgabedatei mit einer KI-orientierten Erklärung, die es KI-Modellen erleichtert, den Kontext und die Struktur des gepackten Repositorys zu verstehen.
XML-Format (Standard)
Das XML-Format strukturiert den Inhalt hierarchisch:
Für alle, die sich für das Potenzial von XML-Tags im KI-Kontext interessieren:
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags
Wenn Ihre Eingabeaufforderungen mehrere Komponenten wie Kontext, Anweisungen und Beispiele umfassen, können XML-Tags entscheidend sein. Sie helfen Claude, Ihre Eingabeaufforderungen genauer zu analysieren, was zu qualitativ hochwertigeren Ergebnissen führt.
Dies bedeutet, dass die XML-Ausgabe von Repomix nicht nur ein anderes Format ist, sondern möglicherweise eine effektivere Möglichkeit darstellt, Ihre Codebasis zur Analyse, Codeüberprüfung oder für andere Aufgaben in KI-Systeme einzuspeisen.
Markdown-Format
Um eine Ausgabe im Markdown-Format zu generieren, verwenden Sie die Option --style markdown
:
Das Markdown-Format strukturiert den Inhalt hierarchisch:
Dieses Format bietet eine saubere, lesbare Struktur, die sowohl benutzerfreundlich als auch für KI-Systeme leicht zu analysieren ist.
Nur-Text-Format
Um eine Ausgabe im Nur-Text-Format zu generieren, verwenden Sie die Option --style plain
:
Befehlszeilenoptionen
Grundlegende Optionen
-v, --version
: Tool-Version anzeigen
Ausgabeoptionen
-o, --output <file>
: Geben Sie den Namen der Ausgabedatei an--style <style>
: Geben Sie den Ausgabestil an (xml
,markdown
,plain
)--parsable-style
: Aktiviert die analysierbare Ausgabe basierend auf dem gewählten Stilschema. Beachten Sie, dass dies die Tokenanzahl erhöhen kann.--compress
: Führen Sie eine intelligente Codeextraktion durch und konzentrieren Sie sich dabei auf wesentliche Funktions- und Klassensignaturen, um die Tokenanzahl zu reduzieren.--output-show-line-numbers
: Zeilennummern in der Ausgabe anzeigen--copy
: Kopiert die generierte Ausgabe zusätzlich in die Systemzwischenablage--no-file-summary
: Ausgabe des Abschnitts „Dateizusammenfassung“ deaktivieren--no-directory-structure
: Ausgabe des Abschnitts „Verzeichnisstruktur“ deaktivieren--remove-comments
: Entfernt Kommentare aus unterstützten Dateitypen--remove-empty-lines
: Entfernt leere Zeilen aus der Ausgabe--header-text <text>
: Benutzerdefinierter Text, der in den Dateikopf aufgenommen werden soll--instruction-file-path <path>
: Pfad zu einer Datei mit detaillierten benutzerdefinierten Anweisungen--include-empty-directories
: Leere Verzeichnisse in die Ausgabe einschließen--no-git-sort-by-changes
: Deaktivieren Sie das Sortieren von Dateien nach der Anzahl der Git-Änderungen (standardmäßig aktiviert).
Filteroptionen
--include <patterns>
: Liste der Include-Muster (durch Kommas getrennt)-i, --ignore <patterns>
: Zusätzliche Ignoriermuster (durch Kommas getrennt)--no-gitignore
: Deaktiviert die Verwendung von .gitignore-Dateien--no-default-patterns
: Standardmuster deaktivieren
Remote-Repository-Optionen
--remote <url>
: Verarbeitet ein Remote-Git-Repository--remote-branch <name>
: Geben Sie den Namen, das Tag oder den Commit-Hash des Remote-Zweigs an (standardmäßig der Standard-Zweig des Repositorys).
Konfigurationsoptionen
-c, --config <path>
: Pfad zu einer benutzerdefinierten Konfigurationsdatei--init
: Konfigurationsdatei erstellen--global
: Globale Konfiguration verwenden
Sicherheitsoptionen
--no-security-check
: Sicherheitsüberprüfung deaktivieren
Optionen zur Tokenanzahl
--token-count-encoding <encoding>
: Geben Sie die vom Tiktoken -Tokenizer von OpenAI verwendete Token-Zählkodierung an (z. B.o200k_base
für GPT-4o,cl100k_base
für GPT-4/3.5). Weitere Kodierungsdetails finden Sie in Tiktoken model.py .
MCP
--mcp
: Als MCP-Server (Model Context Protocol) ausführen
Weitere Optionen
--top-files-len <number>
: Anzahl der Top-Dateien, die in der Zusammenfassung angezeigt werden sollen--verbose
: Ausführliches Protokollieren aktivieren--quiet
: Deaktiviert die gesamte Ausgabe an stdout
Beispiele:
Aktualisieren von Repomix
So aktualisieren Sie einen global installierten Repomix:
Die Verwendung npx repomix
ist im Allgemeinen bequemer, da immer die neueste Version verwendet wird.
Remote-Repository-Verarbeitung
Repomix unterstützt die Verarbeitung von Remote-Git-Repositorys ohne manuelles Klonen. Mit dieser Funktion können Sie jedes öffentliche Git-Repository schnell mit einem einzigen Befehl analysieren.
Um ein Remote-Repository zu verarbeiten, verwenden Sie die Option --remote
, gefolgt von der Repository-URL:
Sie können auch das Kurzformat von GitHub verwenden:
Sie können den Branch-Namen, das Tag oder den Commit-Hash angeben:
Oder verwenden Sie einen bestimmten Commit-Hash:
Code-Komprimierung
Die Option --compress
nutzt Tree-sitter zur intelligenten Codeextraktion. Dabei wird der Fokus auf wesentliche Funktions- und Klassensignaturen gelegt, während Implementierungsdetails entfernt werden. Dies kann dazu beitragen, die Tokenanzahl zu reduzieren und gleichzeitig wichtige Strukturinformationen zu erhalten.
Beispielsweise dieser Code:
Wird komprimiert auf:
[!NOTE] Dies ist eine experimentelle Funktion, die wir basierend auf Benutzerfeedback und realer Nutzung aktiv verbessern werden.
MCP-Server-Integration
Repomix unterstützt das Model Context Protocol (MCP) und ermöglicht KI-Assistenten die direkte Interaktion mit Ihrem Code. Als MCP-Server bietet Repomix Tools, mit denen KI-Assistenten lokale oder Remote-Repositories für die Analyse packen können, ohne dass eine manuelle Dateivorbereitung erforderlich ist.
Konfigurieren von MCP-Servern
Um Repomix als MCP-Server mit KI-Assistenten wie Claude zu verwenden, müssen Sie die MCP-Einstellungen konfigurieren:
Für VS Code:
Sie können den Repomix MCP-Server in VS Code mit einer der folgenden Methoden installieren:
- Verwenden des Installationsabzeichens:
- Verwenden der Befehlszeile:
Für VS Code Insider:
Für Cline (VS Code-Erweiterung):
Bearbeiten Sie die Datei cline_mcp_settings.json
:
Für Cursor:
Fügen Sie in Cursor einen neuen MCP-Server über Cursor Settings
> MCP
> + Add new global MCP server
.
Für Claude Desktop:
Bearbeiten Sie die Datei claude_desktop_config.json
mit einer ähnlichen Konfiguration wie Clines Konfiguration.
Nach der Konfiguration kann Ihr KI-Assistent die Funktionen von Repomix direkt nutzen, um Codebasen ohne manuelle Dateivorbereitung zu analysieren, wodurch die Arbeitsabläufe der Codeanalyse effizienter werden.
Verfügbare MCP-Tools
Beim Betrieb als MCP-Server stellt Repomix die folgenden Tools bereit:
- pack_codebase : Packen Sie ein lokales Codeverzeichnis in eine konsolidierte Datei für die KI-Analyse
- Parameter:
directory
: Absoluter Pfad zum zu packenden Verzeichniscompress
: (Optional, Standard: true) Ob eine intelligente Codeextraktion durchgeführt werden sollincludePatterns
: (Optional) Komma-getrennte Liste von Include-MusternignorePatterns
: (Optional) Komma-getrennte Liste von Ignoriermustern
- pack_remote_repository : Ein GitHub-Repository abrufen, klonen und verpacken
- Parameter:
remote
: GitHub-Repository-URL oder Benutzer-/Repository-Format (z. B. yamadashy/repomix)compress
: (Optional, Standard: true) Ob eine intelligente Codeextraktion durchgeführt werden sollincludePatterns
: (Optional) Komma-getrennte Liste von Include-MusternignorePatterns
: (Optional) Komma-getrennte Liste von Ignoriermustern
- read_repomix_output : Lesen Sie den Inhalt einer Repomix-Ausgabedatei in Umgebungen, in denen kein direkter Dateizugriff möglich ist
- Parameter:
outputId
: ID der zu lesenden Repomix-Ausgabedatei
- Merkmale:
- Speziell für webbasierte Umgebungen oder Sandbox-Anwendungen entwickelt
- Ruft den Inhalt zuvor generierter Ausgaben anhand ihrer ID ab
- Bietet sicheren Zugriff auf gepackte Codebasis, ohne dass ein Zugriff auf das Dateisystem erforderlich ist
- file_system_read_file : Lesen Sie eine Datei mit einem absoluten Pfad und Sicherheitsüberprüfung
- Parameter:
path
: Absoluter Pfad zur zu lesenden Datei
- Sicherheitsfunktionen:
- Implementiert die Sicherheitsvalidierung mit Secretlint
- Verhindert den Zugriff auf Dateien mit vertraulichen Informationen
- Validiert absolute Pfade, um Directory-Traversal-Angriffe zu verhindern
- file_system_read_directory : Listet den Inhalt eines Verzeichnisses unter Verwendung eines absoluten Pfads auf
- Parameter:
path
: Absoluter Pfad zum aufzulistenden Verzeichnis
- Merkmale:
- Zeigt Dateien und Verzeichnisse mit eindeutigen Indikatoren (
[FILE]
oder[DIR]
) - Bietet sichere Verzeichnisdurchquerung mit ordnungsgemäßer Fehlerbehandlung
- Validiert Pfade und stellt sicher, dass sie absolut sind
- Zeigt Dateien und Verzeichnisse mit eindeutigen Indikatoren (
⚙️ Konfiguration
Erstellen Sie für benutzerdefinierte Konfigurationen eine Datei repomix.config.json
in Ihrem Projektstamm.
Hier ist eine Erklärung der Konfigurationsoptionen:
Option | Beschreibung | Standard |
---|---|---|
output.filePath | Der Name der Ausgabedatei | "repomix-output.xml" |
output.style | Der Stil der Ausgabe ( xml , markdown , plain ) | "xml" |
output.parsableStyle | Gibt an, ob die Ausgabe basierend auf dem gewählten Stilschema maskiert werden soll. Beachten Sie, dass sich dadurch die Tokenanzahl erhöhen kann. | false |
output.compress | Ob eine intelligente Codeextraktion durchgeführt werden soll, um die Tokenanzahl zu reduzieren | false |
output.headerText | Benutzerdefinierter Text zum Einfügen in den Dateikopf | null |
output.instructionFilePath | Pfad zu einer Datei mit detaillierten benutzerdefinierten Anweisungen | null |
output.fileSummary | Ob am Anfang der Ausgabe ein Zusammenfassungsabschnitt eingefügt werden soll | true |
output.directoryStructure | Ob die Verzeichnisstruktur in die Ausgabe einbezogen werden soll | true |
output.removeComments | Ob Kommentare aus unterstützten Dateitypen entfernt werden sollen | false |
output.removeEmptyLines | Ob leere Zeilen aus der Ausgabe entfernt werden sollen | false |
output.showLineNumbers | Ob jeder Zeile in der Ausgabe Zeilennummern hinzugefügt werden sollen | false |
output.copyToClipboard | Ob die Ausgabe zusätzlich zum Speichern der Datei in die Systemzwischenablage kopiert werden soll | false |
output.topFilesLength | Anzahl der Top-Dateien, die in der Zusammenfassung angezeigt werden sollen. Bei 0 wird keine Zusammenfassung angezeigt. | 5 |
output.includeEmptyDirectories | Ob leere Verzeichnisse in die Repository-Struktur aufgenommen werden sollen | false |
output.git.sortByChanges | Ob die Dateien nach der Anzahl der Git-Änderungen sortiert werden sollen (Dateien mit mehr Änderungen werden unten angezeigt) | true |
output.git.sortByChangesMaxCommits | Maximale Anzahl von Commits zur Analyse auf Git-Änderungen | 100 |
include | Muster der einzuschließenden Dateien (unter Verwendung von Glob-Mustern ) | [] |
ignore.useGitignore | Ob Muster aus der .gitignore Datei des Projekts verwendet werden sollen | true |
ignore.useDefaultPatterns | Ob Standard-Ignoriermuster verwendet werden sollen | true |
ignore.customPatterns | Zusätzliche zu ignorierende Muster (mithilfe von Glob-Mustern ) | [] |
security.enableSecurityCheck | Ob Sicherheitsüberprüfungen für Dateien durchgeführt werden sollen | true |
tokenCount.encoding | Die vom Tiktoken -Tokenizer von OpenAI verwendete Token-Anzahlkodierung (z. B. o200k_base für GPT-4o, cl100k_base für GPT-4/3.5). Weitere Kodierungsdetails finden Sie in Tiktoken model.py . | "o200k_base" |
Die Konfigurationsdatei unterstützt die JSON5- Syntax, die Folgendes ermöglicht:
- Kommentare (sowohl einzeilig als auch mehrzeilig)
- Nachfolgende Kommas in Objekten und Arrays
- Nicht in Anführungszeichen gesetzte Eigenschaftsnamen
- Entspanntere Zeichenfolgensyntax
Beispielkonfiguration:
Globale Konfiguration
So erstellen Sie eine globale Konfigurationsdatei:
Die globale Konfigurationsdatei wird erstellt in:
- Windows:
%LOCALAPPDATA%\Repomix\repomix.config.json
- macOS/Linux:
$XDG_CONFIG_HOME/repomix/repomix.config.json
oder~/.config/repomix/repomix.config.json
Hinweis: Die lokale Konfiguration (sofern vorhanden) hat Vorrang vor der globalen Konfiguration.
Einschließen und Ignorieren
Muster einschließen
Repomix unterstützt nun die Angabe von einzuschließenden Dateien mithilfe von Glob-Mustern . Dies ermöglicht eine flexiblere und leistungsfähigere Dateiauswahl:
- Verwenden Sie
**/*.js
um alle JavaScript-Dateien in einem beliebigen Verzeichnis einzuschließen - Verwenden Sie
src/**/*
um alle Dateien imsrc
-Verzeichnis und seinen Unterverzeichnissen einzuschließen - Kombinieren Sie mehrere Muster wie
["src/**/*.js", "**/*.md"]
um JavaScript-Dateien insrc
und alle Markdown-Dateien einzuschließen
Muster ignorieren
Repomix bietet mehrere Methoden zum Festlegen von Ignoriermustern zum Ausschließen bestimmter Dateien oder Verzeichnisse während des Packvorgangs:
- .gitignore : Standardmäßig werden die in den
.gitignore
Dateien Ihres Projekts und.git/info/exclude
aufgeführten Muster verwendet. Dieses Verhalten kann mit der Einstellungignore.useGitignore
oder der CLI-Option--no-gitignore
gesteuert werden. - Standardmuster : Repomix enthält eine Standardliste häufig ausgeschlossener Dateien und Verzeichnisse (z. B. node_modules, .git, Binärdateien). Diese Funktion kann mit der Einstellung
ignore.useDefaultPatterns
oder der CLI-Option--no-default-patterns
gesteuert werden. Weitere Informationen finden Sie in defaultIgnore.ts . - .repomixignore : Sie können eine
.repomixignore
-Datei im Stammverzeichnis Ihres Projekts erstellen, um Repomix-spezifische Ignoriermuster zu definieren. Diese Datei hat dasselbe Format wie.gitignore
. - Benutzerdefinierte Muster : Zusätzliche Ignoriermuster können mit der Option
ignore.customPatterns
in der Konfigurationsdatei angegeben werden. Sie können diese Einstellung mit der Kommandozeilenoption-i, --ignore
überschreiben.
Prioritätsreihenfolge (von der höchsten zur niedrigsten):
- Benutzerdefinierte Muster
ignore.customPatterns
.repomixignore
.gitignore
und.git/info/exclude
(wennignore.useGitignore
wahr ist und--no-gitignore
nicht verwendet wird)- Standardmuster (wenn
ignore.useDefaultPatterns
wahr ist und--no-default-patterns
nicht verwendet wird)
Dieser Ansatz ermöglicht eine flexible Konfiguration des Dateiausschlusses basierend auf den Anforderungen Ihres Projekts. Er trägt dazu bei, die Größe der generierten Packdatei zu optimieren, indem er den Ausschluss sicherheitsrelevanter Dateien und großer Binärdateien gewährleistet und gleichzeitig den Verlust vertraulicher Informationen verhindert.
Hinweis: Binärdateien sind standardmäßig nicht in der gepackten Ausgabe enthalten, ihre Pfade werden jedoch im Abschnitt „Repository-Struktur“ der Ausgabedatei aufgelistet. Dies bietet einen vollständigen Überblick über die Repository-Struktur und sorgt gleichzeitig dafür, dass die gepackte Datei effizient und textbasiert bleibt.
Benutzerdefinierte Anweisung
Mit der Option output.instructionFilePath
können Sie eine separate Datei mit detaillierten Anweisungen oder Kontextinformationen zu Ihrem Projekt angeben. Dadurch können KI-Systeme den spezifischen Kontext und die Anforderungen Ihres Projekts verstehen und möglicherweise relevantere und maßgeschneiderte Analysen oder Vorschläge erstellen.
Hier ist ein Beispiel, wie Sie diese Funktion verwenden können:
- Erstellen Sie in Ihrem Projektstamm eine Datei mit dem Namen
repomix-instruction.md
:
- Fügen Sie in Ihrer
repomix.config.json
die OptioninstructionFilePath
hinzu:
Wenn Repomix die Ausgabe generiert, wird der Inhalt von repomix-instruction.md
in einem dedizierten Abschnitt eingefügt.
Hinweis: Der Anweisungsinhalt wird am Ende der Ausgabedatei angehängt. Diese Platzierung kann insbesondere für KI-Systeme effektiv sein. Wer verstehen möchte, warum dies von Vorteil sein könnte, findet in der Dokumentation von Anthropic einige Einblicke:
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips
Platzieren Sie lange Daten an den Anfang: Platzieren Sie Ihre langen Dokumente und Eingaben (ca. 20.000+ Token) oben in Ihrer Eingabeaufforderung, über Ihrer Abfrage, Ihren Anweisungen und Beispielen. Dies kann Claudes Leistung über alle Modelle hinweg deutlich verbessern. Abfragen am Ende können die Antwortqualität in Tests um bis zu 30 % verbessern, insbesondere bei komplexen Eingaben mit mehreren Dokumenten.
Kommentarentfernung
Wenn output.removeComments
auf true
gesetzt ist, versucht Repomix, Kommentare aus unterstützten Dateitypen zu entfernen. Diese Funktion kann dazu beitragen, die Größe der Ausgabedatei zu reduzieren und sich auf den wesentlichen Codeinhalt zu konzentrieren.
Zu den unterstützten Sprachen gehören:
HTML, CSS, JavaScript, TypeScript, Vue, Svelte, Python, PHP, Ruby, C, C#, Java, Go, Rust, Swift, Kotlin, Dart, Shell und YAML.
Hinweis: Der Kommentarentfernungsprozess ist konservativ, um das versehentliche Entfernen von Code zu vermeiden. In komplexen Fällen können einige Kommentare erhalten bleiben.
🔍 Sicherheitscheck
Repomix enthält eine Sicherheitsüberprüfungsfunktion, die Secretlint verwendet, um potenziell sensible Informationen in Ihren Dateien zu erkennen. Diese Funktion hilft Ihnen, mögliche Sicherheitsrisiken zu identifizieren, bevor Sie Ihr gepacktes Repository freigeben.
Die Ergebnisse der Sicherheitsüberprüfung werden nach Abschluss des Packvorgangs in der CLI-Ausgabe angezeigt. Sollten verdächtige Dateien erkannt werden, wird eine Liste dieser Dateien zusammen mit einer Warnmeldung angezeigt.
Beispielausgabe:
Standardmäßig ist die Sicherheitsüberprüfung von Repomix aktiviert. Sie können sie deaktivieren, indem Sie security.enableSecurityCheck
in Ihrer Konfigurationsdatei auf false
setzen:
Oder mit der Befehlszeilenoption --no-security-check
:
[!NOTE] Durch das Deaktivieren von Sicherheitsüberprüfungen können vertrauliche Informationen offengelegt werden. Verwenden Sie diese Option mit Vorsicht und nur, wenn es notwendig ist, z. B. beim Arbeiten mit Testdateien oder Dokumentationen, die Beispielanmeldeinformationen enthalten.
🤖 Verwenden von Repomix mit GitHub Actions
Sie können Repomix auch in Ihren GitHub Actions-Workflows verwenden. Dies ist nützlich, um das Packen Ihrer Codebasis für die KI-Analyse zu automatisieren.
Grundlegende Verwendung:
Verwenden Sie --style
, um Ausgaben in verschiedenen Formaten zu generieren:
Packen Sie bestimmte Verzeichnisse mit Komprimierung:
Laden Sie die Ausgabedatei als Artefakt hoch:
Vollständiges Workflow-Beispiel:
Das vollständige Workflow-Beispiel finden Sie hier .
Aktionseingaben
Name | Beschreibung | Standard |
---|---|---|
directories | Durch Leerzeichen getrennte Liste der zu verarbeitenden Verzeichnisse (z. B. src tests docs ) | . |
include | Durch Kommas getrennte Glob-Muster zum Einschließen von Dateien (z. B. **/*.ts,**/*.md ) | "" |
ignore | Durch Kommas getrennte Glob-Muster zum Ignorieren von Dateien (z. B. **/*.test.ts,**/node_modules/** ) | "" |
output | Relativer Pfad für die gepackte Datei (Erweiterung bestimmt das Format: .txt , .md , .xml ) | repomix-output.xml |
compress | Aktivieren Sie die intelligente Komprimierung, um die Ausgabegröße durch Beschneiden von Implementierungsdetails zu reduzieren | true |
style | Ausgabestil ( xml , markdown , plain ) | xml |
additional-args | Zusätzliche Rohargumente für die Repomix-CLI (z. B. --no-file-summary --no-security-check ) | "" |
repomix-version | Version des zu installierenden npm-Pakets (unterstützt Semver-Bereiche, Tags oder bestimmte Versionen wie 0.2.25 ) | latest |
Aktionsausgaben
Name | Beschreibung |
---|---|
output_file | Pfad zur generierten Ausgabedatei. Kann in nachfolgenden Schritten zum Hochladen von Artefakten, zur LLM-Verarbeitung oder für andere Vorgänge verwendet werden. Die Datei enthält eine formatierte Darstellung Ihrer Codebasis basierend auf den angegebenen Optionen. |
📚 Repomix als Bibliothek verwenden
Sie können Repomix nicht nur als CLI-Tool verwenden, sondern auch als Bibliothek in Ihren Node.js-Anwendungen.
Installation
Grundlegende Verwendung
Remote-Repository verarbeiten
Verwenden von Kernkomponenten
Wenn Sie mehr Kontrolle benötigen, können Sie die Low-Level-APIs verwenden:
Weitere Beispiele finden Sie im Quellcode unter website/server/src/remoteRepo.ts, der zeigt, wie repomix.com die Bibliothek verwendet.
🤝 Beitrag
Wir freuen uns über Beiträge aus der Community! Um zu beginnen, lesen Sie bitte unseren Leitfaden für Beiträge .
Mitwirkende
🔒 Datenschutzrichtlinie
Repomix CLI-Tool
- Datenerfassung : Das Repomix CLI-Tool erfasst, überträgt oder speichert keine Benutzerdaten, Telemetriedaten oder Repository-Informationen.
- Netzwerknutzung : Repomix CLI arbeitet nach der Installation vollständig offline. Eine Internetverbindung ist nur in folgenden Fällen erforderlich:
- Installation über npm/yarn.
- Verwenden des Flags
--remote
zum Verarbeiten von Remote-Repositorys. - Suche nach Updates (manuell ausgelöst).
- Sicherheitsüberlegungen : Da die gesamte Verarbeitung lokal erfolgt, kann Repomix CLI sicher mit privaten und internen Repositories verwendet werden.
Repomix-Website ( repomix.com )
- Datenerfassung : Die Repomix-Website verwendet Google Analytics, um Nutzungsdaten wie Seitenaufrufe und Benutzerinteraktionen zu erfassen. Dies hilft uns zu verstehen, wie die Website genutzt wird, und das Benutzererlebnis zu verbessern.
Haftungsausschluss
Repomix (sowohl das CLI-Tool als auch die Website) wird „wie besehen“ ohne jegliche Gewährleistungen oder Garantien bereitgestellt.
Wir übernehmen keine Verantwortung für die Verwendung der generierten Ausgabe, einschließlich, aber nicht beschränkt auf deren Richtigkeit, Rechtmäßigkeit oder mögliche Folgen, die sich aus ihrer Verwendung ergeben.
📜 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
This server cannot be installed
Der Repomix MCP Server ermöglicht KI-Modellen die effiziente Analyse von Codebasen durch die Verpackung lokaler oder Remote-Repositorys in optimierte Einzeldateien. Durch intelligente Komprimierung über Tree-Sitter wird die Token-Nutzung deutlich reduziert, während die Codestruktur und wichtige Signaturen erhalten bleiben.
- 🎉 Neu: Repomix-Website und Discord-Community!
- 🌟 Funktionen
- 🚀 Schnellstart
- 📊 Verwendung
- ⚙️ Konfiguration
- 🔍 Sicherheitscheck
- 🤖 Verwenden von Repomix mit GitHub Actions
- 📚 Repomix als Bibliothek verwenden
- 🤝 Beitrag
- 🔒 Datenschutzrichtlinie
- 📜 Lizenz
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityAiDD MCP Server provides a secure interface for AI agents to perform file system operations and code analysis, enhancing AI-assisted development workflows across multiple programming languages.Last updated -2954PythonApache 2.0
- -securityAlicense-qualityAn MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.Last updated -132PythonMIT License
- -securityAlicense-qualityA MCP server that transforms code repositories from GitHub, GitLab, or local directories into LLM-friendly formats, preserving context and structure for better AI processing.Last updated -1PythonApache 2.0
- -security-license-qualityAn MCP server that automatically generates documentation, test plans, and code reviews for code repositories by analyzing directory structures and code files using AI models via OpenRouter API.Last updated -3TypeScriptCreative Commons Zero v1.0 Universal
Appeared in Searches
- Tool or method for automating code refactoring and finding similar code in a codebase
- Information about Repomix Architect
- A server for indexing public GitHub repositories and answering questions using the data
- A tool for finding relevant files in a Git project based on questions
- Using Sourcegraph APIs to search a codebase