DCTP enables efficient transfer of AI-generated code using delta operations instead of sending complete files for each modification. Features include: - Parser for DCTP control commands (NEW, DELETE, INSERT_AFTER, REPLACE, RENUMBER) - Line-numbered code with language-specific comment formats - Backup/Undo system with session management - Diff generation for preview functionality - CustomTkinter GUI with project management, preview, and diff views
3.5 KiB
DCTP - Delta Code Transfer Protocol
Ein Tool um KI-generierten Code effizient in lokale Dateien zu uebertragen. Statt bei jeder Korrektur den kompletten Code neu zu senden, werden nur Aenderungen (Deltas) uebertragen.
Das Problem
Claude generiert 500 Zeilen Code. Eine kleine Korrektur = nochmal 500 Zeilen. Verschwendung.
Die Loesung
Zeilennummerierter Code + Steueranweisungen fuer gezielte Aenderungen.
Installation
# Requirements installieren
pip install -r requirements.txt
# GUI starten
python dctp_gui.py
Schnellstart
1. Projektverzeichnis waehlen
Klicke auf "Waehlen" und waehle dein Projektverzeichnis.
2. KI-Output einfuegen
Kopiere den DCTP-formatierten Output aus deinem Claude-Chat in das Input-Feld.
3. Analysieren
Klicke "Analysieren" um eine Vorschau der Operationen zu sehen.
4. Ausfuehren
Klicke "Ausfuehren" um die Aenderungen auf deine Dateien anzuwenden.
DCTP-Format
Neue Datei erstellen
###FILE:src/calculator.py
###NEW
def add(a, b): #Z1
return a + b #Z2
###END
Zeilen ersetzen
###FILE:src/calculator.py
###REPLACE:Z1-Z2
def add(a: int, b: int) -> int: #Z1
"""Addiert zwei Zahlen.""" #Z2
return a + b #Z3
###END
###RENUMBER
Zeilen einfuegen
###FILE:src/calculator.py
###INSERT_AFTER:Z2
#Z3
def subtract(a, b): #Z4
return a - b #Z5
###END
###RENUMBER
Zeilen loeschen
###FILE:src/calculator.py
###DELETE:Z10-Z15
###RENUMBER
Zeilennummern-Format
Die Zeilennummern werden automatisch entsprechend der Programmiersprache formatiert:
| Sprache | Format | Beispiel |
|---|---|---|
| Python | #Z1 |
code #Z1 |
| JavaScript | //Z1 |
code //Z1 |
| HTML | <!--Z1--> |
code <!--Z1--> |
| CSS | /*Z1*/ |
code /*Z1*/ |
| SQL | --Z1 |
code --Z1 |
Befehle
| Befehl | Beschreibung |
|---|---|
###FILE:pfad |
Zieldatei angeben |
###NEW |
Neue Datei erstellen |
###DELETE:Z5-Z12 |
Zeilen loeschen |
###INSERT_AFTER:Z5 |
Nach Zeile einfuegen |
###REPLACE:Z5-Z8 |
Zeilen ersetzen |
###END |
Block beenden |
###RENUMBER |
Zeilennummern aktualisieren |
###CHECKSUM:hash |
Datei-Hash validieren |
Features
- Vorschau: Zeigt was passieren wird, bevor es ausgefuehrt wird
- Diff-Ansicht: Zeigt Aenderungen farbig markiert (alt vs neu)
- Undo: Stellt den letzten Zustand wieder her
- Backup: Automatische Backups vor jeder Aenderung
- Multi-File: Mehrere Dateien in einem Durchgang bearbeiten
- Checksum: Optionale Validierung gegen externe Aenderungen
Einstellungen
- Projektpfad: Standard-Projektverzeichnis
- Backup-Verzeichnis: Wo Backups gespeichert werden
- Auto-Renumber: Zeilennummern automatisch aktualisieren
- Checksum-Validierung: Externe Aenderungen erkennen
- Theme: Hell oder dunkel
Claude-Integration
Kopiere den Inhalt von CLAUDE.md in deine Claude-Chats (als Custom Instructions oder am Anfang des Gespraechs), damit Claude im DCTP-Format antwortet.
Architektur
dctp/
├── dctp_gui.py # Hauptfenster (CustomTkinter)
├── dctp_parser.py # Core-Logik: parse Steueranweisungen
├── dctp_executor.py # Fuehrt Operationen aus
├── dctp_backup.py # Undo/Backup-Verwaltung
├── dctp_diff.py # Diff-Berechnung fuer Vorschau
├── requirements.txt # Dependencies
├── CLAUDE.md # Anweisung fuer KI
└── README.md # Diese Datei
Lizenz
MIT License