sonar.projectKey=TREK sonar.projectName=TREK sonar.sourceEncoding=UTF-8 # Sources — one entry per workspace package (plugin-sdk is standalone but lives in-repo) sonar.sources=client/src,server/src,shared/src,nest-mcp/src,plugin-sdk/src # Tests — dedicated test dirs per package, plus co-located client tests in src sonar.tests=server/tests,client/tests,client/e2e,client/src,nest-mcp/tests,plugin-sdk/test sonar.test.inclusions=\ server/tests/**/*.test.ts,\ client/tests/**/*.test.ts,\ client/tests/**/*.test.tsx,\ client/e2e/**/*.spec.ts,\ client/src/**/*.test.ts,\ client/src/**/*.test.tsx,\ nest-mcp/tests/**/*.test.ts,\ plugin-sdk/test/**/*.test.ts # Keep generated output and test files out of source analysis sonar.exclusions=\ **/node_modules/**,\ **/dist/**,\ **/build/**,\ **/coverage/**,\ client/dev-dist/**,\ **/*.test.ts,\ **/*.test.tsx,\ **/*.d.ts # Coverage — lcov paths relative to repo root. # shared/ has no tests yet and plugin-sdk doesn't emit lcov; see coverage exclusions. sonar.javascript.lcov.reportPaths=\ server/coverage/lcov.info,\ client/coverage/lcov.info,\ nest-mcp/coverage/lcov.info # Infrastructure/bootstrap files and packages without coverage instrumentation sonar.coverage.exclusions=\ server/src/index.ts,\ server/src/config.ts,\ server/src/scheduler.ts,\ server/src/db/database.ts,\ server/src/db/migrations.ts,\ server/src/db/seeds.ts,\ server/src/demo/**,\ server/src/nest/plugins/runtime/plugin-host-entry.ts,\ client/src/main.tsx,\ client/src/types.ts,\ shared/src/**,\ plugin-sdk/src/** # Locale files are large near-identical literal objects — keep them out of duplication metrics sonar.cpd.exclusions=shared/src/i18n/**