# Zu Repomix beitragen
Vielen Dank für Ihr Interesse an **Repomix**! 🚀 Wir freuen uns über Ihre Hilfe, um es noch besser zu machen. Dieser Leitfaden hilft Ihnen, mit der Mitarbeit am Projekt zu beginnen.
## Wie Sie beitragen können
- **Repository mit Stern versehen**: Zeigen Sie Ihre Unterstützung, indem Sie [das Repository mit einem Stern versehen](https://github.com/yamadashy/repomix)!
- **Issue erstellen**: Einen Fehler entdeckt? Eine Idee für ein neues Feature? Lassen Sie es uns wissen, indem Sie [ein Issue erstellen](https://github.com/yamadashy/repomix/issues).
- **Pull Request einreichen**: Etwas zum Beheben oder Verbessern gefunden? Reichen Sie einen PR ein!
- **Weitersagen**: Teilen Sie Ihre Erfahrung mit Repomix in sozialen Medien, Blogs oder in Ihrer Tech-Community.
- **Repomix verwenden**: Das wertvollste Feedback kommt aus der realen Nutzung. Integrieren Sie Repomix gerne in Ihre eigenen Projekte!
- **Sponsern**: Unterstützen Sie die Entwicklung von Repomix, indem Sie [Sponsor werden](https://github.com/sponsors/yamadashy).
## Schnellstart
```bash
git clone https://github.com/yamadashy/repomix.git
cd repomix
npm install
```
## Entwicklungsbefehle
```bash
# CLI ausführen
npm run repomix
# Tests ausführen
npm run test
npm run test-coverage
# Code linting
npm run lint
```
## Code-Stil
- [Biome](https://biomejs.dev/) für Linting und Formatierung verwenden
- Dependency Injection für Testbarkeit
- Dateien unter 250 Zeilen halten
- Tests für neue Funktionen hinzufügen
## Pull-Request-Richtlinien
1. Alle Tests ausführen
2. Linting-Prüfungen bestehen
3. Dokumentation aktualisieren
4. Bestehenden Code-Stil befolgen
## Entwicklungsumgebung
### Voraussetzungen
- Node.js ≥ 20.0.0
- Git
- npm
- Docker (optional, für die Ausführung der Website oder containerisierte Entwicklung)
### Lokale Entwicklung
So richten Sie Repomix für die lokale Entwicklung ein:
```bash
# Repository klonen
git clone https://github.com/yamadashy/repomix.git
cd repomix
# Abhängigkeiten installieren
npm install
# CLI ausführen
npm run repomix
```
### Docker-Entwicklung
Sie können Repomix auch mit Docker ausführen:
```bash
# Image bauen
docker build -t repomix .
# Container ausführen
docker run -v ./:/app -it --rm repomix
```
### Projektstruktur
Das Projekt ist in folgende Verzeichnisse unterteilt:
```
src/
├── cli/ # CLI-Implementierung
├── config/ # Konfigurationsverarbeitung
├── core/ # Kernfunktionalität
│ ├── file/ # Dateiverarbeitung
│ ├── metrics/ # Metriken-Berechnung
│ ├── output/ # Ausgabegenerierung
│ ├── security/ # Sicherheitsprüfungen
├── mcp/ # MCP-Server-Integration
└── shared/ # Gemeinsame Dienstprogramme
tests/ # Tests, die die src/-Struktur widerspiegeln
website/ # Dokumentationswebsite
├── client/ # Frontend (VitePress)
└── server/ # Backend-API
```
## Website-Entwicklung
Die Repomix-Website ist mit [VitePress](https://vitepress.dev/) erstellt. So führen Sie die Website lokal aus:
```bash
# Voraussetzungen: Docker muss auf Ihrem System installiert sein
# Starten Sie den Website-Entwicklungsserver
npm run website
# Zugriff auf die Website unter http://localhost:5173/
```
Bei der Aktualisierung der Dokumentation müssen Sie nur zuerst die englische Version aktualisieren. Die Maintainer kümmern sich um die Übersetzungen in andere Sprachen.
## Release-Prozess
Für Maintainer und Mitwirkende, die am Release-Prozess interessiert sind:
1. Version aktualisieren
```bash
npm version patch # oder minor/major
```
2. Tests und Build ausführen
```bash
npm run test-coverage
npm run build
```
3. Veröffentlichen
```bash
npm publish
```
Neue Versionen werden vom Maintainer verwaltet. Wenn Sie der Meinung sind, dass eine Veröffentlichung notwendig ist, öffnen Sie ein Issue, um es zu besprechen.
## Hilfe benötigt?
- [Issue erstellen](https://github.com/yamadashy/repomix/issues)
- [Discord beitreten](https://discord.gg/wNYzTwZFku)