From claudient
Tightens weak or missing type annotations in a given file by replacing broad types (any, object, interface{}), adding missing annotations, and fixing downstream type errors.
How this command is triggered — by the user, by Claude, or both
Slash command
/claudient:tighten-types [file]refactor/de/The summary Claude sees in its command listing — used to decide when to auto-load this command
Verstärke die Typen in $ARGUMENTS.
1. Lies die Datei. Identifiziere jede Stelle, an der Typen schwächer sind, als sie sein sollten:
- `any` in TypeScript — ersetze durch den engsten korrekten Typ, Union oder Generic
- Nicht typisierte Funktionsparameter oder Rückgabewerte
- Übermäßig breite Typen (`object`, `Record<string, any>`, `dict`, `interface{}`), wenn eine konkrete Form bekannt ist
- Optional (`T | undefined`, `T | None`) verwendet, wo der Wert immer vorhanden ist
- Nicht optional verwendet, wo der Wert legitim abwesend sein kann — füge optional hinzu und handle es be...Verstärke die Typen in $ARGUMENTS.
Lies die Datei. Identifiziere jede Stelle, an der Typen schwächer sind, als sie sein sollten:
any in TypeScript — ersetze durch den engsten korrekten Typ, Union oder Genericobject, Record<string, any>, dict, interface{}), wenn eine konkrete Form bekannt istT | undefined, T | None) verwendet, wo der Wert immer vorhanden iststring- oder number-Literale ersetzen könntenas Casts / Type Assertions, die durch ordnungsgemäße Typ-Narrowing oder Guards ersetzt werden könntenFür jeden gefundenen schwachen Typ:
Ändere nicht das Laufzeitverhalten. Nur Typänderungen.
Füge nicht einfach Typen hinzu — wenn der Typ einer lokalen Variable offensichtlich aus einer Literal-Zuordnung ist und die Sprache ihn korrekt inferiert, lasse die Inferenz unverändert.
Wenn der Rückgabetyp einer Funktion derzeit inferiert wird und die Inferenz korrekt und stabil ist, lasse ihn. Annotiere nur, wenn der inferierte Typ übermäßig breit ist oder wahrscheinlich abweicht.
Nach allen Änderungen verifiziere konzeptionell, dass die Datei den Type-Checker des Projekts bestehen würde (tsc --noEmit, mypy, cargo check, usw.). Wenn du nicht verifizieren kannst, kennzeichne jede Änderung, die einen Typfehler einführen könnte.
Ausgabe: Liste aller verstärkten Typen, ursprünglicher Typ, neuer Typ und Ort.
npx claudepluginhub claudient/claudient --plugin claudient-personas