version: 1 components: core: role: core paths: - internal/domain/** - internal/core/** usecases: role: usecase paths: - internal/application/usecase/** - internal/application/usecases/** - internal/usecase/** - internal/usecases/** - usecase/** - usecases/** ports: role: ports paths: - internal/application/port/** - internal/domain/repository/** adapters: role: adapter paths: - internal/infrastructure/** - internal/adapters/** - internal/ui/** - internal/cli/** entrypoints: role: entrypoint paths: - cmd/** generated: role: ignore paths: - '**/mocks/**' - '**/generated/**' - '**/*_templ.go' - '**/*_gen.go' rules: no-adapter-imports-in-core: error no-usecase-imports-in-core: error no-infra-imports-in-usecase: error no-infra-imports-in-ports: error no-entrypoint-imports-in-adapter: error no-framework-types-in-core: error no-infra-types-in-ports: error no-adapter-to-adapter-imports: warn suspicious-business-logic-in-adapter: warn no-local-fakes-for-ports: warn missing-generated-mock-for-port: warn prefer-generated-mocks: warn ruleSettings: suspicious-business-logic-in-adapter: excludePaths: - internal/ui/** - internal/cli/cmd/** - internal/cli/model/** - cmd/** externalTypes: frameworkPackages: [] adapterTypePackages: - internal/infrastructure/** - internal/adapters/** heuristics: businessLogicThreshold: 8 businessLogicMinStrongSignals: 2 businessLogicMinWeakSignals: 2 businessLogicMaxFunctionNodes: 2000 businessLogicMaxDiagnosticsPerPackage: 10 businessLogicMode: audit businessLogicMinConfidence: medium excludeTestFiles: true businessKeywords: - Validate - Authorize - Compute - Calculate - Apply - Transition - Can - Detect - Migrate - Resolve - Profile - Score - Ranking - Restore - Purge - Update - Performance - Selected mocking: generatedMockPaths: - internal/mocks/** - internal/application/mocks/** - internal/application/port/mocks/** - internal/domain/repository/mocks/** generatedMockNamePatterns: - Mock{{Interface}} - '{{Interface}}Mock'