← ClaudeAtlas

guard-src-drift-commandslisted

Drift-generierter Guard fuer `src/drift/commands`. Aktiv bei Signalen: EDS, PFS. Konfidenz: 0.89. Verwende diesen Skill wenn du Aenderungen an `src/drift/commands` planst oder wiederholte Drift-Findings (EDS, PFS) fuer dieses Modul bearbeitest.
mick-gsk/drift · ★ 14 · Code & Development · score 71
Install: claude install-skill mick-gsk/drift
# Guard: `src/drift/commands` `src/drift/commands` enthaelt die CLI-Command-Handler. Jeder Subbefehl (`analyze`, `verify`, `serve`, `calibrate`, ...) hat eine eigene Datei. EDS entsteht wenn Commands direkt in `pipeline.py` oder `Analyzer()` einsteigen. PFS entsteht wenn Commands inkonsistente Argument-Parsing- oder Output-Handling-Muster verwenden. **Konfidenz: 0.89** — EDS und PFS treten regelmaessig auf, oft nach Features die Shortcuts einbauen. ## When To Use - Du fuegest einen neuen CLI-Subbefehl hinzu - Du aenderst wie ein bestehender Befehl Argumente verarbeitet oder Ergebnisse ausgibt - Du aenderst wie Exit-Codes gesetzt werden - Drift meldet EDS oder PFS fuer eine Datei in `src/drift/commands/` **Nicht benutzen** fuer Aenderungen an der CLI-Definition in `cli.py` — das ist ein anderer Scope. ## Warum dieses Modul kritisch ist | Signal | Ursache in `commands/` | |--------|------------------------| | **EDS** | Command-Handler die direkt `pipeline.run()`, `Analyzer()` oder `scoring/`-Module aufrufen — Command sollte ausschliesslich die entsprechende `api/`-Funktion aufrufen | | **PFS** | Inkonsistente Exit-Code-Logik: manche Commands nutzen `sys.exit(1)`, andere `raise SystemExit`, andere geben `1` zurueck | ## Core Rules 1. **Commands delegieren an `api/`** — ein Command-Handler tut folgendes: Argumente lesen → `api.function(...)` aufrufen → Ergebnis mit `output/` rendern → Exit-Code setzen. Kein direkter Aufruf von `pipeline.py` oder `Analyzer()`. 2. **Konsi