{"_id":"@alexgorbatchev/typescript-ai-policy","_rev":"32-b1f9755a634214bddc81e79098d11ca0","name":"@alexgorbatchev/typescript-ai-policy","dist-tags":{"latest":"13.0.0"},"versions":{"0.1.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"0.1.0","_id":"@alexgorbatchev/typescript-ai-policy@0.1.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"56c50271c9afe28c8e2abbb02f12689e17c28551","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-0.1.0.tgz","fileCount":62,"integrity":"sha512-Dfp7uKea2hA3zVkoktR8k87cUYNmAlT7uEcFRUs8X+l8eP76iyUAi1Uh6yZ7ZEpWjsy5ACdykET6dyQU2G+n0A==","signatures":[{"sig":"MEUCIQDePk6Rny+v4NCzyis87UOeJLvEqQ+TU/EMlP1ZSLpVlQIgHMjYDr9ETcXQqK8Q4ODRl0OuTXkk2AHLm8zAjTBL5ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266648},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"5e20c565c767a64ee770bfb772c684a982737ad0","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.9.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_0.1.0_1775242867669_0.024774902807034538","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.0","_id":"@alexgorbatchev/typescript-ai-policy@1.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"7507c0078720a025a7b23dba5ac284edc0c97242","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.0.tgz","fileCount":62,"integrity":"sha512-oH6BoKn4rvslHi994Y3ff5qH7w9l7ILVgWPupGZnx5hI2Y82OgG8unZsKmyywmTRcGKFxAM3L5qt7j2P0+tNMA==","signatures":[{"sig":"MEYCIQC0HgCPP3ofl5YeUNl2p9I14DTPAKzsmfKr5xuoKiZnrgIhAOlQcxJNVpMIKTlsPOo5swXoCz6myJOfmZcom//CzY4Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266648},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"ed6a19e218613101794b08c54ec3f9d71b50266a","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.0_1775243205639_0.5899338992197756","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.1","_id":"@alexgorbatchev/typescript-ai-policy@1.0.1","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"59506f5114fac84881cee983a75456d97bd14b32","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.1.tgz","fileCount":62,"integrity":"sha512-PIHQpRqUfUvsyRn9GbrA4JOvM5MFjyp88T8m5X1CF2awjPRJMNTzhjUfbPsiqUtJJWQUaFeWpUaEFvsdcP4E2A==","signatures":[{"sig":"MEUCIQDETZ7mpGztCBUzV7sbAe3jBl3GyGTXZ91/Y+8//AbFawIgKZbe/zGRIvvXwt1DESS8fjMzufOq6WCaJgFmtAhVyVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266790},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"109396ae0ae7097c22d7a8973b14242453191593","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.1_1775244818235_0.22279472342161277","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.2","_id":"@alexgorbatchev/typescript-ai-policy@1.0.2","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"3024b5ca1e1241796b866bca6c85c91884a3751c","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.2.tgz","fileCount":62,"integrity":"sha512-JMLsIPXh97Jtu78UE6h7iBSRia5C+6l2HhMhAkWJilPc8bLbnD9kQVtbUU80Ke9R5UyRQIzgyvyqFOEjeKVCIg==","signatures":[{"sig":"MEUCIE4b+gSzsUZKQPFtwtptmTTB2MwvzLv3yjFig72mmrRpAiEAjYXxyyZlVvkr9dgz0MGkFAAgO9foMwu6V5G7AhGnhXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":268225},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"199926c181e9649823547e292ee4f4a234e18a81","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.2_1775250938607_0.09893602588269368","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.3","_id":"@alexgorbatchev/typescript-ai-policy@1.0.3","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"28db64d33b239597f9d8acdb0cd7cc027fe8b3fa","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.3.tgz","fileCount":65,"integrity":"sha512-RWqkkwgVc0GgMpwqCfUwZ5Cl2lewk+GX9jo6fpjORqSmhJcAIpbrm0z+Bw5DhHqcL5T+5XiUd3pSfqVLH2ii1A==","signatures":[{"sig":"MEMCH2giPZAm06b1Wwd0OaPQnRz1TbIPv7VenV99Yd1bxlcCIGxKxMdD3eObIwI+1ZcFWRMM1f1ESK1FKg85WIqOntSx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274006},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"80db56b0ec2607bc864741e9c68114ba7a6f5e5c","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.9.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.3_1775254206114_0.14941718568564433","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.4","_id":"@alexgorbatchev/typescript-ai-policy@1.0.4","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"95e0f1fcc3db5b6df4eb7d607e6342809a64e46d","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.4.tgz","fileCount":65,"integrity":"sha512-JduRmzzakcpfIF1OCGoV7UkkHenMdfEDmFJXJ9suaqF8XjI+0UQiNiVImYJh+Q02bNUgglvFxYkRiguEo1HWRA==","signatures":[{"sig":"MEUCIQDSUCyD2fLMRT2k9vw4nkkeMtIVCCgUsTwQeiDkhy9rWAIgSwvn24ASADEJ7i6EMp9VGsK7YCYD6oYNGKNEcM6vfNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274249},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"7c6dd3a529c5917daf7062541b9a1ceef2dc70bc","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.4_1775256833744_0.4351042729093004","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.5","_id":"@alexgorbatchev/typescript-ai-policy@1.0.5","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"ec48483228cef04a2e89157bdc61fef84d51ccf2","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.5.tgz","fileCount":65,"integrity":"sha512-8VjCoEoq6E4s2UJbX82ADlcSpJGUpoB17AGmqo00zalS6wBulrximMX4L/4YPvx/0/Ek3fdamine7Mg3M/OCrQ==","signatures":[{"sig":"MEUCIQCqD5HJscRs6NiJzCd/Z7udOlyLYqGplrWUA1kwWWK8UQIgIA17tnaVN5r4glBG6ZbRQ8q4V9q1w6DNjKF5JHUo2Gw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275668},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"a7a32f117fcd2d625a3086f72bab4fcbcbcceac8","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.5_1775513834025_0.002938366043118812","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.6","_id":"@alexgorbatchev/typescript-ai-policy@1.0.6","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"8bd825b3fc9b446225d02333c54bdcf03a71e2b3","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.6.tgz","fileCount":65,"integrity":"sha512-sv0uUlzU396efj/8DiT9RaGEIR6uXZEQohPGyzyiIAp5TIe1YtlEprISsZjLAiPxiR9DN1O/FWYErNWir5+PtQ==","signatures":[{"sig":"MEUCIQC6QLGR1yG5lTsYgioLVsR2qxIB8WzYZcIiCGBLy+IDnwIgDBOuicpKy9nk6d/hYWK8ut8xIX6Z6g5l1XYx327tbVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":276025},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"c5e62b23c2fd00390a6223c16396b052545e9f8d","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.6_1775688209283_0.39694581605956136","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@alexgorbatchev/typescript-ai-policy","version":"1.0.7","_id":"@alexgorbatchev/typescript-ai-policy@1.0.7","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"27c7988b3f6c1f3c026123cfd1668636d04d14a4","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-1.0.7.tgz","fileCount":65,"integrity":"sha512-X+bWNe1o2PAYGJ6/viMaR/zJuicbAflC8e8temYxDUlkiaoz/fTSAoViF0HhfQH7h8/nJ2Mfj6UgtObk7dZn3g==","signatures":[{"sig":"MEQCIDo4AfBBcfGFyetg69ehjfngCi48lEMeuG2LPlSRzMj1AiA2nhEAAMS2Wd5ygpSpmfUNrj3U8thB6S9X7zXCHPhcLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":276721},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"8e2920aebc133a84c462f7f7ea48bba25817ea56","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_1.0.7_1775709968151_0.1690063474782857","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"2.0.0","_id":"@alexgorbatchev/typescript-ai-policy@2.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"50094c9f8c12812e57ef6c18b1b0e7c80cd994d6","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-2.0.0.tgz","fileCount":67,"integrity":"sha512-lrwAnVXh3EGnnaWd9Wj3BeMQaU2gT0290JX+dAu/d4ORQCN9IsM6WApw1M6sJphwTevOKowMzXnZXv9RW3iPQg==","signatures":[{"sig":"MEQCIDg19tdjUl0zl1SQ+evBwharqqumWR+IOw7ktzMElxlFAiA2MUsjVJHINOsyz9APiiNm84Zh8aNEwmz0qj+lk4p34w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266095},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"046135f6934da614324ff5562e481b068e3f2053","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_2.0.0_1775760579408_0.4175545085383525","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"3.0.0","_id":"@alexgorbatchev/typescript-ai-policy@3.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"59d55eb7e82b1e320e3ba9e772f95624bef8e834","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-3.0.0.tgz","fileCount":68,"integrity":"sha512-86FwBlVRmB/wwB1ttbFnHsYa+oCOsne6eItZJxbtoaukyWzfTEkCFqi+T+A7mqa21WnJPgyx/fY3aubhse+gTA==","signatures":[{"sig":"MEQCIGKhrG7/EXM1k9VBeV+NymR14hftIuI/OWkp7LMCawONAiB/hT51jY3Rz41AQJ2zS6uOYf7B+SjqQSf8Me9gRek3nQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267206},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"83560581ff5efbd118eccb8fd835f84b71dcf115","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_3.0.0_1775777750577_0.41944621702734386","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"4.0.0","_id":"@alexgorbatchev/typescript-ai-policy@4.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"c6a6ad7dc1a72e30d725a1e914436d7e41f8dd95","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-4.0.0.tgz","fileCount":69,"integrity":"sha512-7y+OSjUNnzhlzPsyGeScUdWfU7KsO0nDa4b+1U7nLyq1dWW3Ppy5ue6ruSHOsLygv7HDj1vNqCDBL139Y4SBPg==","signatures":[{"sig":"MEYCIQCTvxwid5TAf9m+ACSQweb5gYBSxCDQ96Y+9uoeg4TQrQIhAJgtIKoy6nW21CAlsXA1/Te+HGDh1aQZ1wkYTLn/Ugsy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274746},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"815984553aa77097504a66bf9b8db8903bf7668b","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_4.0.0_1775856627162_0.7875698866315943","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"5.0.0","_id":"@alexgorbatchev/typescript-ai-policy@5.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"c071b5c722beb03ddf24cb4665638d5f8c5b6336","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-5.0.0.tgz","fileCount":69,"integrity":"sha512-05kDIlOpR8/LMTSoAOgdJ5got7r+uhlIpF+vz9tKmz2xnUsFAaZffYFA+CF+11D1MF1cPNJt52ckzC3zdTpYNQ==","signatures":[{"sig":"MEUCIQCBjiDMN6IalkkRgnzZIZUZ5Oj4aSlc+Hud5KJD3JRX5wIgUwLUyW9QUIP35B4HEq2u9yRlKpuBAe0092S3WZccrBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274918},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"84c85b3c370f786bddf66597f070f979bab553a6","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_5.0.0_1776114680638_0.6752149774263274","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@alexgorbatchev/typescript-ai-policy","version":"5.0.1","_id":"@alexgorbatchev/typescript-ai-policy@5.0.1","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"src/semantic-fixes/runApplySemanticFixes.ts"},"dist":{"shasum":"efcd7e7172bd32d24ddf4e1fb8eaadb0a8e764b7","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-5.0.1.tgz","fileCount":69,"integrity":"sha512-OJYQPAMv1DpboMmv3IkQIIbJfYKFEZvnA3hf8dIQ1ZukmcIHNGsc1LHIvGK9SpePce/FLgJGc0WtG4l5Yi0VNA==","signatures":[{"sig":"MEQCIBbOjveDY40g4UR4w/CVAVNWPezAhSahOwbaZAj9hathAiBLcOPbwCp97dAhgT08u6BsMLS+ONZujCf/6tB/60uq7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@5.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275535},"type":"module","exports":{"./oxfmt-config":"./src/oxfmt/createOxfmtConfig.ts","./oxlint-config":"./src/oxlint/createOxlintConfig.ts","./oxlint-plugin":"./src/oxlint/plugin.ts"},"gitHead":"05dcc9982c7cc4886b528bb7c5319461ddb45a82","scripts":{"check":"./scripts/check.sh","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_5.0.1_1776116007618_0.9116439699143353","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"@alexgorbatchev/typescript-ai-policy","version":"5.0.2","_id":"@alexgorbatchev/typescript-ai-policy@5.0.2","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"dist/bin/typescript-ai-policy-fix-semantic.js"},"dist":{"shasum":"b314d5853666266789eefeb3a443d01efb5eccdf","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-5.0.2.tgz","fileCount":11,"integrity":"sha512-kT5p2zauas5CeFYll53+8o4gZFOVsMOXkhYkWaffJL9QF37l7hVYrEq/clb15rrvSj96A59je1ovw4fugwG8ig==","signatures":[{"sig":"MEQCIFBIEKXWzqi/Iql45hkckOmNBKH0C9ONQaFuLHw9CRlxAiAIYP7WuwXXeZtCMMC2zYZfAP4It5b9Ab20TYWnymAeqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@5.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":207798},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"3c1123d3b7ebfedb301f614524c04dae5e99fea3","scripts":{"build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","tsdown":"^0.21.9","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_5.0.2_1776458029408_0.14027762490846785","host":"s3://npm-registry-packages-npm-production"}},"5.0.3":{"name":"@alexgorbatchev/typescript-ai-policy","version":"5.0.3","_id":"@alexgorbatchev/typescript-ai-policy@5.0.3","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy-fix-semantic":"dist/bin/typescript-ai-policy-fix-semantic.js"},"dist":{"shasum":"aa236c28d7177024b6bac51511474937dacf6bfb","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-5.0.3.tgz","fileCount":11,"integrity":"sha512-R+jle287+dhBLA0u0hbeS1BbHNLi3IlyjiMND2xvp62Vy3w/PRAgMOtUI062RdhJtABv/yjrWKUbsvE4vWL+2g==","signatures":[{"sig":"MEUCICPpzVX6SvLE74N8wHYSSL3VNCE4glVJ5531K3nTSnd7AiEAy93JpgHqK3pIYvEHWpWBBMjfRWFY9oEjaDYA4RMOMzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@5.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":207424},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"95dac0807cb241b102bef60e7a6b6596dd6342be","scripts":{"build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/semantic-fixes/runApplySemanticFixes.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","tsdown":"^0.21.9","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_5.0.3_1777325132558_0.6965715812202187","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"6.0.0","_id":"@alexgorbatchev/typescript-ai-policy@6.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"8803b4de645496a0c286487e2d5f32da496c4ca3","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-6.0.0.tgz","fileCount":13,"integrity":"sha512-jQG0heYpaIr5qYEISr9KroBF2mOKFVvN618EeY3LaJXWXj7o1mQWRy2kYXARAvFZhNje3ukQe2HEp8czpG2QSQ==","signatures":[{"sig":"MEUCIEx3L/m4KdK25lJ3HQ/wXAOdE6liC8GwY++7DZ3+49DeAiEAnhVoZazm3+EmqOvcY+P4kr9lhpBkdUkAExDlm+BED0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":238758},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"04867aa25449d38ea624d08ef8fa8635a70dab8a","scripts":{"cli":"bun src/cli/runTypescriptAiPolicyCliMain.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/runTypescriptAiPolicyCliMain.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","minimatch":"^10.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","tsdown":"^0.21.9","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_6.0.0_1778652995809_0.8565037449858925","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"7.0.0","_id":"@alexgorbatchev/typescript-ai-policy@7.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"4a6a9962626706dfe1b3c6ba6880acf7058dfc36","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-7.0.0.tgz","fileCount":13,"integrity":"sha512-BW202PrTcjxJ4kuagw+apFf+hbzdtcvZO9G74G/Xbd91yw/el8vw0VMjcqOwg4MFEGSkAkECZ5fZ+lhykWb65g==","signatures":[{"sig":"MEUCIC4Ly/8KlWKU+7Y0t2gjMWv2ZgLdbXE5sVxULXx4eYw1AiEA/u8XYN5Zt8jqN9Q/p3xSZ97g8msNziFGSykS5PQ/uG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@7.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":241059},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"0198bec8dd2ae1228d32e833a3686f2d674b50c7","scripts":{"cli":"bun src/cli/runTypescriptAiPolicyCliMain.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/runTypescriptAiPolicyCliMain.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","tsdown":"^0.21.9","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_7.0.0_1778691565574_0.588351555345171","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"8.0.0","_id":"@alexgorbatchev/typescript-ai-policy@8.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"4c9ddb10eeec3c63e9824592e4c7971c4efb2af8","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-8.0.0.tgz","fileCount":14,"integrity":"sha512-pI0qb/8zLQVxBa+JBoYm0kw6jsZbxjPRabm2tBkfeN1sfdh3wkN7cydT458/z4jF9IqXqz7gUChI/l8ivaZi8g==","signatures":[{"sig":"MEQCIHOxW3aGbkqDNXZxO0PLokdhP/wtz+pR97VFvFUwelCEAiBR7LPipw7GecFtgBHT+VgoPcG/gmovQUArRdwRHOIyWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@8.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244253},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"9948d3a88753f789844de053224acbef2b613bb0","scripts":{"cli":"bun src/cli/runTypescriptAiPolicyCliMain.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/runTypescriptAiPolicyCliMain.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","tsdown":"^0.21.9","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_8.0.0_1778696043852_0.13934069295368734","host":"s3://npm-registry-packages-npm-production"}},"8.1.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"8.1.0","_id":"@alexgorbatchev/typescript-ai-policy@8.1.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"df4fb3124d0bb7b2b829e6bed7ebd8338a77c29e","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-8.1.0.tgz","fileCount":14,"integrity":"sha512-LbUW2W3XN3Z3v1rLkxkOBbrI1GTqSoCLHnPE5IklR5/sSWATCm1frRlHvKuOETXqjV0e3aNtwpdxXzTMpCjA5g==","signatures":[{"sig":"MEUCIFpxsW5/1dsUNihKS9vXq+OyNueafE4qC3yrT+nhA5ELAiEAtOqI2ItmjWnJzZXDh2FlSW+Ay+/HrEOu5Aza9L26I5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@8.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":245695},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"c89a17984fb55a6d40f87d1e76563e4893512043","scripts":{"cli":"bun src/cli/runTypescriptAiPolicyCliMain.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/runTypescriptAiPolicyCliMain.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","tsdown":"^0.21.9","@types/bun":"latest","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.58.0"},"peerDependencies":{"oxfmt":"^0.42.0","oxlint":"^1.57.0","typescript":"^6","@typescript/native-preview":"^7.0.0-dev.20260330.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_8.1.0_1778704236051_0.508376616838349","host":"s3://npm-registry-packages-npm-production"}},"8.1.1":{"name":"@alexgorbatchev/typescript-ai-policy","version":"8.1.1","_id":"@alexgorbatchev/typescript-ai-policy@8.1.1","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"270ea426322d99fb3c2ffa5d9230fe55d44ec75a","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-8.1.1.tgz","fileCount":14,"integrity":"sha512-CBBS5lY1epouYpBGUzoKaa4KNTZAU7IryyHl9uixmhMiOASxnA/48fHR/AEqgMls/GFGCo2L0q8VcEZTiWPsPQ==","signatures":[{"sig":"MEYCIQC3A0ZAuX+oZFoNhkAg7L8CfGbU8tQ4WWQ2mizw1LW/rQIhALzhQKPTQ5paprQk35OZQKRmF6mWpU0vJUxL5AQn4pyg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@8.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":246561},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"469add223678245734670420b30fae6a2c6e8afe","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_8.1.1_1778708853601_0.6313882884988764","host":"s3://npm-registry-packages-npm-production"}},"8.1.2":{"name":"@alexgorbatchev/typescript-ai-policy","version":"8.1.2","_id":"@alexgorbatchev/typescript-ai-policy@8.1.2","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"5277d5c9fca147237e1bc3976913e698b598c29f","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-8.1.2.tgz","fileCount":14,"integrity":"sha512-2XkuKDS99hkZSS2ZZILBHUFW0hX9AfvcLekQ0D8RqC5aF9qrj99Iwc7VogJX2N7UI800Q9b6LpL+mYs/YkHcQA==","signatures":[{"sig":"MEQCIHG70pZ6qAGJ9FPdmdvuDXWUhHQU7QScLUsyyGTFkbtLAiBAX2zJET3v4EkfkcpCdrbYuZ/OWz3v5nyZKy8hMFLDdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@8.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":241906},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"22539778b43438f334f90afbd60edc9bae8bdcab","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.11.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_8.1.2_1778731269908_0.9300970498875432","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"9.0.0","_id":"@alexgorbatchev/typescript-ai-policy@9.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"5876e1fd82614b409495154da1384956737fa862","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-9.0.0.tgz","fileCount":14,"integrity":"sha512-ClcxMXOrPWKGOsxs5T9EUSKcGWuw/sxdqwV0d10jPXY963C0ZmlyzcpOVv8fRW22M02uArwxbzhv9hfOt/s33Q==","signatures":[{"sig":"MEYCIQDgz2ZQAm4PcrUqGXbBVHQ0AW8DqeORj8EAnlICsdJoxAIhAKGus0kT3HVtQ08yd6lGY0h36QpQMhi5jZ57IaWWRwjA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@9.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":253993},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"57cec7c47c000cb7cec5cb544807bd2676af5b8c","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_9.0.0_1780357074135_0.40046834505572004","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"10.0.0","_id":"@alexgorbatchev/typescript-ai-policy@10.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"32d4850cc08541e1a115d39be84a3b52fce9a526","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-10.0.0.tgz","fileCount":14,"integrity":"sha512-PzRJw615OIRtQhZrE8NNt3flL5hyuj+DhqGM3VfRTPgyGY1iLIRXxmw55uJiH7Ob/K/KfyxecvFjEUgLuvWh/w==","signatures":[{"sig":"MEQCIHOnpAr/iZgJDPwQcT1zW1w5z4YDFfJMjrv5HCmXA2iVAiBS6OBRPJBkHC8xlnEKJxgNNwrlnxPSID+Pfm+3PnqwpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@10.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":254710},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"2c63343a995c94a935d3878e532a803d5d897160","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_10.0.0_1780784737873_0.7255089411527984","host":"s3://npm-registry-packages-npm-production"}},"11.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"11.0.0","_id":"@alexgorbatchev/typescript-ai-policy@11.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"ce6ba6c1f8120aaeaf6846f0d477e0c1a8058e0f","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-11.0.0.tgz","fileCount":14,"integrity":"sha512-wcT8qAhCWTfXoEmGTjw04A5+F34M421y8YaiHcvjHAoOcAYa9OyIQl4lKNygO8011CopxFWpUQMV3Pd9XaXGYA==","signatures":[{"sig":"MEQCIF5hqHgWR09+hQ7KUbv7YxS4yXesxFAOl40919QcDiLgAiAjWRBN8bq30EU8tp5FbwtotdaMQuFs59DJ4EGagvBBrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@11.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":255930},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"aa64b53b9aee15dc12c7ca905171b447f5c81edb","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_11.0.0_1780848885511_0.19958468761095594","host":"s3://npm-registry-packages-npm-production"}},"11.0.1":{"name":"@alexgorbatchev/typescript-ai-policy","version":"11.0.1","_id":"@alexgorbatchev/typescript-ai-policy@11.0.1","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"e638965cd578467d4ab8094c1b4cfc6146de605c","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-11.0.1.tgz","fileCount":14,"integrity":"sha512-03c/gDQbpTFyKZ+RuCvk33P6j2sikC89gjsrqlxAtKDuMG/WC6bKmILQwruEAL9eqEctGXRYtL/DbpWT70kaQA==","signatures":[{"sig":"MEUCIFrSRGyo4lNsxuWVGYNFHWq0n3X8+r2XNq6lTo/6C8+EAiEA5Sx+7WeGfSKctr+oDyBaRhwttbeuHn4l+iEUBlQdHOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@11.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256236},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"f303c9add5485ef3d8ebed853b7be68f7800ffeb","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_11.0.1_1780849540939_0.6874357758792644","host":"s3://npm-registry-packages-npm-production"}},"11.0.2":{"name":"@alexgorbatchev/typescript-ai-policy","version":"11.0.2","_id":"@alexgorbatchev/typescript-ai-policy@11.0.2","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"79c689f23aa7dfb0f010a5dce2cbf86bede37464","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-11.0.2.tgz","fileCount":14,"integrity":"sha512-/eua2is/O5B+M2voTXknXWzsp71nsN2bSiPz9v8V3bpQmaV1paZT+3XOviRD9kltNxiyeMrc+74dvG7EHlbE7g==","signatures":[{"sig":"MEUCIBQazuAppN9afNtI6Q0xYKK3lEC/x2HKIiaUs4QWepwgAiEAsvYFyqmZnlt9c07Xq/jx+bry3r+LgCs4V3MnO18KyG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@11.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256604},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"bcc4e46a47d5e096b40228b73b14dce3c410320f","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_11.0.2_1780860108576_0.5875324865242812","host":"s3://npm-registry-packages-npm-production"}},"11.0.3":{"name":"@alexgorbatchev/typescript-ai-policy","version":"11.0.3","_id":"@alexgorbatchev/typescript-ai-policy@11.0.3","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"d218ecc8593b74eea852df87c063199945121508","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-11.0.3.tgz","fileCount":14,"integrity":"sha512-QQ8E4pp38jZkuRt8Tb/36XTfrPAvpB4BXFgR97KznVouiGGelIQxu2kaJEI0e8JwiArQ5Tf/0u62yfLo+nX3XA==","signatures":[{"sig":"MEQCIDKHA/Z7tzTEcE4E9aq+qrrbQyXLAC9akT5GrHIEAMStAiB9Ibh0XhQ3K7aYBZ9p8ZBW5yxd+rSQ6NpD9zo+dbqyzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@11.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":257631},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"d98cc87e64c164e591443a6e0ccc8a838f37929c","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_11.0.3_1780861506417_0.5946251354662848","host":"s3://npm-registry-packages-npm-production"}},"11.0.4":{"name":"@alexgorbatchev/typescript-ai-policy","version":"11.0.4","_id":"@alexgorbatchev/typescript-ai-policy@11.0.4","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"ade46d184ba9b863867c30b6ff3a1ef0afaf4ce4","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-11.0.4.tgz","fileCount":14,"integrity":"sha512-DqRMhmVYTb1+3Yd7JVD49UBRTRDajKfJQ88a3CmsYs5AGfUlivOcKqy7al6wiHivsLDvTLJESSi6/P3amzs5GQ==","signatures":[{"sig":"MEUCIBGZ/7yh4Ic9IeYd/Txw4biS8G/DwWsxRZzyn7CJwq7hAiEA+AXs5QcgpdXs0kF9FHYeHJBCmR2WyHKbAQm7P/0ASwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@11.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":258215},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"b817be32cb42eb5fddcf4634ce190b1c164eb731","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_11.0.4_1780862129656_0.9120403891753919","host":"s3://npm-registry-packages-npm-production"}},"12.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"12.0.0","_id":"@alexgorbatchev/typescript-ai-policy@12.0.0","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"4d427f718740ac8336b5ef700d27ebf1f2b24457","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-12.0.0.tgz","fileCount":14,"integrity":"sha512-t/P8sbA0pkKShCwOdEamsY0jK7uLRLz2yBu/n+tzy4qM3/Ukoq9IWhFFuFrQYf2LVcNZI2xEkq8edY1VAhpp9A==","signatures":[{"sig":"MEQCIDuS/bgfwel0/LdZKSFTBBMOhjPjYegN6vkiJQptj0NJAiAOmk5e0BMPjVwNCYcKsC7CYLeUmJAVojsEICc/ueDLdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@12.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":258927},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"75c98316b977e5e977f506d308a706d2579abf70","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.13.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.16.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"^0.22.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":"^6.0.3","@typescript/native-preview":"^7.0.0-dev.20260513.1"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_12.0.0_1781097349592_0.036063246944480154","host":"s3://npm-registry-packages-npm-production"}},"12.0.1":{"name":"@alexgorbatchev/typescript-ai-policy","version":"12.0.1","_id":"@alexgorbatchev/typescript-ai-policy@12.0.1","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"dist":{"shasum":"6e7d1f40f145d23f775290f8a668fead9a5139e6","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-12.0.1.tgz","fileCount":14,"integrity":"sha512-JiMJd8NiJHjvkXe/x4isrRTJFNdvhB0lPWAiXey8z0YqcnSN5VWfRhK45vHl4Vxm00bwCM8Opi+iglLtmUFwvA==","signatures":[{"sig":"MEUCIQCWBLv2XOKRbgE5lIS9JSIDeG5vclpnYMvnjxM1yVFNXAIgKKLHf4h87d92iWsd7IVmYpEBHyn34akLhI9s/Nftq/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@12.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":259380},"type":"module","exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"gitHead":"050d5670be0c516d472796a6de62595e90eb2ffc","scripts":{"cli":"bun src/cli/cli.ts","build":"tsdown","check":"./scripts/check.sh","prepack":"npm run build","lint:target":"./scripts/lint-target.sh","fix:semantic":"bun src/cli/cli.ts fix-semantic"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"repository":{"url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git","type":"git"},"_npmVersion":"11.16.0","description":"Shared TypeScript AI policy configs and Oxlint rules","directories":{},"_nodeVersion":"24.18.0","dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"0.22.8","@types/bun":"^1.3.14","typescript":"6.0.3","@typescript/native":"npm:typescript@^7.0.2","@alexgorbatchev/dedent-string":"^1.0.1","@typescript-eslint/rule-tester":"^8.59.3"},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":">=6.0.3"},"peerDependenciesMeta":{"typescript":{"optional":true},"@typescript/native-preview":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/typescript-ai-policy_12.0.1_1785622008676_0.8606196450276375","host":"s3://npm-registry-packages-npm-production"}},"13.0.0":{"name":"@alexgorbatchev/typescript-ai-policy","version":"13.0.0","description":"Shared TypeScript AI policy configs and Oxlint rules","homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","repository":{"type":"git","url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git"},"bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"publishConfig":{"access":"public"},"type":"module","bin":{"typescript-ai-policy":"dist/bin/typescript-ai-policy.js"},"exports":{"./oxfmt-config":{"types":"./dist/oxfmt-config.d.ts","import":"./dist/oxfmt-config.js"},"./oxlint-config":{"types":"./dist/oxlint-config.d.ts","import":"./dist/oxlint-config.js"},"./oxlint-plugin":{"types":"./dist/oxlint-plugin.d.ts","import":"./dist/oxlint-plugin.js"}},"peerDependencies":{"oxfmt":"^0.49.0","oxlint":"^1.64.0","typescript":">=6.0.3"},"peerDependenciesMeta":{"@typescript/native-preview":{"optional":true},"typescript":{"optional":true}},"scripts":{"build":"tsdown","check":"./scripts/check.sh","cli":"bun src/cli/cli.ts","fix:semantic":"bun src/cli/cli.ts fix-semantic","lint:target":"./scripts/lint-target.sh","prepack":"npm run build"},"devDependencies":{"@alexgorbatchev/dedent-string":"^1.0.1","@types/bun":"^1.3.14","@typescript-eslint/rule-tester":"^8.59.3","@typescript/native":"npm:typescript@^7.0.2","oxfmt":"^0.49.0","oxlint":"^1.64.0","tsdown":"0.22.8","typescript":"6.0.3"},"dependencies":{"commander":"^14.0.3","minimatch":"^10.2.5","package-manager-detector":"^1.6.0"},"gitHead":"06ceb2de0dcdb35fdc84fa42fe89aae8d844d0cb","_id":"@alexgorbatchev/typescript-ai-policy@13.0.0","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-i4uMBfqDLrn8GiK8ABL28eAT0WjKrqIQeIx8vqn1NhxsQMigGhSBvNieNeyWuUzOZR7JM2Luw4RWmsimEaa36A==","shasum":"b70ce1abd3d08a16db3b009ea7925ba3b6af2fdf","tarball":"https://registry.npmjs.org/@alexgorbatchev/typescript-ai-policy/-/typescript-ai-policy-13.0.0.tgz","fileCount":14,"unpackedSize":260012,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexgorbatchev%2ftypescript-ai-policy@13.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC0k1yfiY1uylLlCRv3TgmJ00SI0sDfAG/kBRktn+e4GQIhAKXkF/zOe6kJdgOw8P4aCYyADnYIjwwi50GTncb5/VP2"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d75aa292-de63-4e70-95da-bf05d02e04d5"}},"directories":{},"maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/typescript-ai-policy_13.0.0_1787096905673_0.6536556454377234"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-03T19:01:07.485Z","modified":"2026-08-18T23:48:26.130Z","0.1.0":"2026-04-03T19:01:07.814Z","1.0.0":"2026-04-03T19:06:45.812Z","1.0.1":"2026-04-03T19:33:38.421Z","1.0.2":"2026-04-03T21:15:38.825Z","1.0.3":"2026-04-03T22:10:06.261Z","1.0.4":"2026-04-03T22:53:53.873Z","1.0.5":"2026-04-06T22:17:14.200Z","1.0.6":"2026-04-08T22:43:29.442Z","1.0.7":"2026-04-09T04:46:08.327Z","2.0.0":"2026-04-09T18:49:39.554Z","3.0.0":"2026-04-09T23:35:50.710Z","4.0.0":"2026-04-10T21:30:27.295Z","5.0.0":"2026-04-13T21:11:20.790Z","5.0.1":"2026-04-13T21:33:27.767Z","5.0.2":"2026-04-17T20:33:49.549Z","5.0.3":"2026-04-27T21:25:32.692Z","6.0.0":"2026-05-13T06:16:35.952Z","7.0.0":"2026-05-13T16:59:25.720Z","8.0.0":"2026-05-13T18:14:04.030Z","8.1.0":"2026-05-13T20:30:36.218Z","8.1.1":"2026-05-13T21:47:33.752Z","8.1.2":"2026-05-14T04:01:10.068Z","9.0.0":"2026-06-01T23:37:54.308Z","10.0.0":"2026-06-06T22:25:38.017Z","11.0.0":"2026-06-07T16:14:45.674Z","11.0.1":"2026-06-07T16:25:41.069Z","11.0.2":"2026-06-07T19:21:48.733Z","11.0.3":"2026-06-07T19:45:06.555Z","11.0.4":"2026-06-07T19:55:29.802Z","12.0.0":"2026-06-10T13:15:49.783Z","12.0.1":"2026-08-01T22:06:48.839Z","13.0.0":"2026-08-18T23:48:25.833Z"},"bugs":{"url":"https://github.com/alexgorbatchev/typescript-ai-policy/issues"},"homepage":"https://github.com/alexgorbatchev/typescript-ai-policy#readme","repository":{"type":"git","url":"git+https://github.com/alexgorbatchev/typescript-ai-policy.git"},"description":"Shared TypeScript AI policy configs and Oxlint rules","maintainers":[{"name":"alexgorbatchev","email":"alex.gorbatchev@gmail.com"}],"readme":"# @alexgorbatchev/typescript-ai-policy\n\nShared **Oxfmt** and **Oxlint** config for teams that want AI-assisted TypeScript to stay strict, predictable, and\nreviewable.\n\nThis package is opinionated on purpose. It does not try to be a flexible style preset. It encodes repository contracts\nas lint rules so generated and modified code lands in a shape you can actually trust.\n\n## Who this is for\n\nUse this package if you want to:\n\n- enforce stricter structure on AI-generated or AI-modified TypeScript\n- replace hand-wavy coding guidance with machine-checkable rules\n- keep React, tests, fixtures, and type boundaries deterministic\n- ship one shared policy pack across repositories\n\nIf you want a loose collection of optional style rules, this package is the wrong tool.\n\n## What you get\n\n- shared Oxfmt config\n- shared Oxlint config\n- custom `@alexgorbatchev/*` rules aimed at common LLM failure modes\n- diagnostics written as direct repair instructions\n- the `typescript-ai-policy` CLI with `fix-semantic` and `guidance` commands\n\nUpstream Oxlint, TypeScript, and Jest rules stay enabled as baseline correctness guardrails.\n\n## Install\n\n```bash\nbun add -d @alexgorbatchev/typescript-ai-policy oxfmt oxlint\n```\n\nIf you want to use the `typescript-ai-policy fix-semantic` command, install its optional peer dependencies:\n\n- If your project is already using **TypeScript 7+**:\n  ```bash\n  bun add -d typescript\n  ```\n- If your project is on **TypeScript 6** (you must also install the native preview LSP backend for the fixer to run):\n  ```bash\n  bun add -d typescript @typescript/native-preview\n  ```\n\nThe published package ships compiled `.js` runtime files plus `.d.ts` declarations. The installed `typescript-ai-policy`\nCLI runs through Bun, so Bun is required to execute the package-installed bin. The `fix-semantic` command still\nexpects its optional peer dependencies to be installed in the consuming project, while `guidance` only reads the\npublished policy metadata.\n\n## Quick start\n\n`oxfmt.config.ts`\n\n```ts\nimport createOxfmtConfig from \"@alexgorbatchev/typescript-ai-policy/oxfmt-config\";\n\nexport default createOxfmtConfig(() => ({\n  ignorePatterns: [\"vendor/**\"],\n}));\n```\n\n`oxlint.config.ts`\n\n```ts\nimport createOxlintConfig from \"@alexgorbatchev/typescript-ai-policy/oxlint-config\";\n\nexport default createOxlintConfig({\n  ignorePatterns: [\"coverage\"],\n  rules: {\n    \"no-var\": \"error\",\n  },\n});\n```\n\nBoth config entrypoints export factory functions. `createOxlintConfig(...)` accepts either a config object or a\ncallback that returns one. The returned user config is deep-merged **before** the shared defaults, so the shared\npolicy still wins on conflicting keys.\n\nFor Oxlint specifically, consumer configs are extension-only. If the provided config tries to redefine a shared rule,\nthe factory throws instead of letting repositories silently weaken the policy downstream.\n\n`createOxlintConfig` also exports `FilenameStyle` as a named export from\n`@alexgorbatchev/typescript-ai-policy/oxlint-config`. `createOxlintConfig` reserves the `filenameStyle` key for this\npackage's shared filename policy. It defaults to `FilenameStyle.PascalCase`, which enforces `ComponentName.tsx` and\n`useThing.ts{,x}` ownership files. Set `filenameStyle: FilenameStyle.DashCase` to enforce `component-name.tsx` and\n`use-thing.ts{,x}` instead:\n\n```ts\nimport createOxlintConfig, { FilenameStyle } from \"@alexgorbatchev/typescript-ai-policy/oxlint-config\";\n\nexport default createOxlintConfig({\n  filenameStyle: FilenameStyle.DashCase,\n  ignorePatterns: [\"coverage\"],\n});\n```\n\nWhen you run Oxlint manually, use Bun to launch the CLI:\n\n```bash\nbun --bun oxlint .\n```\n\nTreat `bun --bun oxlint ...` as the canonical invocation form for this package and for consumer repositories using\nthese TypeScript config entrypoints.\n\n## What it enforces\n\nAt a glance, the shared policy enforces:\n\n- baseline guardrails such as strict equality and no `any`\n- component ownership files that export exactly one main component or one multipart component family, plus type-only secondary API, and live under canonical `components/`, `templates/`, or `layouts/` directories using `ComponentName.tsx` by default or `component-name.tsx` when `filenameStyle: FilenameStyle.DashCase` is configured\n- hook ownership files that export exactly one main `use*` hook, plus type-only secondary API, and live as direct-child `hooks/useThing.ts[x]` files by default or `hooks/use-thing.ts[x]` when `filenameStyle: FilenameStyle.DashCase` is configured\n- JSX-only React component code instead of `React.createElement(...)`\n- matching Storybook files for component ownership files under sibling `stories/` directories, with story support files limited to `helpers.ts[x]`, `fixtures.ts[x]`, or `fixtures/`\n- Storybook project support `.tsx` files under direct or nested `.storybook/` paths without treating them as component ownership files\n- matching test files for hook ownership files under sibling `__tests__/` directories, with test support files limited to `helpers.ts[x]`, `fixtures.ts[x]`, or `fixtures/`\n- typed Storybook meta with package-relative titles, typed story exports, and required `play` functions\n- deterministic component test ids such as `ComponentName` and `ComponentName--child`, plus required root test ids for exported ownership components\n- canonical component ownership directories (`components/`, `templates/`, `layouts/`) as the only product `.tsx` surface allowed to render raw intrinsic JSX or pass direct `className` / `style` props, with file-role carve-outs for story/test support and Storybook `.storybook/` support files\n- strict boundaries between runtime code, test code, story code, and fixture code, including no imports from `__tests__/` into runtime code and no type imports from `constants.ts`\n- test-file discipline: no skipped or focused tests, no conditional logic, no `throw`, no module mocking, no test-file exports, and no inline fixture bindings\n- fixture discipline: canonical location, single entrypoint, constrained export naming and export types, no local type declarations, and canonical fixture import paths\n- explicit type/value ownership rules for files such as `index.ts`, `constants.ts`, and `types.ts`\n- strict type and function-contract rules: `I*` interfaces only, no `I*` type aliases, no direct interface-to-type passthrough aliases, no trivial property-selector forwarding wrappers whose names merely restate the selected property, no inline type imports or inline structural type expressions, and indented multiline template literals\n- a policy stance that inline lint-disable comments are not an acceptable escape hatch for fixing violations\n\n## Lint-disable comments are not a valid repair strategy\n\nAgents and developers are expected to satisfy the shared policy directly, not suppress it locally with comments such as `// oxlint-disable-next-line` or `/* oxlint-disable */`.\n\nThis package explicitly bans inline lint-disable comments for both ESLint and Oxlint. Treat this as a **hard policy signal**, not as an obstacle to bypass. The enforcement strategy assumes you will fix the underlying contract violation rather than suppressing the warning.\n\nThe important contract is simple:\n\n- do not use inline lint-disable comments to get around the shared policy\n- fix the code so it satisfies the rule set instead\n- if the policy itself is wrong, change the shared package deliberately rather than bypassing it locally\n\n## Storybook is the React component contract\n\nFor React components, this policy is intentionally **story-first**.\n\nEvery component ownership file must have a matching Storybook file, every story meta must be typed and use a\npackage-relative `title`, and every exported story must be typed and include a `play` function unless `!test` removes\nthe built-in Storybook `test` tag for that story. In practice, that makes Storybook the canonical artifact for\ncomponent behavior:\n\n- the same story layer can back CI interaction coverage\n- the same stories also act as the human visual reference for the component\n- component structure and component verification stay in one place instead of drifting across separate ad-hoc test files\n\nThis package does **not** wire your CI for you, but it does enforce the repository shape required for Storybook-driven\ncomponent verification.\n\n## Expected layout shape\n\nThe policy enforces canonical role directories inside your feature tree.\n\nThat means repositories can choose their feature boundaries, but component, story, hook, and test files still have\nfixed ownership locations:\n\n- component ownership `.tsx` files live under `components/`, `templates/`, or `layouts/`\n- nested subdirectories inside those component ownership areas are allowed but not required\n- non-story, non-test `.tsx` files must not render raw intrinsic JSX such as `<div>`, `<span>`, or `<p>` unless the\n  file lives inside one of those canonical component ownership areas\n- direct `className` and `style` props are only allowed on raw HTML elements in files inside those canonical component ownership areas. Custom/capitalized components must not accept `className` or `style` props in any file.\n- Storybook project support `.tsx` files under `.storybook/*.tsx` and `.storybook/**/*.tsx` are not component ownership\n  files and may use local Storybook wrapper markup\n- story files live under sibling `stories/` directories, and that area is reserved for `*.stories.tsx`, `helpers.ts[x]`, `fixtures.ts[x]`, and `fixtures/`\n- exported runtime hooks whose names start with `use` live under direct-child `hooks/` ownership files\n- test files live under sibling `__tests__/` directories, and that area is reserved for `*.test.ts[x]`, `helpers.ts[x]`, `fixtures.ts[x]`, and `fixtures/`\n- fixture entrypoints and fixture directories live under `stories/` or `__tests__/`\n- component filenames match the exported PascalCase component name in `ComponentName.tsx` form by default, or `component-name.tsx` when `filenameStyle: FilenameStyle.DashCase` is configured\n- hook filenames match the exported `use*` hook name in `useThing.ts[x]` form by default, or `use-thing.ts[x]` when `filenameStyle: FilenameStyle.DashCase` is configured\n- `index.ts` is reserved for pure barrel re-exports only\n- `constants.ts` is for runtime values only\n- `types.ts` is for type-only exports only\n\nExample:\n\n```text\nfeature/\n├── components/\n│   ├── AccountPanel.tsx\n│   └── stories/\n│       └── AccountPanel.stories.tsx\n└── hooks/\n    ├── useAccount.ts\n    └── __tests__/\n        └── useAccount.test.ts\n```\n\nMinimal config:\n\n```ts\nimport createOxlintConfig from \"@alexgorbatchev/typescript-ai-policy/oxlint-config\";\n\nexport default createOxlintConfig();\n```\n\nWith that config in place, routes, pages, feature views, and other product `.tsx` files must render imported components\ninstead of raw DOM tags, and they must not pass direct `className` or `style` props. Raw intrinsic JSX and direct\nstyling props stay on raw HTML elements inside canonical component ownership areas, story/test support files, or Storybook `.storybook/`\nsupport files. Passing `className` or `style` props to custom components is banned everywhere.\n\nIn a consuming repository, use `typescript-ai-policy check` through your package manager's local binary runner to\nexecute the shared formatter and linter checks against that repo.\n\nWhen a consuming harness supports environment injection, configure that harness to run shell commands with `AGENT=1`\nso `typescript-ai-policy check` emits agent-formatted `oxlint` output automatically for agent workflows and more\ntoken-efficient lint output.\n\n## CLI tooling\n\nThe package includes the `typescript-ai-policy` CLI. Its `fix-semantic` command is backed by `tsc --lsp --stdio`, and\nits `guidance` command prints authoritative repair guidance for the local `@alexgorbatchev/*` rules as a wrapped\nMarkdown bullet list with bold rule names or as JSON.\n\nPackage-installed usage:\n\n- `bun run typescript-ai-policy -- check` — run the package formatter and linter checks in the consuming repository. When the consuming harness is configured to inject `AGENT=1`, the `oxlint` step uses agent formatting automatically for agent workflows and more token-efficient output.\n- `bun run typescript-ai-policy -- guidance` — print the published rule guidance that the package exposes for AI agents as a wrapped Markdown bullet list with bold rule names.\n- `bun run typescript-ai-policy -- guidance --json` — print the same published rule guidance as JSON objects with `ruleName` and resolved `guidance` fields.\n- `bun run typescript-ai-policy -- fix-semantic <target-directory>` — run Oxlint with this package's policy config, collect supported diagnostics, and apply semantic fixes to the target directory.\n- `bun run typescript-ai-policy -- fix-semantic <target-directory> --dry-run` — print the planned semantic-fix scope without mutating files.\n\nThe published `guidance` output is package-level repair guidance, not a repository-specific config dump. Agents should\nstill inspect the consuming repository's actual `oxlint.config.ts` before applying file-specific guidance in another\ncodebase.\n\nRepository-local development usage:\n\n- `bun run cli -- guidance` — run the repository-local CLI entrypoint directly from TypeScript source.\n- `bun run cli -- guidance --json` — print the same repository-local guidance output as JSON.\n- `bun run cli -- fix-semantic <target-directory>` — run the repository-local CLI entrypoint for semantic fixes.\n- `bun run fix:semantic -- <target-directory>` — run the same `fix-semantic` command from this repository checkout while developing the package itself.\n\nThe repository-local development command uses Bun to execute the TypeScript source directly. The published npm package\nalso uses a compiled Bun-targeted bin.\n\nToday the framework applies three conservative semantic fixes:\n\n- `@alexgorbatchev/interface-naming-convention` — rename repository-owned interfaces to their required `I*` form when the existing name can be normalized safely.\n- `@alexgorbatchev/no-i-prefixed-type-aliases` — rename repository-owned type aliases to drop the interface-style `I*` prefix when the diagnostic resolves to a concrete type alias name safely.\n- `@alexgorbatchev/test-file-location-convention` — move misplaced `.test.ts` / `.test.tsx` files into a sibling `__tests__/` directory as `__tests__/basename.test.ts[x]` and rewrite the moved file's relative imports.\n\nThe command and backend shape remain intentionally generic so more rule-backed semantic operations can be added later.\n\n## Learn more\n\n- [`src/oxlint/README.md`](./src/oxlint/README.md) — full rule catalog, rationale, and examples\n- [`AGENTS.md`](./AGENTS.md) — repository guidance for coding agents working on this package\n\n## Local package setup\n\nThis repository also consumes its own shared configs at the root:\n\n- `oxfmt.config.ts`\n- `oxlint.config.ts`\n","readmeFilename":"README.md"}