Was macht CLI Creator?
Router zum Erstellen und Überprüfen von produktionsreifen Python-CLI-Tools und zugehörigen Skills/Templates. Verwende ihn, um die CLI-Form zu bestimmen, die Befehlsfläche klein zu halten, die Installierbarkeit zu bewahren und Überprüfungsergebnisse durchzusetzen. Diese Skill bleibt leichtgewichtig: Lade nur die Referenzen, die du benötigst.
Wann verwenden
- Neue Python-CLI oder Befehlsbaum.
- CLI-Refaktorisierung, -Vereinfachung oder -Paketbereinigung.
- CLI-Überprüfung/-Audit, einschließlich UX, Konfiguration, Fehler, Cache und Release-Ablauf.
- Agenten-Skill, Gerüst oder Vorlage, das sich wie ein CLI-Paket verhält.
- Überprüfung der Installation, des Wheels oder des Konsolenskriptverhaltens.
CLI-Typauswahl
| Typ | Ausrichtung |
|---|---|
| Befehlserste Utility | Dünner Router, strenge Exit-Codes, JSON/Klartext-Ausgabe. |
| Konfigurationsgetriebenes Werkzeug | Konfigurationserkennung, Priorität, Reproduzierbarkeit. |
| Interaktiver Assistent | Ablauf/Zustandsmaschine, Eingabeaufforderungen, Wiederherstellung. |
| Hybride CLI | Kleiner Befehlsbaum plus wiederverwendbare Orchestrierung. |
| Performance-lastige CLI | Faule Importe, begrenzte E/A, Cache/Fortschritt. |
| Plugin-/erweiterbare CLI | Stabiler Erweiterungsvertrag und Registrierung. |
Erzwinge keine Assistentenarchitektur für ein befehlserstes Werkzeug. Erzwinge keine Ein-Skript-Form für ein wachsendes Produkt.
Kernregeln
- Bevorzuge die kleinste CLI, die die Benutzeraufgabe löst.
- Verwende den minimalen CLI/YAGNI-Pfad: Wenn das Werkzeug ein oder zwei Befehle hat, keinen dauerhaften Zustand, kein Netzwerk, keine Plugins und keine Anmeldeinformationen, halte es klein; füge kein Rich, Pydantic, platformdirs, Cache-Schichten,
doctoroder Plugin-Registrierungen hinzu, es sei denn, sie lösen ein unmittelbares Problem. - Halte Namen, Flags, Exit-Codes, Konfigurationsschlüssel und Ausgabemodi stabil.
- Mache Standardwerte nützlich und sicher.
- Trenne Routing, Domänenlogik, E/A, Konfiguration, Persistenz, Darstellung und Integrationen.
- Halte die Maschinenausgabe mit JSON- oder Klartextmodus skriptbar.
- Überprüfe, dass der README-Befehl das installierte Konsolenskript ist.
Regeln zum Laden von Referenzen
Lade nur die Referenzen, die für die Aufgabe benötigt werden:
- Erstellung oder Refaktorisierung:
references/creation-playbook.md. - Überprüfung oder Audit:
references/review-rubric.mdundreferences/pitfalls-and-solutions.md. - Implementierungsdetails, Paketierung, Sicherheit, plattformübergreifendes Verhalten, Rich-Ausgabe, Cache oder LLM-Anbieter:
references/technical-best-practices.md. - Für Skill-/Paketwartung konsultiere die Governance-Ordner im Arbeitsbereichsstammverzeichnis
skill-ir/,evals/,scripts/,reports/undregistry/, falls vorhanden. Dies sind wartungsseitige Routing-Hilfen, die nicht in einer installierten Skill-Kopie gebündelt sind.
Dupliziere diese Referenzen nicht hier. Lade sie nur, wenn die aktuelle Aufgabe sie benötigt.
Ablauf zur Erstellung neuer CLI oder Skills
- Bestimme die Produktform: Wer führt es aus, welchem Druck ist es ausgesetzt, und was muss zwischengespeichert, erinnert oder vergessen werden.
- Entwerfe die Befehlsfläche mit wenigen stabilen Befehlen und echten Beispielen.
- Wähle den kleinsten Stack, der passt.
- Typer oder Click für die meisten CLIs.
- argparse nur für winzige stdlib-freundliche Werkzeuge.
- Wähle die kleinste Architektur, die die nächsten zwei Versionen überlebt.
- Implementiere die Produktschleife: Eingabe, Validierung, Ausführung, Darstellung, Persistenz, Exit-Code, Wiederherstellungshinweis.
- Überprüfe vor der Veröffentlichung.
Beispiele für Befehlsflächen
my-cli run
my-cli init
my-cli config show
my-cli doctor
my-cli cache clear
my-cli check PFAD
my-cli fetch ABFRAGE --json
my-cli export ID --output ergebnis.md
Regeln:
- Verwende Argumente für erforderliche Domänenobjekte.
- Verwende Optionen für Modifikatoren, Ausgabemodi und optionales Verhalten.
- Stelle
--jsonoder--format jsonfür Automatisierung bereit. - Stelle
--quiet,--verboseund--debugkonsistent bereit. - Vermeide überraschende Netzwerk- oder Änderungsvorgänge in Befehlen, die schreibgeschützt klingen.
Überprüfungserwartungen
Überprüfe immer die Befehlsfläche, den Installationspfad und den Wheel-Pfad, wenn sie relevant sind:
--helpfür den Stammbefehl und jeden Befehl der obersten Ebene.- Saubere Installation in einer neuen Umgebung.
- Fehlender Konfigurations- oder Erstantrittspfad, wenn das Werkzeug eine Konfiguration hat.
- Ungültige Konfiguration oder Fehlerpfad, wenn das Werkzeug Eingaben validiert.
- Erfolgspfad plus JSON-/skriptbarer Modus, falls unterstützt.
- Cache-Aktualisierung und Cache-Löschung, wenn das Werkzeug einen Cache hat.
- Paketierungsmetadaten und Konsolenskript.
- Wheel-Installation von außerhalb des Repositorys, wenn du Installationssicherheit haben möchtest.
Verwende dieses kompakte Paket, wenn anwendbar:
uv venv /tmp/cli-audit
. /tmp/cli-audit/bin/activate
uv pip install -e .
cli-creator-skill --help
cli-creator-skill install
uv build
uv pip install dist/*.whl
python -m pytest
Überprüfungsablauf
Bei der Überprüfung einer vorhandenen CLI oder eines CLI-bezogenen Skills/Templates:
Vor der Überprüfung lesen:
references/review-rubric.mdreferences/pitfalls-and-solutions.md
Lies references/technical-best-practices.md, wenn das Audit Implementierungsdetails, Paketierung, Sicherheit, plattformübergreifendes Verhalten, Rich-Ausgabe, Caching oder LLM-Anbieter betrifft.
Dann:
- Untersuche die Repository-Form: Paketstruktur, Befehlseinstiegspunkte, Konfigurationsdateien, Tests, Doku, CI.
- Führe Hilfe aus: Stamm-
--helpund Hilfe auf Befehlsebene. - Verfolge einen erfolgreichen Befehl vom Callback über den Domänendienst zum Renderer.
- Verfolge einen Fehlerpfad und überprüfe die Fehlerqualität.
- Überprüfe die Konfigurationspriorität: Flags, Umgebungsvariablen, Projektkonfiguration, Benutzerkonfiguration, Standardwerte.
- Überprüfe die Sicherheit: Geheimnisse, Shell-Ausführung, Pfadbehandlung, unsichere Konfiguration/Plugins, Telemetrie, Subprozess-Timeouts, Abhängigkeitslieferkette.
- Überprüfe die Leistung: Startimporte, Netzwerk-Timeouts, Cache-Verhalten, Dateierkennung.
- Überprüfe die Automatisierung: Exit-Codes, JSON-Ausgabe, stdin/stdout/stderr-Trennung, Nicht-TTY-Verhalten.
- Überprüfe die Paketierung: Python-Version, Abhängigkeiten, Skripte, Wheels, README-Befehle.
- Bewerte jeden Rubrikbereich mit
references/review-rubric.md. - Gib zuerst die Ergebnisse, dann priorisierte Korrekturen zurück.
Erforderliche Audit-Ausgabe
Die Audit-Ausgabe muss diese Abschnitte in dieser Reihenfolge enthalten:
**Ergebnisse**
**Bewertungen**
| Bereich | Punktzahl | Anmerkungen |
|---|---:|---|
**Reparaturreihenfolge**
**Testlücken**
**Überprüfungsbefehle**
Wartungshinweise
- Behalte diese Skill als Router; lege Implementierungsdetails in die vier Referenzen.
- Halte die Befehlsbeispiele, Audit-Überschriften und das Überprüfungspaket mit der Paketveröffentlichung synchron.
- Für die wartungsseitige Governance verwende die Ordner
skill-ir/,evals/,scripts/,reports/undregistry/im Arbeitsbereichsstammverzeichnis, falls vorhanden; gib nicht vor, dass sie Teil der installierten Skill sind.
Wobei diese Skill hilft
- Entwerfen einer neuen Python-CLI von Grund auf.
- Überprüfen einer vorhandenen CLI auf UX, Paketierung, Fehler, Modellaufbau, Caching und Wartbarkeit.
- Strukturieren von Typer-, Click-, argparse- oder Hybridanwendungen.
- Erstellen natürlicher Multi-Turn-CLI-Abläufe, ohne dass sich Benutzer fühlen, als würden sie ein Formular ausfüllen.
- Hinzufügen von Diagnose, Cache, Profilspeicher und Erstantritt-Setup-Abläufen, wenn sie tatsächlich benötigt werden.
- Überprüfen von CLI-bezogenen Skills und Templates auf Auslöserklarheit, Referenzvollständigkeit, Befehlsvorlagen, Ausgabeverträge und Wartungsstrategie.
Entwurfsgrundlage
Diese Skill destilliert Betreibererfahrung und offizielle Dokumentationsmuster für Python-Paketierung, Typer, Click, Rich, uv, Ruff, Pydantic und LLM-Anbieterintegration. Sie bezieht keinen Code oder Anweisungen von inoffiziellen Drittanbieter-Repositorys.