Escribir reglas de arquitectura (arch.yaml)
Defines tu arquitectura en un archivo arch.yaml en la raíz de tu repositorio. AppArch aplica estas reglas en cada PR/MR.
Estructura básica
Sección titulada «Estructura básica»version: 2style: hexagonal # clean | hexagonal | layered | custom
layers: - { name: presentation, paths: ["src/ui/**", "apps/mobile/**"] } - { name: application, paths: ["src/use-cases/**"] } - { name: domain, paths: ["src/domain/**"] } - { name: infrastructure, paths: ["src/infra/**"] }
rules: - id: RULE-014 forbid: "presentation → infrastructure" - id: RULE-002 forbid: "domain → *" except: ["std", "shared/types"] - id: RULE-031 max_module_loc: 2000- layers - los nombres de las capas y qué rutas pertenecen a cada capa.
- rules - cada regla tiene un
id;forbiddefine una dependencia direccional ymax_module_locdefine un umbral de tamaño.
Empezar desde plantillas
Sección titulada «Empezar desde plantillas»En lugar de escribir desde cero, puedes elegir una plantilla lista para usar: Clean Architecture, Hexagonal, Layered, DDD, Feature-Sliced Design y más. En el panel, usa Reglas → Empezar desde plantilla para generar un borrador de arch.yaml y añadirlo a tu repositorio.
Gestión de falsos positivos
Sección titulada «Gestión de falsos positivos»Cada regla tiene dos mecanismos de exclusión:
except- exime rutas/paquetes concretos en la definición de la regla.ignore- silencia hallazgos individuales.
Puedes hacer clic en “Aceptar” con un solo toque desde el comentario del PR; ArchPilot recuerda el contexto de la regla en la siguiente revisión.
Anulación por proyecto/workspace
Sección titulada «Anulación por proyecto/workspace»Puedes activar o desactivar reglas por proyecto o por workspace en el panel. Una regla que desactivas en el panel nunca se envía al collector - no produce hallazgos innecesarios. Detalles: Activar ArchPilot.