Add 16 Kody Rules: React/TS + FastAPI/SQLAlchemy/Alembic #2

Merged
jarjarthidev merged 1 commit from add-react-fastapi-rules into main 2026-08-14 18:13:22 +00:00
jarjarthidev commented 2026-08-14 18:12:56 +00:00 (Migrated from github.com)

Contenu

16 règles de revue orientées stack React/TypeScript + FastAPI/SQLAlchemy/Alembic, au format centralized-config (.kody-rules/review/*.yml).

Sécurité (critical)

  • Aucun secret en dur (backend + variables VITE_*/REACT_APP_*)
  • SQL brute concaténée interdite (paramètres liés / ORM)
  • Endpoints protégés par auth + authorization au niveau objet
  • XSS : pas de dangerouslySetInnerHTML sans DOMPurify

Backend FastAPI / SQLAlchemy / Alembic

  • Validation Pydantic systématique (+ mass assignment)
  • Session sync interdite dans l'async (et inverse)
  • N+1 : selectinload/joinedload
  • Migrations Alembic réversibles et non destructives
  • except précis + log ; pas de blocking I/O dans l'async

Front React/TS

  • fetch centralisé (couche API), pas de any, useEffect cleanup+deps, a11y, optional chaining

Transverse

  • Nouveau endpoint/hook ⇒ test dans le même PR

Format conforme aux 9 règles existantes (title/rule/severity/scope/path(s)/examples/inheritance). Les fichiers sources markdown (.kody/rules/*.md) sont conservés dans le workspace local pour réutilisation par repo.

## Contenu 16 règles de revue orientées stack **React/TypeScript + FastAPI/SQLAlchemy/Alembic**, au format centralized-config (`.kody-rules/review/*.yml`). ### Sécurité (critical) - Aucun secret en dur (backend + variables `VITE_*/REACT_APP_*`) - SQL brute concaténée interdite (paramètres liés / ORM) - Endpoints protégés par auth + authorization au niveau objet - XSS : pas de `dangerouslySetInnerHTML` sans DOMPurify ### Backend FastAPI / SQLAlchemy / Alembic - Validation Pydantic systématique (+ mass assignment) - Session sync interdite dans l'async (et inverse) - N+1 : selectinload/joinedload - Migrations Alembic réversibles et non destructives - except précis + log ; pas de blocking I/O dans l'async ### Front React/TS - fetch centralisé (couche API), pas de `any`, useEffect cleanup+deps, a11y, optional chaining ### Transverse - Nouveau endpoint/hook ⇒ test dans le même PR Format conforme aux 9 règles existantes (`title/rule/severity/scope/path(s)/examples/inheritance`). Les fichiers sources markdown (`.kody/rules/*.md`) sont conservés dans le workspace local pour réutilisation par repo.
Sign in to join this conversation.
No description provided.