Files
_Assistant_Lead_Tech/mcp/leadtech_bmad_mcp/config/gates.yaml
2026-03-31 16:12:42 +02:00

84 lines
2.3 KiB
YAML

labels:
- "Contracts-First / Zod-Infer / No-DTO"
- "Format erreur API: { error: { code, message, requestId } }"
- "Sessions: expiresAt obligatoire et filtre en query"
- "Navigation reactive useEffect"
- "NestJS guards: AuthGuard en premier"
validate_plan:
- id: backend_contracts
domains: [backend]
required_any:
- "zod|z\\.object|contracts?[-_]first|shared[-_]contract"
actions:
- target: must_do
message: "Ajouter explicitement la strategie contracts-first / Zod."
- target: blocking_issues
message: "Plan backend sans reference aux contrats partages."
strict_only: true
- id: backend_request_id
domains: [backend]
if_any:
- "\\berrors?\\b|\\berreurs?\\b|\\bexceptions?\\b"
required_any:
- "request[_-]?id"
actions:
- target: should_do
message: "Ajouter la normalisation d'erreur API avec requestId."
- id: test_strategy
required_any:
- "test|spec"
actions:
- target: must_do
message: "Ajouter une strategie de test (unit/integration/e2e)."
- id: parallel_dependencies
if_any:
- "parallel"
required_any:
- "depends[-_]on|can[-_]run[-_]with"
actions:
- target: red_flags
message: "Parallel mentionne sans clarifier Depends-on/Can-run-with."
validate_patch:
- id: backend_session_expires_at
domains: [backend]
if_any:
- "sessions?"
required_any:
- "expires[_-]?at"
actions:
- target: blocking_issues
message: "Session modifiee sans expiresAt visible dans le diff."
- id: backend_request_id
domains: [backend]
if_any:
- "\\berrors?\\b|\\berreurs?\\b|\\bexceptions?\\b"
required_any:
- "request[_-]?id"
actions:
- target: must_do
message: "Verifier le format erreur API standard avec requestId."
- id: backend_auth_guard
domains: [backend]
if_any:
- "guard"
required_any:
- "auth[_\\s-]?guard|jwtauthguard"
actions:
- target: red_flags
message: "Usage de guard sans trace explicite d'ordre AuthGuard en premier."
- id: tests_visible_in_diff
required_any:
- "test|spec|describe\\s*\\(|it\\s*\\(|expect\\s*\\("
actions:
- target: should_do
message: "Aucun test visible dans le diff: verifier couverture manuelle."
strict_only: true