| name | typescript-strict-quality |
| description | Nutzen bei jeder TypeScript-Implementierung und jedem TypeScript-Review. Erzwingt JSDoc inkl. aller Parameter, modernes TypeScript, verbietet any und verlangt vollstaendige explizite Typkonvertierung bei JSON/API-Daten inklusive professioneller Fehlerbehandlung. |
ziel:typescript_qualitaet_strikt_absichern
scope:alle_ts_tsx_dateien
regel_1:jsdoc_verpflichtend_fuer_alle_exportierten_funktionen_methoden_klassen_und_komplexe_interne_funktionen
regel_2:jsdoc_muss_alle_parameter_mit_bedeutung_typannahme_und_rueckgabe_beschreiben
regel_3:modernes_typescript_nutzen_union_literal_discriminated_union_satisfies_unknown_type_predicates
regel_4:any_ist_verboten_keine_impliziten_oder_expliziten_any_typen
regel_5:jeder_unklare_typ_ist_sofort_in_klaren_domaintyp_zu_konvertieren
regel_6:api_json_daten_nie_direkt_im_code_weiterreichen_immer_vorher_parsen_validieren_transformieren
regel_7:alle_konvertierungen_muessen_explizit_und_vollstaendig_sein_keine_teilvalidierung
regel_8:runtime_validierung_fuer_externe_daten_verpflichtend_zb_type_guards_oder_schema_validierung
regel_9:fehlerbehandlung_immer_vollstaendig_professionell_und_kontextreich
regel_10:fehler_nicht_stumm_schlucken_keine_leeren_catch_bloecke
regel_11:bei_async_code_immer_error_pfade_inklusive_timeout_und_unexpected_payload_beruecksichtigen
regel_12:bei_fehlender_datenqualitaet_frueh_fehlschlagen_mit_praeziser_fehlernachricht
regel_13:typescript_linter_anmerkungen_und_findings_sind_strikte_blocker_und_muemssen_vollstaendig_behoben_werden
regel_14:bei_jeder_gemeldeten_lint_meldung_sofort_alle_lint_fehler_vollstaendig_beheben_bevor_irgendeine_weitere_umsetzung_erfolgt
regel_15:alle_environment_und_problems_meldungen_zb_get_errors_compiler_language_server_sind_strikte_blocker_und_muemssen_sofort_vollstaendig_behoben_werden
verbote_1:kein_any
verbote_2:kein_as_unknown_as_typ_trick_ohne_valide_pruefung
verbote_3:kein_blindes_type_assertion_casting_von_api_payloads
verbote_4:kein_weiterreichen_unvalidierter_json_strukturen
verbote_5:keine_incomplete_error_handling_patterns
json_konvertierung_1:input_unknown_oder_raw_json
json_konvertierung_2:struktur_pruefen_feld_fuer_feld
json_konvertierung_3:typen_pruefen_feld_fuer_feld
json_konvertierung_4:wertebereich_und_format_pruefen
json_konvertierung_5:vollstaendig_in_domaintyp_transformieren
json_konvertierung_6:bei_abweichung_konkreten_fehler_werfen_oder_error_result_liefern
error_standard_1:klare_fehlerklassen_oder_discriminated_error_types
error_standard_2:kontext_mitliefern_endpoint_operation_identifier
error_standard_3:recoverable_vs_non_recoverable_trennen
error_standard_4:caller_bekommt_immer_entscheidbare_fehlerinformation
checkliste_1:existiert_jsdoc_mit_allem_parametern
checkliste_2:existiert_kein_any
checkliste_3:sind_api_daten_vollstaendig_validiert_und_transformiert
checkliste_4:sind_fehlerpfade_vollstaendig_und_professionell
checkliste_5:sind_alle_linter_anmerkungen_strikt_aufgeloest
checkliste_6:sind_alle_gemeldeten_lint_fehler_sofort_und_vollstaendig_behoben_worden
checkliste_7:sind_alle_environment_und_problems_meldungen_vollstaendig_behoben_worden
checkliste_8:enthaelt_der_abschluss_eine_explizite_bestaetigung_dass_keine_environment_oder_problems_meldung_offen_ist_oder_ein_blockerhinweis