{ "version": "1.0", "rules": { "fileTypes": { "typescript": ["ts", "tsx"], "javascript": ["js", "jsx", "mjs", "cjs"], "json": ["json"], "markdown": ["md"], "css": ["css"], "dockerfile": ["Dockerfile"] }, "formatting": { "typescript": { "indentSize": 2, "useTabs": false, "maxLineLength": 100, "semicolons": true, "quotes": "single", "trailingComma": "es5" }, "javascript": { "indentSize": 2, "useTabs": false, "maxLineLength": 100, "semicolons": true, "quotes": "single", "trailingComma": "es5" } }, "linting": { "typescript": { "noUnusedVariables": true, "noImplicitAny": true, "strictNullChecks": true, "noConsole": "warn" } }, "dependencies": { "nodeVersion": ">=18.18.0", "packageManager": "pnpm", "requiredFiles": ["package.json", "tsconfig.json", ".env.example"] }, "git": { "ignoredPaths": ["node_modules", "build", ".env", ".env.local"], "protectedBranches": ["main", "master"] }, "testing": { "framework": "vitest", "coverage": { "statements": 70, "branches": 70, "functions": 70, "lines": 70 } }, "security": { "secrets": { "patterns": ["API_KEY", "SECRET", "PASSWORD", "TOKEN"], "locations": [".env", ".env.local"] } }, "commands": { "dev": "pnpm dev", "build": "pnpm build", "test": "pnpm test", "lint": "pnpm lint", "typecheck": "pnpm typecheck" }, "codeQuality": { "imports": { "validateImports": true, "checkPackageAvailability": true, "requireExactVersions": true, "preventUnusedImports": true }, "fileManagement": { "preventUnnecessaryFiles": true, "requireFileJustification": true, "checkExistingImplementations": true }, "dependencies": { "autoInstallMissing": false, "validateVersionCompatibility": true, "checkPackageJson": true } }, "uiStandards": { "styling": { "framework": "tailwind", "preferredIconSets": ["@iconify-json/ph", "@iconify-json/svg-spinners"], "colorScheme": { "useSystemPreference": true, "supportDarkMode": true }, "components": { "preferModern": true, "accessibility": true, "responsive": true } } } } }