- Arnsberg
- https://0xMax42.io/
- Joined on
2025-04-18
Block a user
clipcode (0.4.0)
Published 2025-07-04 11:20:12 +02:00 by maxp
Installation
pip install --index-url --extra-index-url https://pypi.org/ clipcode
About this package
Kompaktes CLI-Tool zur Extraktion von Quellcodedateien in Markdown-kompatibler Struktur für GPT-Prompts. Exportiert rekursiv Codeblöcke ins Clipboard – ideal für ChatGPT-Analysen.
📋 clipcode
clipcode ist ein minimalistisches, aber leistungsfähiges CLI-Tool zur Extraktion von Quellcodedateien in ein Markdown-kompatibles Format – ideal zur Verwendung in Prompts für ChatGPT & Co. Es exportiert rekursiv Dateien mit bestimmten Endungen und kopiert sie als sauber strukturierte Markdown-Datei direkt in die Zwischenablage.
🚀 Features
- 🔎 Rekursive Suche nach Quelldateien anhand beliebiger Endungen
- 📃 Ausgabe als Markdown mit Syntax-Highlighting (z. B.
python
,bash
) - 🔹 Kopiert die formatierte Ausgabe direkt ins Clipboard (Wayland via
wl-copy
) - ✨ Ideal zur Prompt-Erzeugung für LLMs wie ChatGPT / GPT-4o
- 🚀 Extrem schnell, keine Abhängigkeiten außerhalb der Standardbibliothek
- 🚫 Intelligente .gitignore-Unterstützung – respektiert automatisch .gitignore-Dateien
- 🔒 Automatischer .git-Ausschluss – .git-Ordner werden immer ausgeschlossen
- ⚙️ Konfigurierbar – gitignore-Respekt kann deaktiviert werden
⚙️ Installation
📦 Installation (empfohlen)
poetry install
poetry run clipcode ./src py ts sh
oder global installieren (dev)
poetry build
pip install dist/clipcode-*.whl
clipcode ./src py ts sh
🔀 Verwendung
clipcode [optionen] <pfad> [<endung> ...]
Grundlegende Beispiele
# Alle Python- und TypeScript-Dateien
clipcode ./src py ts
# Alle Dateien (respektiert .gitignore)
clipcode ./src
# Spezifische Dateitypen mit .gitignore-Respekt (Standard)
clipcode ./src py ts sh toml
.gitignore-Optionen
# Standard: .gitignore wird respektiert
clipcode ./src py ts
# Explizit .gitignore respektieren
clipcode --respect-gitignore ./src py ts
# .gitignore ignorieren (nur .git-Ordner wird ausgeschlossen)
clipcode --no-respect-gitignore ./src py ts
Ergebnis (im Clipboard):
## Projektdateien
### ./src/main.py
```python
# ... dein Code hier ...
```
🚫 .gitignore-Unterstützung
clipcode respektiert standardmäßig .gitignore
-Dateien und schließt entsprechende Dateien automatisch aus der Ausgabe aus.
Unterstützte .gitignore-Features:
- ✅ Wildcards:
*.log
,*.tmp
,test_*
- ✅ Verzeichnis-Patterns:
__pycache__/
,node_modules/
- ✅ Pfad-spezifische Patterns:
src/*.tmp
,/build
- ✅ Negation:
!important.log
(Ausnahmen definieren) - ✅ Kommentare:
# Dies ist ein Kommentar
- ✅ Hierarchische .gitignore: Unterstützt mehrere .gitignore-Dateien in der Verzeichnisstruktur
Immer ausgeschlossen:
- 🔒
.git/
Ordner (unabhängig von Optionen) - 📄
.gitignore
Dateien selbst
Beispiel .gitignore:
# Logs
*.log
debug.txt
# Compiled files
__pycache__/
*.pyc
*.pyo
# Build directories
/build
/dist
# IDE files
.vscode/
.idea/
# Ausnahme für wichtige Dateien
!important.log
📁 Projektstruktur
clipcode/
├── cli.py # Argument-Parsing, Einstiegspunkt
├── exporter.py # Clipboard-Export und Markdown-Formatierung
├── file_utils.py # Dateisuche und Inhaltseinlesung
├── gitignore_utils.py # .gitignore-Parser und Filterlogik
├── syntax.py # Zuordnung von Dateiendungen zu Markdown-Sprachen
├── __main__.py # Poetry CLI Entry Point
└── __init__.py
💡 Hinweise
- Clipboard-Funktion basiert aktuell auf
wl-copy
(Wayland) - Weitere Clipboard-Backends sind leicht integrierbar
- Vollständige .gitignore-Unterstützung implementiert
- Alle Tests bestehen erfolgreich (22 umfassende Tests)
✍️ Lizenz
MIT License — siehe LICENSE
📊 Autor
Max P. • 0xMax42.io
Requirements
Requires Python: >=3.11
Details
2025-07-04 11:20:12 +02:00
Assets (2)
Versions (7)
View all
PyPI
3
Max P.
14 KiB
clipcode-0.4.0-py3-none-any.whl
8.4 KiB
clipcode-0.4.0.tar.gz
6.1 KiB
0.5.0.dev202507211311
2025-07-21
0.5.0
2025-07-21
0.4.0
2025-07-04
0.3.0
2025-06-20
0.2.0
2025-06-14