{"_id":"@coderabbitai/config","_rev":"5-9335f5ec50c5cc586511c6e36bbb205f","name":"@coderabbitai/config","dist-tags":{"next":"1.1.2","latest":"1.1.2"},"versions":{"0.1.0":{"name":"@coderabbitai/config","version":"0.1.0","keywords":["code-review","coderabbit","configuration"],"author":{"url":"https://coderabbit.ai","name":"CodeRabbit","email":"support@coderabbit.ai"},"license":"Apache-2.0","_id":"@coderabbitai/config@0.1.0","maintainers":[{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},{"name":"guritfaq","email":"gur@coderabbit.ai"},{"name":"kartik-coderabbit","email":"kartik@coderabbit.ai"},{"name":"rohit121","email":"rohit@coderabbit.ai"}],"homepage":"https://docs.coderabbit.ai/guides/configure-coderabbit","bugs":{"email":"support@coderabbit.ai"},"dist":{"shasum":"337112de51c81895bdb5361a91421b6196ecbb9d","tarball":"https://registry.npmjs.org/@coderabbitai/config/-/config-0.1.0.tgz","fileCount":12,"integrity":"sha512-teawNDU6xq+zzrUeHb8M03p4TBsQgd0yGNWWfXCcpqf6XJiCH5XXb1KwqLkyCrSjGMJTRIHqtzv0DMCdmKaryA==","signatures":[{"sig":"MEQCIEPt0B98tKQ4nQKmjEjg5Nta83yyGrVRDqfpi3FWNEodAiBhGw9b9fBp23NIQWHEwiDq8YrwtGehyWICTnNJ9TKJEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129223},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json packages/config && pnpm run format:check","test":"mkdir -p .turbo/test-results && echo \"No tests configured yet\" && touch .turbo/test-results/no-tests.ok","build":"rm -rf dist tsconfig.tsbuildinfo && tsgo && node scripts/run-dts-bundle-generator.cjs --config dts-bundle-generator.config.cjs","clean":"rm -rf .turbo dist docs node_modules tsconfig.tsbuildinfo","format":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json packages/config","lint:fix":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json --fix packages/config --quiet && pnpm run format","format:check":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json --check packages/config"},"_npmUser":{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},"repository":"github:coderabbitai/mono","description":"Programmatic (TypeScript) authoring SDK for CodeRabbit configuration.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"4.5.4"},"publishConfig":{"tag":"next","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","dts-bundle-generator":"9.5.1","@coderabbitai/schemas":"workspace:*","@coderabbitai/mono-config":"workspace:*","@typescript/native-preview":"7.0.0-dev.20260403.1"},"_npmOperationalInternal":{"tmp":"tmp/config_0.1.0_1789427745257_0.48013133038468436","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@coderabbitai/config","version":"1.0.0","keywords":["code-review","coderabbit","configuration"],"author":{"url":"https://coderabbit.ai","name":"CodeRabbit","email":"support@coderabbit.ai"},"license":"Apache-2.0","_id":"@coderabbitai/config@1.0.0","maintainers":[{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},{"name":"guritfaq","email":"gur@coderabbit.ai"},{"name":"kartik-coderabbit","email":"kartik@coderabbit.ai"},{"name":"rohit121","email":"rohit@coderabbit.ai"}],"homepage":"https://docs.coderabbit.ai/guides/configure-coderabbit","bugs":{"email":"support@coderabbit.ai"},"dist":{"shasum":"32d22164514701f2c3aece31a075f330d6b3234a","tarball":"https://registry.npmjs.org/@coderabbitai/config/-/config-1.0.0.tgz","fileCount":12,"integrity":"sha512-kT8BLsX8Djp4rw1o5cZeBhUy8gexYx3zH3fsi/upAPj4rDvvI5vdh/XAy8Rfoz84dY1cuTNply6F4E6Ep2fDCQ==","signatures":[{"sig":"MEQCIH8yy8j+yBI3jPpJt+PUdNDVUNnTD1DlXk3/a1w/7kbHAiBnbfyWyx692TDEElhb5+tigUvuHUIRfQQQNplppf+3Dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129406},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json packages/config && pnpm run format:check","test":"mkdir -p .turbo/test-results && echo \"No tests configured yet\" && touch .turbo/test-results/no-tests.ok","build":"rm -rf dist tsconfig.tsbuildinfo && tsgo && node scripts/run-dts-bundle-generator.cjs --config dts-bundle-generator.config.cjs","clean":"rm -rf .turbo dist docs node_modules tsconfig.tsbuildinfo","format":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json packages/config","lint:fix":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json --fix packages/config --quiet && pnpm run format","format:check":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json --check packages/config"},"_npmUser":{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},"repository":"github:coderabbitai/mono","description":"Programmatic (TypeScript) authoring SDK for CodeRabbit configuration.","directories":{},"dependencies":{"zod":"4.5.4"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","dts-bundle-generator":"9.5.1","@coderabbitai/schemas":"workspace:*","@coderabbitai/mono-config":"workspace:*","@typescript/native-preview":"7.0.0-dev.20260403.1"},"_npmOperationalInternal":{"tmp":"tmp/config_1.0.0_1789502841173_0.16881668176955","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@coderabbitai/config","version":"1.1.0","keywords":["code-review","coderabbit","configuration"],"author":{"url":"https://coderabbit.ai","name":"CodeRabbit","email":"support@coderabbit.ai"},"license":"Apache-2.0","_id":"@coderabbitai/config@1.1.0","maintainers":[{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},{"name":"guritfaq","email":"gur@coderabbit.ai"},{"name":"kartik-coderabbit","email":"kartik@coderabbit.ai"},{"name":"rohit121","email":"rohit@coderabbit.ai"}],"homepage":"https://docs.coderabbit.ai/guides/configure-coderabbit","bugs":{"email":"support@coderabbit.ai"},"dist":{"shasum":"cb7896f7c5434bbc817bed5c41f0f365410f8008","tarball":"https://registry.npmjs.org/@coderabbitai/config/-/config-1.1.0.tgz","fileCount":12,"integrity":"sha512-NvQKaoOD7fWb7lMKhid57ABVlIBSczw/S+ePk5YvoPuWdrDkyY+PWdqVtq3TRq7VY8f3SNRlMFjmAtXVab66pw==","signatures":[{"sig":"MEUCIQCvhxzJxq+cp1+qFouU8RoTpMGcHS/pfBU9aCVmKmFK0AIgXYGVL2vztmjcV9xwFIn0u9hdmjVzYshD8D5HO7a5svI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCIiNmYeTtowqC1g+R64Ztqdsl3WP1enviU49UdhwPxUQIgWhDnIjKSX5ZFIgnXKtTSkhImIpxPyN7g4SKhor+FLFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149088},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json packages/config && pnpm run format:check","test":"mkdir -p .turbo/test-results && echo \"No tests configured yet\" && touch .turbo/test-results/no-tests.ok","build":"rm -rf dist tsconfig.tsbuildinfo && node node_modules/typescript-native/bin/tsc && node scripts/run-dts-bundle-generator.cjs --config dts-bundle-generator.config.cjs","clean":"rm -rf .turbo dist docs node_modules tsconfig.tsbuildinfo","format":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json packages/config","lint:fix":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json --fix packages/config --quiet && pnpm run format","typecheck":"node node_modules/typescript-native/bin/tsc --noEmit","format:check":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json --check packages/config"},"_npmUser":{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},"repository":"github:coderabbitai/mono","description":"Programmatic (TypeScript) authoring SDK for CodeRabbit configuration.","directories":{},"dependencies":{"zod":"4.5.4"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","typescript-native":"npm:typescript@7.0.2","dts-bundle-generator":"9.5.1","@coderabbitai/schemas":"workspace:*","@coderabbitai/mono-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/config_1.1.0_1790888011926_0.046957278635346045","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@coderabbitai/config","version":"1.1.1","keywords":["code-review","coderabbit","configuration"],"author":{"url":"https://coderabbit.ai","name":"CodeRabbit","email":"support@coderabbit.ai"},"license":"Apache-2.0","_id":"@coderabbitai/config@1.1.1","maintainers":[{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},{"name":"guritfaq","email":"gur@coderabbit.ai"},{"name":"kartik-coderabbit","email":"kartik@coderabbit.ai"},{"name":"rohit121","email":"rohit@coderabbit.ai"}],"homepage":"https://docs.coderabbit.ai/guides/configure-coderabbit","bugs":{"email":"support@coderabbit.ai"},"dist":{"shasum":"187ce4c9899ac512e2e1f79d01f20eb3dab52056","tarball":"https://registry.npmjs.org/@coderabbitai/config/-/config-1.1.1.tgz","fileCount":12,"integrity":"sha512-7VIgMexKKSzvEosbjj31U1t4RF45l49mpCnz08qFyH9STsFhzGchyIAFoN2YtwpnvL/e6BH3Nv43xbXx8SMkDQ==","signatures":[{"sig":"MEQCIEjG2PCFftJdLxCz34MbOBuwIcY8i2VKXXsLs9whO/ylAiA0lrEsACR7k2EDbtqL0RIqhfM7ezf7zpDfUIr8F4Xt3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAhdPp/sfXeVLMb9v+3EHlarZdXneKxM0NvROTdqE/9FAiBPvdsRr62qx68FxeA+dm8SavB9gRefjFL4eKJs7FGAgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146030},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json packages/config && pnpm run format:check","test":"mkdir -p .turbo/test-results && echo \"No tests configured yet\" && touch .turbo/test-results/no-tests.ok","build":"rm -rf dist tsconfig.tsbuildinfo && node node_modules/typescript-native/bin/tsc && node scripts/run-dts-bundle-generator.cjs --config dts-bundle-generator.config.cjs && node scripts/api-snapshot.mjs","clean":"rm -rf .turbo dist docs node_modules tsconfig.tsbuildinfo","format":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json packages/config","lint:fix":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json --fix packages/config --quiet && pnpm run format","typecheck":"node node_modules/typescript-native/bin/tsc --noEmit","format:check":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json --check packages/config"},"_npmUser":{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},"repository":"github:coderabbitai/mono","description":"Programmatic (TypeScript) authoring SDK for CodeRabbit configuration.","directories":{},"dependencies":{"zod":"4.6.5"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","typescript-native":"npm:typescript@7.0.2","dts-bundle-generator":"9.5.1","@coderabbitai/schemas":"workspace:*","@coderabbitai/mono-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/config_1.1.1_1791182100356_0.3092074512687488","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"_id":"@coderabbitai/config@1.1.2","bugs":{"email":"support@coderabbit.ai"},"dist":{"shasum":"e9501bb1359f0062e21526db953ab8e6e1cb86be","tarball":"https://registry.npmjs.org/@coderabbitai/config/-/config-1.1.2.tgz","fileCount":12,"integrity":"sha512-H2ZO9r/8Kb4GHwwXbVbXFJmYjN4Zm7eODp11i2xOuNFZM7cRAL+gzpiF2f56SDb8obX5PiJ+GpUPXKRQcvsqZg==","signatures":[{"sig":"MEUCIAZUeBmoAITad6iJScXd19YW9JlbvzHFoIpb4F+twDdXAiEAzjdC3RfIoKLaOkkj12B5TL5A8mVk9UYn2uV2qNgvgCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICfG/C4py0Zs14VI8QWovKdVEtR4RauE1lVjV4R7gEAJAiAUnurGXqySK3dcyQI8bAKZa7gr2wIDmfXiXg9AndK4EQ=="}],"unpackedSize":147721},"main":"dist/index.js","name":"@coderabbitai/config","type":"module","types":"dist/index.d.ts","author":{"url":"https://coderabbit.ai","name":"CodeRabbit","email":"support@coderabbit.ai"},"module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"license":"Apache-2.0","scripts":{"lint":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json packages/config && pnpm run format:check","test":"mkdir -p .turbo/test-results && echo \"No tests configured yet\" && touch .turbo/test-results/no-tests.ok","build":"rm -rf dist tsconfig.tsbuildinfo && node node_modules/typescript-native/bin/tsc && node scripts/run-dts-bundle-generator.cjs --config dts-bundle-generator.config.cjs && node scripts/api-snapshot.mjs","clean":"rm -rf .turbo dist docs node_modules tsconfig.tsbuildinfo","format":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json packages/config","lint:fix":"pnpm --dir ../.. exec oxlint --config .oxlintrc.json --fix packages/config --quiet && pnpm run format","typecheck":"node node_modules/typescript-native/bin/tsc --noEmit","format:check":"pnpm --dir ../.. exec oxfmt --config .oxfmtrc.json --check packages/config"},"version":"1.1.2","_npmUser":{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},"homepage":"https://docs.coderabbit.ai/guides/configure-coderabbit","keywords":["code-review","coderabbit","configuration"],"repository":"github:coderabbitai/mono","description":"Programmatic (TypeScript) authoring SDK for CodeRabbit configuration.","directories":{},"maintainers":[{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},{"name":"guritfaq","email":"gur@coderabbit.ai"},{"name":"kartik-coderabbit","email":"kartik@coderabbit.ai"},{"name":"rohit121","email":"rohit@coderabbit.ai"}],"dependencies":{"zod":"4.6.5"},"publishConfig":{"tag":"latest","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"6.0.3","typescript-native":"npm:typescript@7.0.2","dts-bundle-generator":"9.5.1","@coderabbitai/schemas":"workspace:*","@coderabbitai/mono-config":"workspace:*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/config_1.1.2_1792184618979_0.6516494310440675"}}},"time":{"created":"2026-09-14T23:15:45.062Z","modified":"2026-10-16T21:03:39.262Z","0.1.0":"2026-09-14T23:15:45.395Z","1.0.0":"2026-09-15T20:07:21.314Z","1.1.0":"2026-10-01T20:53:32.022Z","1.1.1":"2026-10-05T06:35:00.485Z","1.1.2":"2026-10-16T21:03:39.088Z"},"bugs":{"email":"support@coderabbit.ai"},"author":{"url":"https://coderabbit.ai","name":"CodeRabbit","email":"support@coderabbit.ai"},"license":"Apache-2.0","homepage":"https://docs.coderabbit.ai/guides/configure-coderabbit","keywords":["code-review","coderabbit","configuration"],"repository":"github:coderabbitai/mono","description":"Programmatic (TypeScript) authoring SDK for CodeRabbit configuration.","maintainers":[{"name":"hasit-coderabbit","email":"hasit@coderabbit.ai"},{"name":"guritfaq","email":"gur@coderabbit.ai"},{"name":"kartik-coderabbit","email":"kartik@coderabbit.ai"},{"name":"rohit121","email":"rohit@coderabbit.ai"}],"readme":"# @coderabbitai/config\n\nTyped, programmatic authoring for [CodeRabbit](https://coderabbit.ai)\nconfiguration — write your `.coderabbit.config.ts` in TypeScript instead of\n`.coderabbit.yaml`, with editor autocomplete and author-time type-checking.\n\nA committed `.coderabbit.yaml` always takes precedence over\n`.coderabbit.config.ts`.\n\n## Install\n\n```sh\nnpm install --save-dev @coderabbitai/config\n```\n\n## Usage\n\nCreate a `.coderabbit.config.ts` at the root of your repository:\n\n```ts\nimport { defineConfig } from \"@coderabbitai/config\"\n\nexport default defineConfig({\n\tlanguage: \"en-US\",\n\treviews: { profile: \"chill\" },\n})\n```\n\n`defineConfig` also accepts a factory that receives repository / organization /\npull-request and invocation context, so your config can adapt to _where_, _what_,\nand _how_ it runs — something a static YAML file cannot do:\n\n```ts\nimport { defineConfig } from \"@coderabbitai/config\"\n\nexport default defineConfig(ctx => ({\n\treviews: {\n\t\t// Keep local CLI reviews focused; use normal policy in the repository.\n\t\tprofile: ctx.invocation.source === \"cli\" ? \"chill\" : \"assertive\",\n\t},\n}))\n```\n\n`ctx.invocation.source` is `\"cli\"` for a local `coderabbit review` and\n`\"review\"` for reviews initiated through an SCM provider or another review\nclient.\n\nFor pull requests and merge requests, `ctx.pr.authorGroups` exposes the\nauthor's provider groups without putting provider-specific objects in your\nconfig:\n\n```ts\nimport { defineConfig } from \"@coderabbitai/config\"\n\nexport default defineConfig(ctx => {\n\tconst groups =\n\t\tctx.pr?.authorGroups.status === \"resolved\" ? ctx.pr.authorGroups.groups : []\n\tconst isUsaPlatform = groups.some(\n\t\tgroup => group.fullPath === \"acme/platform-usa\",\n\t)\n\n\treturn {\n\t\tlanguage: isUsaPlatform ? \"en-US\" : \"ko-KR\",\n\t}\n})\n```\n\nEach group has a provider-stable `id`, a short `slug`, and a provider-qualified\n`fullPath`. `status` is:\n\n- `\"resolved\"`: the provider returned the complete visible membership list;\n  `groups` may be empty.\n- `\"unavailable\"`: permissions, timeout, provider failure, or a safety bound\n  prevented a complete lookup. `groups` is empty and must not be treated as\n  proof that the author belongs to no groups.\n- `\"unsupported\"`: the current provider or invocation has no author-group\n  resolver. Local CLI reviews currently use this status.\n- `\"stale\"`: reserved for a future cached membership result.\n\nGitHub and GitHub Enterprise resolve organization teams. GitLab.com and\nself-managed GitLab resolve direct group memberships visible to CodeRabbit;\nGitLab's membership API does not include inherited or shared group membership.\n\nRepository topics and GitHub custom properties are available under `ctx.repo`:\n\n```ts\nimport { defineConfig } from \"@coderabbitai/config\"\n\nexport default defineConfig(ctx => {\n\tconst topics =\n\t\tctx.repo.topics.status === \"resolved\" ? ctx.repo.topics.names : []\n\tconst properties =\n\t\tctx.repo.customProperties.status === \"resolved\"\n\t\t\t? ctx.repo.customProperties.values\n\t\t\t: {}\n\n\tconst isCriticalService =\n\t\ttopics.includes(\"critical\") && properties.repo_type === \"service\"\n\n\treturn {\n\t\treviews: {\n\t\t\tprofile: isCriticalService ? \"assertive\" : \"chill\",\n\t\t},\n\t}\n})\n```\n\n`topics.names` is a sorted list. `customProperties.values` is keyed by the\nproperty name; each value is a string, a string array, or `null`. Both objects\nuse the same `resolved`, `unavailable`, `unsupported`, and reserved `stale`\nstatuses as author groups. A resolved collection may be empty. An unavailable\ncollection is unknown and must not be treated as authoritatively empty.\n\nGitHub supplies topics and custom properties. Other providers and local CLI\nreviews currently report `unsupported`; GitHub failures and unsupported GitHub\nEnterprise versions report `unavailable`. These lookups use the installation's\nexisting metadata read permission and run only when a TypeScript config is\nevaluated.\n\n`ctx.pr.changedFiles` exposes the complete set of repository-relative paths in\nthe pull request or merge request diff. This makes it possible to select review\npolicy based on the areas a change touches:\n\n```ts\nimport { defineConfig } from \"@coderabbitai/config\"\n\nexport default defineConfig(ctx => {\n\tconst paths =\n\t\tctx.pr?.changedFiles.status === \"resolved\" ? ctx.pr.changedFiles.paths : []\n\tconst touchesInfrastructure = paths.some(\n\t\tpath => path.startsWith(\"terraform/\") || path.endsWith(\".tf\"),\n\t)\n\n\treturn {\n\t\treviews: {\n\t\t\tprofile: touchesInfrastructure ? \"assertive\" : \"chill\",\n\t\t},\n\t}\n})\n```\n\nThe status is `\"resolved\"` only when CodeRabbit has the complete path list.\nProvider errors, timeouts, revision changes, or safety limits produce\n`\"unavailable\"` with an empty list; platforms without a complete inventory\nproduce `\"unsupported\"`. Never interpret either status as proof that no files\nchanged. Renames include both the previous and current path so policies can\ndetect files moving into or out of a protected area.\n\n### Composing configs\n\n`mergeConfig` deep-merges fragments (objects merge, arrays concatenate, later\nscalars win), and `includeRemote` pulls a shared fragment from your\norganization's `coderabbit` repository by default:\n\n```ts\nimport { defineConfig, mergeConfig, includeRemote } from \"@coderabbitai/config\"\n\nconst orgBase = includeRemote({ path: \"base.ts\" })\n\nconst platformBase = includeRemote({\n\trepo: \"acme/platform-config\",\n\tpath: \"reviews/base.ts\",\n\tref: \"v1\",\n})\n\nexport default defineConfig(\n\tmergeConfig(orgBase, platformBase, { reviews: { profile: \"assertive\" } }),\n)\n```\n\n## How it works\n\nYour config is evaluated by CodeRabbit in an isolated, network-free sandbox and\nvalidated against the same schema a `.coderabbit.yaml` uses. This package is\n**author-time only** — it gives you types and autocomplete; the actual\nevaluation happens server-side, so your config works whether or not the package\nis installed. Installing it just makes your editor and CI aware of the config\nshape.\n\n## API\n\n- `defineConfig(config | (ctx) => config)` — typed identity for your config.\n- `mergeConfig(...fragments)` — deep-merge fragments (arrays concatenate).\n- `includeRemote({ repo?, path, ref? })` — include a shared file. `repo` uses the\n  provider-native repository format and defaults to your org's `coderabbit`\n  repository.\n- Types: `CodeRabbitConfig`, `CodeRabbitContext`,\n  `CodeRabbitAuthorGroup`, `CodeRabbitAuthorGroupsContext`,\n  `CodeRabbitAuthorGroupsStatus`, `CodeRabbitContextResolutionStatus`,\n  `CodeRabbitChangedFilesContext`, `CodeRabbitChangedFilesStatus`,\n  `CodeRabbitRepositoryContext`, `CodeRabbitRepositoryTopicsContext`,\n  `CodeRabbitRepositoryCustomPropertiesContext`,\n  `CodeRabbitRepositoryCustomPropertyValue`, `CodeRabbitPullRequestContext`,\n  `CodeRabbitInvocationContext`, `CodeRabbitInvocationSource`,\n  `ResolvedCodeRabbitContext`, `RemoteInclude`.\n\n## Building the SDK\n\nFrom the repository root, run `pnpm build --filter=@coderabbitai/config`.\nThis uses the repository's shared CPU-budget launcher for the scoped build.\nThe build explicitly uses stable TypeScript 7 through the package-local\n`typescript-native` alias. TypeScript 6 remains installed as `typescript` for\n`dts-bundle-generator`'s JavaScript compiler API; a bare `tsc` could select that\nolder compiler instead. Keep the compiler and declaration-generation dependencies\ninside this package, not in the root workspace.\n\n## License\n\n[Apache-2.0](./LICENSE)\n","readmeFilename":""}