.semgrep.yml 752 B

12345678910111213
  1. rules:
  2. - id: ban-raw-primitive-types
  3. languages: [go]
  4. message: "Алярм! Использование встроенных типов запрещено. Используйте контрактные обертки из lev0/contract."
  5. severity: ERROR
  6. patterns:
  7. - pattern: func $F(..., $ARG $TYPE, ...) { ... }
  8. - metavariable-regex:
  9. metavariable: $TYPE
  10. regex: ^(bool|byte|uint8|int|float64|string)$ # Список запрещённых примитивов
  11. paths:
  12. include: ["cmd/**", "lev0/**", "lev1/**", "lev2/**", "lev3/**", "memory/**"] # Применяем только к бизнес-логике
  13. exclude: ["vendor/**", "doc/**"] # Исключаем сами обертки