{"_id":"eslint-plugin-llm-core","_rev":"49-5699d59525cef674e6bff513381763ff","name":"eslint-plugin-llm-core","dist-tags":{"latest":"0.37.0"},"versions":{"0.1.0":{"name":"eslint-plugin-llm-core","version":"0.1.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"ISC","_id":"eslint-plugin-llm-core@0.1.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"dist":{"shasum":"5daea9a704f7e3ae18fa2c61f90844ccda628659","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.1.0.tgz","fileCount":54,"integrity":"sha512-6wlksO+RVSuM/zt3IDwovbohuA33omjUfZiqgrIK0BHeHTIydgc3KU0x/Y4wPBT3F0Ue9sL5p4o0s7gd1sJ6zg==","signatures":[{"sig":"MEQCIBo2E9X5QJWrpdkKHw/3Lcj/cRBG2xmNyeNdNTupHuFWAiBmvLwiM9dOWWsw/a6ZCv4c95q1cnAny4kf3pFlSIMfiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101425},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js"}},"gitHead":"42e383f6f706547883ed8c40d99e85985c777a19","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"pertrai1","email":"rsimpson2@me.com"},"repository":{"url":"","type":"git"},"_npmVersion":"11.11.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^9.0.0","vitest":"^3.0.0","prettier":"^3.0.0","typescript":"^5.5.0","lint-staged":"^15.0.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^3.0.0","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.5.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":">=8"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.1.0_1775074071055_0.36252879832329477","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"eslint-plugin-llm-core","version":"0.3.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.3.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"f176a625c8b111633f4b41c3b0fbcd681478e63d","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.3.0.tgz","fileCount":63,"integrity":"sha512-aR4LBhJOM+babwCxYIqVIpbJgdWSzkxEhPwthHVsgS6mM8hSlKtG1YNK6BFSJWxzgwnYv8T34yLQnzXbggDSEQ==","signatures":[{"sig":"MEUCIC+DCuo5fCKvysgX1acmpxMgJ1SaUWV9TohtYIbUo7p6AiEAqQrYkoKGx6z2pB/GoS95HDn6j0LEosTHDk1AQoiHHJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122145},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.js"}},"gitHead":"54765e8892149c615f8f4871c008e5840f7e6384","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^9.0.0","vitest":"^3.0.0","prettier":"^3.0.0","typescript":"^5.5.0","lint-staged":"^15.0.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^3.0.0","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.5.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":">=8"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.3.0_1775088406912_0.35749731697764453","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"eslint-plugin-llm-core","version":"0.3.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.3.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"24b977be8c85adcd2ac274b46d77879c28e60e99","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.3.1.tgz","fileCount":63,"integrity":"sha512-MgcGz1BLOGP7TDvLs2KCYaLOMMtBU/7Gu/wDxJYqB5TpyT3OTYqkSaNdyPXa4ZITxwz8T4km0Ex6posVl4MODQ==","signatures":[{"sig":"MEUCIQCNku2nEBCOh93oPtHsgv5wPzalR/vyJxhhI2rgpUbNdQIgE3JW+MSigif3sqSjoOgU3N+Hs29yMNOVuMloxJHourM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122216},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"4a62834bc4a8174849f484f9e68b54abee767dd1","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^9.0.0","vitest":"^3.0.0","prettier":"^3.0.0","typescript":"^5.5.0","lint-staged":"^15.0.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^3.0.0","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.5.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":">=8"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.3.1_1775128892129_0.8544686557694376","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"eslint-plugin-llm-core","version":"0.3.2","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.3.2","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"d954d24382569fdcac232d7167508da21edd7f86","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.3.2.tgz","fileCount":63,"integrity":"sha512-aqLiwMFqvb+sFSieHjwj4de9NMIxkcTjhNCxqbX/dqfSJpdwSiooc4t9LGiSodoqry7HhM2rcETNXdF7ynPIzQ==","signatures":[{"sig":"MEUCIBCIe+CjhHp2xXiJm2ynkiwmMEBUpp0kQ3XIoa8v/NczAiEAlSaaaLn7GdOsX46JabTpTYz6Z6ABBHAlP/1mIK6+p5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":122558},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"8c8714691a66d4c9c8eb9cf28af96a861d1e3340","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^9.0.0","vitest":"^3.0.0","prettier":"^3.0.0","typescript":"^5.5.0","lint-staged":"^15.0.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^3.0.0","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.5.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":">=8","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.3.2_1775129595185_0.45428110710248215","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"eslint-plugin-llm-core","version":"0.4.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.4.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"11d956ea44f53528e30c32279af59253055315df","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.4.0.tgz","fileCount":75,"integrity":"sha512-yMkZ6xlCrZWhJV0bmZSdA7lPalA5GA610jtTHpz9+RJyab+w5qGkRLpZCglFX5zt8O3jeEj3HwDz5vkX4sMZJQ==","signatures":[{"sig":"MEYCIQDhIPupVdVPakjt+jXxiL2figFObfifeOu0FPa2Og2uhgIhAMQFq968c2xMNjIsSTtrJlx2bRvCNqd8gx/LP5miJMK/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140277},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"c04f158b6ac5a140d5b12839f1e77e6c9045c881","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^9.0.0","vitest":"^3.0.0","prettier":"^3.0.0","typescript":"^5.5.0","lint-staged":"^15.0.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^3.0.0","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.5.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":">=8","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.4.0_1775138363423_0.6449295453242931","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"eslint-plugin-llm-core","version":"0.4.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.4.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"95af4bcf69cf55c8c2e1ebcb6044b4f64063f45f","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.4.1.tgz","fileCount":75,"integrity":"sha512-dVCfwT9he+DLBSn38vLdd0sqNe5DRARNZ77ttCEvn0/Kts6G26wIyjxCsX6XUTxKby1W8kpbE07PtO7BaHxUtw==","signatures":[{"sig":"MEYCIQCFEJiMHdKQj+/8JCnTLX3guSt0FdARrc3yj7XZMo2E+wIhAP4nSiGKq3lE/fLm0LHUQSpoWtvDmFyPA2rT0WPrhjsG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140267},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"40d3146d9c7376db9e4dfdf7e48e294ff53443e3","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^3.0.0","prettier":"^3.0.0","typescript":"^5.5.0","lint-staged":"^15.0.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^3.0.0","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.5.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.4.1_1775140161684_0.9215179021303495","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"eslint-plugin-llm-core","version":"0.5.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.5.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"820527f84f411b50dfb7ffe825b3f8d804f02b6d","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.5.0.tgz","fileCount":87,"integrity":"sha512-OrZWNrifiOlAZAYCLlPVFZarAaofDVlAeB+fQ37CFmmtPJIjcptNC4hQSENasLsZbBwTPpUy34OfwXVwxo7CzQ==","signatures":[{"sig":"MEUCIQC+ec+2qW9DEb0RL/dJkAYeBOKEg7EGqFPtNZiD3WGL6gIgKG5H1MhiQsglYH0ZNx8uCGO8v/MyRfdap+vkQQpSU/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":163026},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"9d7d797836e25cec81a992ac5eb8b108e3792d3c","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.5.0_1775144338856_0.2508588672625731","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"eslint-plugin-llm-core","version":"0.6.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.6.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"2a03c544399f1a9811956c36797981cd7cf9fac6","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.6.0.tgz","fileCount":87,"integrity":"sha512-r6oSOAoyHq64Oyry2d0OorlUvZol8llzo0/pXnMZs6lDjpOEsVHS3qQc6KIiyuI60mS8wQpLaCb8YES/0oDbuw==","signatures":[{"sig":"MEUCIAYOuTls4ltg8LD3oI0/CowYe7bno06snjnih+af7Nu8AiEAnPzrHrdKtcFB3y96ghpkUMYNftdGoDiXLKjx7qAPOtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166814},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"76970e114324ea467f2148fc4cd332bfdfe535a9","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^2.0.0","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^6.0.0","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.6.0_1775146357765_0.01736076552577659","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"eslint-plugin-llm-core","version":"0.7.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.7.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"c9ffb0d0241a432596af0834fbb981b27f1170b2","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.7.0.tgz","fileCount":91,"integrity":"sha512-O3N8xyRjOpeoLiZtCvayNhCmN6vG+SQl9zVGtHWT/V6Xw975shOJ1RGGhFMB0fc7Y46v1acuDp7iggqYdGfR4g==","signatures":[{"sig":"MEQCIEziv3P/qFQ0l0E8NhcdiLkJ04g44HTqa2I5iVHvT0YtAiAZhc2RDQa07bCo/dJ79X4i6XoFInqM7lr/XqvhmdVG5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182646},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"84cb94857ceada37e1663bf59698b2ef265e698c","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.7.0_1775220107055_0.9200936150562222","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"eslint-plugin-llm-core","version":"0.7.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.7.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"c1149692c62e3badfd8c356a59f276428b149d34","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.7.1.tgz","fileCount":91,"integrity":"sha512-YP/0H3tW+7oAPTe5nXAeEFJQb4TeQnMhYiFkDKMO4RsmU/fEBtH18tL2JybvrXxs9orwoOvrIf0JSOu+0UCb0A==","signatures":[{"sig":"MEQCIGDoIqwmljuDuCVsxWDwP53cfC5KWSb2ntJOEcm3DgvWAiBDRr9FWvucn3NumtMQvJsJlyiejcfPqRu/AGcn5qWfUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182645},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"2ff2f656a9ab94398745e633251df3d9ac2ca1a1","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.7.1_1775226963252_0.9177234367794742","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"eslint-plugin-llm-core","version":"0.7.2","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.7.2","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"b1a6940ee540241e6f054897abf6b513980d0fae","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.7.2.tgz","fileCount":91,"integrity":"sha512-LV4ax0ZJK0ujXecf6naSb3to+OCwPObmJSYUlKm12EYDbTjOIxg3XeKHoSH4E4p8cdx8E6cwoZvjeJ2TPOukhA==","signatures":[{"sig":"MEQCIFveF+Jol55Ip86ghGR5OO9D/8LcQyCKgMK4D6n0najEAiBSU644JeSRMHsYksXmKG8c6v1nY3yeN0ila24IUMmDpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":186258},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"7b28ec4ef407969be69860b178ee64aed82e7c91","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.7.2_1775228797101_0.8095813869231936","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"eslint-plugin-llm-core","version":"0.8.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.8.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"555623afd3874140fc77c46b32a2a847050daee9","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.8.0.tgz","fileCount":95,"integrity":"sha512-9E/J+qCsEfZaV7/q5j7TNlQB0Tz/G6vkGns3VlSbrlhYFX+xdp5lW7AH9cKucjQvrNaLn2FxYlRHUbD6h6rCCg==","signatures":[{"sig":"MEQCIC1ingRAQe/TP3GVJZoBhjGpD0pp83e8fLRw6mkLH1M4AiA+9AwX8auNcow+DsLQ1/d1Q+X1a3+Q9+RaH2Lzn3c4nQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197506},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"72b2bafee346faf80116329d697857d8057d88b1","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.8.0_1775316246528_0.5964107450609029","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"eslint-plugin-llm-core","version":"0.9.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.9.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"a9cf8734961eeb91c90291f0eb4772cd0596c5ac","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.9.0.tgz","fileCount":95,"integrity":"sha512-fGjGqPaCExi0HcRReaJE7hOR6v9Bf4ca6kVrVrYODAhOPPyfZBbO/OFWLKRrbTVCxiwo+biJ41iJYFMc8+8MAA==","signatures":[{"sig":"MEUCIQCMGj9ycHb+ctTR2ANZH1AhDCGbiymHRzC59FJAB04/IgIgPklj1ik1G2yF/jtTGcP3dIv1UEZZ4IQ28TKfhFts4f4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203049},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"072933dc4c38fa4f8b5b5bed0367cea078ffdc4f","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.9.0_1775396574297_0.07554199965240804","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"eslint-plugin-llm-core","version":"0.10.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.10.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"ebe6f559a40cd33d8d9b48312b54caca91a9b93a","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.10.0.tgz","fileCount":99,"integrity":"sha512-5ByLZZbxlMkOoxhIpVyZCePICpNaJxLmeQN2o6g0O6HPFcoo66qGW+IJiKX+yeDQhQsBwE0Mvr+J2f6yFqvaDg==","signatures":[{"sig":"MEQCID7W+Y4CDPf9PAeI6sU1W5TGo0ll4S+a6fxoExRtmdqBAiBy9DoJC/9SpCcA0sjKGH59ctvRi7gb9taFpopS1ToTmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210875},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3743c166c831138c79e9c75a924b2bfaf01ef5d8","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.10.0_1775398529929_0.8385378200646445","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"eslint-plugin-llm-core","version":"0.11.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.11.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"b0eab6347ca22e83bc490b30a21d1a68cdb5a9e7","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.11.0.tgz","fileCount":103,"integrity":"sha512-Dt4hra8/S0tgWStWSzpGAI8+zuJ5HerFPlxgm7uzOeUai9ppOzWRZL0QaQk8aIL68LMZjthnei0MLzMZr/KNeA==","signatures":[{"sig":"MEUCIQCtykfpwVA46wllMUG2w6OenlPyziDiVVaprPvTVgcBiQIgaGfw+/fNTCQFXNKIsRq6IEfv/aejT12UOUalOW/O5kY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":236991},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b39a0ab3374e581280b593952b220becfdcb22ba","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.11.0_1775406504916_0.5956307321510224","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"eslint-plugin-llm-core","version":"0.11.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.11.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"a9f3c8bf84da342ddd8bbee18e996433c8581982","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.11.1.tgz","fileCount":103,"integrity":"sha512-3YtQMqbJaB+Be4YxdxqrHlqWbfYsbOtj/MPAmgudkP57tMjSBaCAV0jh2jD7b/FjwofTG17gXG5z4jD/rc03Gg==","signatures":[{"sig":"MEQCIDYoRO/GuaojAJMAkXEVFZd4kZ0T4+iX49g2ho6UROdaAiAaJ5qq23f9YeUzAPrXLKZ3pcflTV0Y/2MT+qou5JH/wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":236465},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"a5486ca5622cccf295d66baf08491a8d14bcb1c6","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","format:check":"prettier --check .","test:coverage":"vitest run --coverage","update:eslint-docs":"eslint-doc-generator"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.11.1_1775486943198_0.57871374170261","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"eslint-plugin-llm-core","version":"0.11.2","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.11.2","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"5483e0aa154e6050e9c50d7218d04cd4a6603d69","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.11.2.tgz","fileCount":103,"integrity":"sha512-IjDl8LSVQOkh9VGlDeQAAsDt742EDSAl2LS62VksCl3qw6vut7h/IRB3/apNV7R1drpzhnDdP7OhqlDpPBcgJQ==","signatures":[{"sig":"MEUCIQCc/gAuaOx51YImX11xQp9rSDf0wcDYFa2/Oi//kOIuVgIgAjk/FZW835D8I7PEFlsqWgfff6Ig1VcwvAs8tJVTpxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":237416},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"17875307c8948f3916cad9229f4163ffe121dc34","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.86.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.11.2_1775754945819_0.8327240542037477","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"eslint-plugin-llm-core","version":"0.12.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.12.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"6cf257eb65ccfe2b9f9a5c2db95e7bf2d39728a2","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.12.0.tgz","fileCount":103,"integrity":"sha512-lKWX0Ztf17tC/LHKGPK93htMMzHZ3SRswMGPe4Jc8iNoNOKKxSqenZ6FVgLtlbyLaMcPAtuPPixTjbDhV8aMNA==","signatures":[{"sig":"MEUCIQCReyKR+njLz+MCrjVvPTYzrEQPb8sr4bqhzVfaviG22wIgRQwxXDoV7VBecjeecfAb1I66toJeE4knrRYEZ/W+iCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":248265},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"025b98bb108b3f4995e0a94a19dbbf27441e2b91","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.86.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.12.0_1775854357299_0.9974977114161685","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"eslint-plugin-llm-core","version":"0.13.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.13.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"486f5833cac26c341b86f70471b861e1795865ed","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.13.0.tgz","fileCount":107,"integrity":"sha512-DFh9UPuxrVUOYtabNTlmwki8OVQcVjQZL8qam7ZPUeD3Hr1JmIwpCA/VGsf+2358vDfhz+KghS/rkQ74MjrHBw==","signatures":[{"sig":"MEUCIDU15LWsODivu/Mu9Xq38wgR4XK7RT7GBiqvm6uWEWpdAiEAs+JS2VRbgbA1KkIHiXcdjgb8wKlZBm9hOTNINKTvvKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":253789},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"8c90e07ac01ee77b66a39167b08890410e92c367","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.86.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.13.0_1775909269752_0.07153591919965452","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"eslint-plugin-llm-core","version":"0.14.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.14.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"8dd48c4c97de88f8ccf5a941d1c5d0fbcae089b8","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.14.0.tgz","fileCount":111,"integrity":"sha512-/sRs0GZobKCOMqtsuNAXJOun5G+z4hqKixxHWiQC8br2AhCXVgzbvGo+YVnQgywuuH6bgYRRUQdVghJTlmsOwg==","signatures":[{"sig":"MEUCIQDy3si6ggZLpy+1sejS68IlfAMm9Cx9sBaQ3FIEqPFUMAIgIZNKA3C3pf6/yyQsQ8iQW1e5T4tIlgHlrTcmpqEeah4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":268900},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"a12ed472aff37408444559429ff9b7028d7661e7","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.86.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.14.0_1776212604189_0.07494250915775158","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"eslint-plugin-llm-core","version":"0.15.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.15.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"e73ec5c438a29e022dd522bff3acea0437908504","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.15.0.tgz","fileCount":139,"integrity":"sha512-JCMtbnjPf4FCQYDf7Tg+TyTp5A0LYwRTc/71R1CleXxfvFTNJmn61gTt4loggazRAipOHQXMRR1mGNoUY9o55w==","signatures":[{"sig":"MEYCIQDc7X7nvFlgPFUUIjJMOgk1vbTCDPNMiXEN2WamqroQagIhANzCjasSKJvE5D+apIp5pWFm3kYbMFVN+n47YgoaWM54","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311116},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"b3d1eead544c69d78d0f1f4a2625598ec212de34","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.86.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.15.0_1776262982150_0.9992591226088099","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"eslint-plugin-llm-core","version":"0.16.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.16.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"ff18afd33cc6f0628064120cf2ab5a12ef070925","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.16.0.tgz","fileCount":143,"integrity":"sha512-9AGU0x775yodyxt2CXbPiIBApgpAYIILkkgeAO/psweC6su/PaqX0xiOxnvSm/Tv6z8FrxIMAymq87w2CM/y+A==","signatures":[{"sig":"MEYCIQDmKmyhvufKnWlOLm8jW0eXSkc+Y9oIotDNxJXS62WKVAIhAItepKnIukgqI6F8iaaiTeIIxwVdkujYoMkHYW1SxNLW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":320053},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"0615c789cc04bce1a6be2cb5a748d980ef160de9","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.86.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.16.0_1776271226292_0.8577276717272317","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"eslint-plugin-llm-core","version":"0.17.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.17.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"43f0ff4f305c5a2a0cb508362f14a36cc4a0a01d","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.17.0.tgz","fileCount":147,"integrity":"sha512-9xTBm41JO4xAyNagMl/PIf571bd0n+IJ0sy1iKKQNaz6QamFktMhRPqQgrz41zXdTAwhbGKKR8avXWoUrZlqHA==","signatures":[{"sig":"MEUCIQCiySX/mG7pBd72rHG7+M6pECsDD6KfYLa74Y0ISUlVTgIgc0O6Yh7JA54PPTdnP2awYPiXo85LT9/i1L0j3fMpaD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327572},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"c35928b7be5a675dc974a294c6f880988500481b","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.90.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.17.0_1776522722531_0.732930905232261","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"eslint-plugin-llm-core","version":"0.18.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.18.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"f828897cfa219b55b339420f9f7b6cff60a2a6a5","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.18.0.tgz","fileCount":151,"integrity":"sha512-+mW7KVBXqG0H6hSW7pioPEqZjv8iaqGNVmiDJNmST0msFh0dEFoLZ5vm/mv238yGRuvmRbqMEnIMlTHASvHNjw==","signatures":[{"sig":"MEUCIQD+W63ZOdEagJhx0W4rFLEH7cReMGT8lPa+BVPcxH30tAIgZtYzOhgNM5WU8vZJTHpO5gsiFpqwZSq9ocMX6OaJy6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":336517},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"edf1091c7426ca4769597f334481a873853b3494","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.12.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.90.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.18.0_1776778734413_0.9858225069448017","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"eslint-plugin-llm-core","version":"0.18.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.18.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"bfeacbe88271a62db8b2c9db6dfa2302462d24eb","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.18.1.tgz","fileCount":151,"integrity":"sha512-7UKNpUnEi3jJyu1+235SDVmvbdZZOuUveLI4EhLJL5VKuJWf2yHDQl/x4pbEctpwh351rdcZJuqK+DxHRruyaA==","signatures":[{"sig":"MEUCIEz5QwbH5uWQsDIMXM2fFSvvqBO2MVzrgLMkUQN3CoTXAiEAujIN5lCwla3PbFcNnLE4SN2n2v4eTFgrd+CEHMhFW/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342157},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"0e52db3ab7155d77c19b7c6ebc778dafea4d0f74","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.14.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^16.4.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.91.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.6.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^20.5.0"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.18.1_1778158915835_0.5686793108694881","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"eslint-plugin-llm-core","version":"0.19.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.19.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"24da2b3f61da49aa6039368a479c59b1392696ee","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.19.0.tgz","fileCount":155,"integrity":"sha512-Bk+/H+//rMhd3/e5qt1sv59fuCi8/1sJEQdF6VcMebxR+GxuFeYSvZFPgywwkg1QumqUSudTApq3fsmRuxT+tw==","signatures":[{"sig":"MEUCIQCPfXkVS8xQZ3/qTkz4UJWmaRCpSnIqSL9+/pXXF4B1uQIgN0QuPc5uo83ylWFbPRa20bVQYFBGlUrcQbAlRt7aDVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354335},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"3553fbc37c085d216c62587f2aad7c9347d4aad7","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.14.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.96.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.19.0_1778908050052_0.5861997695846071","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"eslint-plugin-llm-core","version":"0.20.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.20.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"d58208c30f63dabcb7cbdbc228bd2b96817c645a","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.20.0.tgz","fileCount":159,"integrity":"sha512-qwPuPJQ+IJz8jlTX8pOxZko6XM1jDg38CLlq5s6z498xi1W39UkvtJEPBLwwm8Lg0PcDEyqWpivGfXHdoktL6w==","signatures":[{"sig":"MEUCIENYPy9riPXuNb0w9/Gat/BjgYrRCQ8025c0o/XdAIc3AiEAlxN94l69gT2Pm+aJleb6GHHhEs6ihVoZ3gnWVbXBAps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":361920},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"0f8f1b79f5a31ad538689cf4f3e5ee9bb16f5ae5","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.14.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^20.5.0","@anthropic-ai/sdk":"^0.96.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.20.0_1778934614377_0.2104941840392276","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"eslint-plugin-llm-core","version":"0.21.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.21.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"91d0e547ccd6742a62ea4ed97eb26eb7a9c961b3","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.21.0.tgz","fileCount":163,"integrity":"sha512-xKfY+cW/a1b2AqewSVpqvqNJ35x2otO9yEKl6sR8ZgRC40uHgrBQ+CVP4vKZnpFt4ZNQg0hMd6GdD7aUN0+56g==","signatures":[{"sig":"MEYCIQDQNRxVBygYcwA79gTvoxQScp5OwzfilXMnYp1yvrNV1wIhAJvKFEXzCLo2tON6UTylfee0JI6AEEGZ52lmfbRzvDA1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":372123},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"c29d9dc46437371cb1fa772be47093556fb5659f","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.14.1","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.96.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.21.0_1779192121340_0.42245664711916486","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"eslint-plugin-llm-core","version":"0.22.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.22.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"88d8dbc75111e66170f14d2c58ee15d69d90950b","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.22.0.tgz","fileCount":167,"integrity":"sha512-IFSTvU6VyvEPOnwILP12wDs/JtLXjoO30UpVTR61ZTL19Ig2S0MeoPAPXqgkDGaCNTy/FzcWfm7hCcp5cvfn3A==","signatures":[{"sig":"MEUCIDBams+Kc9x6cCNzW49y94+AY+pGe1vgtJoNb2aflulFAiEAwcUsV/gvxwZBPeX3OaLXLvYekL4cAQ+fFzoLWOyjz+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":378360},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"12dff58edfccf817fe96ac1465f15c55160ccc45","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.15.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.96.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.22.0_1779337052261_0.10129047730671581","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"eslint-plugin-llm-core","version":"0.23.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.23.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"14db61883346668250ae2ff146784b99289c80eb","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.23.0.tgz","fileCount":171,"integrity":"sha512-KkvjxnuNdT8DjsO0uY5O105Q9omYCQSc0NuEu/rWjM5h9K1yqGuvHFGNsA/xxSNcod4GlvR7xM/l8hia2c7m8A==","signatures":[{"sig":"MEQCIEeJHbIHF4/IlZRrTvHoGfQo4AG2izBDJJPHdTaf2ATlAiBWbWUcK/0Lc2h/DkIKHXadNqmQTgnvfRCak2B9fryeYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":388390},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"548ac749761f3427a78bfe95bd33cd5a97292794","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.15.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.97.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.23.0_1779455039310_0.3651140244369715","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"eslint-plugin-llm-core","version":"0.24.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.24.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"e9017c5951d64fcb2a1ce96e0d04794811aca645","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.24.0.tgz","fileCount":175,"integrity":"sha512-fbQzHnOX/OEYVuDB2ECizk5qjkCrfKP+9PFBQNe5djMj41TvDzbx6tcSfSyYnWpC8uArH4TTzVH90iFnZWDP3w==","signatures":[{"sig":"MEUCIQCXzsujPVz+hdOoKBSxS7bJdMZN4LCoc1gRts36a6hPdAIgLIcN4W6xOm1TRtw0NEuFJC/EoUxlKIXewJkdH7QGNdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":406254},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"eedc5b7d3da45fc963a9c484024d7a7f47f6e3cb","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.15.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.97.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.24.0_1779843054154_0.9936106177995572","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"eslint-plugin-llm-core","version":"0.25.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.25.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"733bcb3ca1d4abe81babded84cf1cb7be2e472d2","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.25.0.tgz","fileCount":179,"integrity":"sha512-5M/8mq2yWfdAjO68lFOfbsQz4xCTCUrRSpfkQnf3Q+x5713rCQU78US2OlqtCgd4jldamFxTKAduQN9pHz2Y4w==","signatures":[{"sig":"MEUCIC4PqlwPk/khob0xRDf3IW8lDWETAKHJ5kcStaPMFNgWAiEAqsEmIKI+9Kq5zoe67B16NuXMpLR9mpoH6G8Smg766ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410393},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"6c00f4ccd35471b81645f38338d1f59d8a11056b","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.16.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.97.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.25.0_1779923117529_0.9741752618956092","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"eslint-plugin-llm-core","version":"0.25.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.25.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"afb59900220e1ca608f106fea33f0c61746275cb","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.25.1.tgz","fileCount":179,"integrity":"sha512-GeMBH3DpNOPb1ES+fuHjL15SFe2zifPrgM2y2ueuKkfM4QsbaPUT4taoLXx926WoyAof1VBQ3MQ0PeleRY2L4w==","signatures":[{"sig":"MEQCIHstnsiJBMNfS7qpmdl6ij7vkzXlASeZvB5yDv/G9l1qAiBSwGbapFMHHo+cuN0DVBVPhCwfcsa8PtdC/8rnsWEv1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.25.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410393},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"8a750c46595ce1e31a0ca46812ab8a9bf35bb3c6","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.16.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.97.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.25.1_1779924616301_0.9754927606399939","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"eslint-plugin-llm-core","version":"0.25.2","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.25.2","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"365d39aa6dbff893b896724504ccd548afd595eb","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.25.2.tgz","fileCount":179,"integrity":"sha512-URHDFBgr+8nM0w0HD360HrEz4KiojUXa9VJ/Vq8Qf2iRsx/5DiHJAupEj2WeapIhNGvyX8cjzKkhV42nUphwFw==","signatures":[{"sig":"MEQCIDmJPgW4gqYt9JU7ycgoXHz+yQJOXx0Bicqli7TTotXCAiBMPULMUl5FxQkEvvjviY+lgD+egQUMkwITf92rSMkjMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.25.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":410393},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"a9a72c0f4e5528f109e44ecad4462723000058b1","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.16.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.97.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.25.2_1779926194885_0.5751819250465939","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"eslint-plugin-llm-core","version":"0.26.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.26.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"c852215c776830adcf8c23ad10ffb8759ed01b86","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.26.0.tgz","fileCount":183,"integrity":"sha512-9J+bqbq+CfHOZ7V6nnjkbdAKqEJZkBHB/NNMNcq1EW4Kae74vdIbgCuBdZ7AWx0JtRRSFX2HZYDb8NguBBO8hg==","signatures":[{"sig":"MEUCIDjg0AERXM0tB3TAKhCihLl/+97JH/bX00PjL7rKyOQeAiEArzDx6p2JxFbsGwc8+VH2qYI0qSAIArnBBVHDD5x+ztM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":415923},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"124dab536b4672cb46ed0bbe82600c808d73cfb6","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.16.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^25.5.0","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.99.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@changesets/changelog-github":"^0.7.0","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.26.0_1780107155810_0.19407903722939257","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"eslint-plugin-llm-core","version":"0.27.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.27.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"d4fc1f073886db0892edfced207609c1a88b2bd0","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.27.0.tgz","fileCount":183,"integrity":"sha512-DePEpvkjr2/iKcduvoYzEH9YorH5dqWoRgYirF5AqW2EgdYxlaldBx1flzewKru+0Z05e7jwGGVzuwfbAWiE1A==","signatures":[{"sig":"MEUCIQC5waS60XcZ16dwI+k6C1lG+reFGZweR7FJjSvE1XVrKgIgfSFg4/LD2Fa/Y4bK3oE8XgPgbjdA8CviJm3cqnGpx8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418608},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"a358de5a428e3e90fe6088fedcb6d2dffe5ba92a","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.17.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.106.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.27.0_1782484424544_0.3222999134169191","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"eslint-plugin-llm-core","version":"0.28.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.28.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"3846c3fe2fcbe97102d3602e6b4722e85b3adbdd","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.28.0.tgz","fileCount":187,"integrity":"sha512-+djVf9cO4affeqJTX+UAkbRXdYEAApsJ/D883ucvgkWnUzYR6AN6UNd6Aa9M+JsmZcypt4zkOXlquiRqtOT6Qw==","signatures":[{"sig":"MEQCIDpN2zUFf/0wPl+er6Ym+xTCEV0Rqpw6q14BNhcHM4suAiBDRj9s+eIawZ7lm2/JyMMl5TzLyhc0vX6vWnNR4YHVTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":443758},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"f048ae48d1b6dc46d2b2f9253a6b23b116af8332","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.106.0","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.28.0_1782854800353_0.6563369266117152","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"eslint-plugin-llm-core","version":"0.29.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.29.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"e5ed06143ccbc57a28b87a94670ee280d3ac11b7","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.29.0.tgz","fileCount":191,"integrity":"sha512-XeiRtSw/kaEUODvjEEYjSTG8IEdFSvYCfnvqLJ7m/QokYT99UtY52Ma3wauavs5msL5hE6EjugWPeTYEa/0n9w==","signatures":[{"sig":"MEQCIQCG+/fxa8cESRNsKiTAL5P/3LZG7sLc9fpgOlBcf8hEcwIfSpbCt/VTk2z5O9BX+/tXOxLXy1H4DYeyroQJDbap0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":460704},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"9be89e8088cca9f5326341d41f9bf7f577bc17e4","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.29.0_1783080635051_0.9616452078059976","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"eslint-plugin-llm-core","version":"0.30.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.30.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"2b5b0abb4821fa23de92002d54b2dad1b7968baf","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.30.0.tgz","fileCount":195,"integrity":"sha512-+CByuT4UWIsYathSxz+wLQGbioZ32Kgo7fmOsmWeD4ys8P3oJPxEBxFgdSfa+d32jF0ny0tsfTQ8GeXZKsIl+w==","signatures":[{"sig":"MEYCIQC2qYpD+SYlfMLVZCAnG+j6EsiABwbNboZ/taUIfu00wwIhAJLIU7SRT1N7LEkZItaRSLpYehJCx7ydE8tX+Rligin2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486484},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"7f1b5da24dd393449af2e3a31cbcbf674e44f207","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.30.0_1783255976271_0.5737030429084564","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"eslint-plugin-llm-core","version":"0.31.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.31.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"a05a748545ca11cf9f390c0efd43a147855c3320","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.31.0.tgz","fileCount":199,"integrity":"sha512-pdaqlrfKaG2LhjJ/FCtj5hRIo0PHWZktzriUlQF2wfkLdjzAq2LSEAL0cH8F+pYuc4aE1ff+qFMziCqz7ogzlQ==","signatures":[{"sig":"MEUCIQDf+9WrOp6HVQ+NDWwxLFBp/GxBFCAD4xWT5MdoldECOgIgRZeMT6wc4gveZaCHbOMAcxIJpKYf99l6Wf4QR/E6mME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.31.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":509234},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"80228983e6cbc8b77f8fcd0d1c852c3041b1b7ad","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.31.0_1783337933407_0.9018543210010552","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"eslint-plugin-llm-core","version":"0.32.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.32.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"5c4bea7f0894745034c0d5e5785ce55c43144d14","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.32.0.tgz","fileCount":203,"integrity":"sha512-ugq29hBNhii86bl+webmRC0Frhjip1tP3h8vEWRgq087GZ0obXNREb38EpuACQE2hVhVyA4FcIfX6oHFw/VU3Q==","signatures":[{"sig":"MEUCIQCgLhDD0+d9pg7ZOGbkA+4aFVKROZnudnWUdqTMe4ahLgIgNMcWxqzcU59t8XrgTF3GuwgZwOTg/0x+DTElCcJcfcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.32.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":519952},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"15533a67d520afb64f54dddd6e5a2c63b7d90f4f","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.32.0_1783462327095_0.9124589129185918","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"eslint-plugin-llm-core","version":"0.33.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.33.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"b11759e21d7292e17a11954b0f7bdf9d1d570a13","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.33.0.tgz","fileCount":207,"integrity":"sha512-mWVDRH5Z6bxv7435a20Gd8R1Z5vkVvG7wT8XXGWzperITgGVrOrFWwY5ot4BBjXLszrECTFw2d8WMuFbgKthEA==","signatures":[{"sig":"MEQCIAv+yiy2InVByt+8BHIhsdQ6NDAdS97Krpm0Gsoqr9sZAiABUUMqx3l6nnCv6WdPi0itMAsveErn20H5vDd0ELuzoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.33.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":534237},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"4533cee7ae58083c3d40beb636d0aa547f994776","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.33.0_1783527799190_0.37029311875801074","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"eslint-plugin-llm-core","version":"0.34.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.34.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"ec74a1e5514169efaac0fead42253b31b1d5ef6a","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.34.0.tgz","fileCount":211,"integrity":"sha512-e685Te+eund/Cuq3taHieX4wpgW237tTwphzVEL54BmS7FdXRlt7qq+5omnrAq2NaEKeMQnkDW4VJ6fIKs2TRQ==","signatures":[{"sig":"MEYCIQDmWp0x/QYMgeVAPynd9QpTz986aceM7ftBNP2uk7DWpwIhAM/Qqj7uyRyAhCEtHArRDxoHevG5qncecu44GCfzvc2a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.34.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":546913},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"ffb96b7f4c4646fdc98259477319ef86df474ede","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.34.0_1783529108874_0.1278473047589639","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"eslint-plugin-llm-core","version":"0.35.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.35.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"2d459f8e5065a20663a6b08dd7d63e2c97918541","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.35.0.tgz","fileCount":215,"integrity":"sha512-2+t6dG9KBEOfBSYeFay2a4peGxN3hMPKtIDCVEL3bbpNboFACBnrNUEEpgDsJTSoTTF8FQm01mWwv1FvMwMycQ==","signatures":[{"sig":"MEUCIQDlMIjP6/wWMF9Qgmmq4C2mQUFybDtEqllFmPZy5Gi+0gIgEXehwsRW7KuEybajokHBw8DXyY9eN6EYSkhF+CHhURs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.35.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":562680},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"6fab0e4bf9fa980e6623fddec602e928a6c2549d","scripts":{"eval":"tsx evals/src/run-eval.ts","lint":"eslint .","test":"npm run test:core && npm --workspace eslint-plugin-llm-core-mcp test","build":"npm run build:core && npm --workspace eslint-plugin-llm-core-mcp run build","format":"prettier --write .","prepare":"husky","release":"npm run build && changeset publish","version":"changeset version","changeset":"changeset","test:core":"vitest run","build:core":"tsc -p tsconfig.build.json","test:watch":"vitest","eval:control":"tsx evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage && npm --workspace eslint-plugin-llm-core-mcp test","eval:treatment":"tsx evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"workspaces":[".","packages/*"],"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.35.0_1783530206455_0.35502055835257473","host":"s3://npm-registry-packages-npm-production"}},"0.35.1":{"name":"eslint-plugin-llm-core","version":"0.35.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.35.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"3bda2eea7e8b95cdfa1cf47bd19032f53dfc67e7","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.35.1.tgz","fileCount":214,"integrity":"sha512-vv/S5Um+ftlCqPSSUkfFKiGGJttFJUZKHoDzd75DPbGuHvZGhSf8bxsQHPFrkH2gDaXdJSmV8EPM1AbehrTqzw==","signatures":[{"sig":"MEUCIQCJeWGGK2MewIgjKG1TQmhbnhzmawfh7Sv0NXHIFSho1QIgHjx/zwCITq3i81VW3OfvKrXdzyCpPK1mi/jpNTEKumQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.35.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":561463},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"372fd8ba5a7c5c6c374ea5ee1def7c11c5fedaf9","scripts":{"eval":"tsx ../../evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","test:watch":"vitest","eval:control":"tsx ../../evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx ../../evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator --config-emoji all,🌐 --config-emoji best-practices,🏆 --config-emoji complexity,🧮 --config-emoji hygiene,🧹 --config-emoji recommended,✅ --config-emoji style,🎨 --config-emoji typescript,⌨️ --ignore-config bestPractices && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","husky":"^9.0.0","eslint":"^10.1.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.0.1","lint-staged":"^17.0.2","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.109.1","typescript-eslint":"^8.0.0","@vitest/coverage-v8":"^4.1.2","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint-plugin-eslint-plugin":"^7.3.2","@typescript-eslint/rule-tester":"^8.0.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.35.1_1783683840674_0.9866158416773378","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"eslint-plugin-llm-core","version":"0.36.0","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.36.0","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"325b7a06a142c2bb86cf2018f2145ba423cc2c43","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.36.0.tgz","fileCount":218,"integrity":"sha512-r3kSTZoBXYP0OPAiiBJyUscmQu4AHoR4Kjt9sjqabLJ04mFBStPiRAPpe5mCabiD9WYOoZDZUXdp7u5CwQo1fQ==","signatures":[{"sig":"MEQCICX46AktysqcxcyrRP4DwSzXdMbSbZFzSmV1nMhm8XLHAiBAoGlPUoTZVDG2HkQqEU5+WafsSQQEFwrHZw10+ZngyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.36.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576195},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"832ff0def7b954281aa3cbd81534655c21025de2","scripts":{"eval":"tsx ../../evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","test:watch":"vitest","eval:control":"tsx ../../evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx ../../evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator --config-emoji all,🌐 --config-emoji best-practices,🏆 --config-emoji complexity,🧮 --config-emoji hygiene,🧹 --config-emoji recommended,✅ --config-emoji style,🎨 --config-emoji typescript,⌨️ --ignore-config bestPractices && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","husky":"^9.0.0","eslint":"^10.8.1","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.2.0","lint-staged":"^17.3.0","@changesets/cli":"^2.27.0","@commitlint/cli":"^21.0.1","@anthropic-ai/sdk":"^0.117.1","typescript-eslint":"^8.66.0","@vitest/coverage-v8":"^4.1.10","eslint-doc-generator":"^3.3.2","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.66.0","@typescript-eslint/parser":"^8.66.0","eslint-plugin-eslint-plugin":"^7.6.1","@typescript-eslint/rule-tester":"^8.66.0","@commitlint/config-conventional":"^21.0.1"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.66.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.36.0_1787756022773_0.656977515073448","host":"s3://npm-registry-packages-npm-production"}},"0.36.1":{"name":"eslint-plugin-llm-core","version":"0.36.1","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.36.1","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"1cdbc27b247eaefd16bc637659d310acb8523e76","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.36.1.tgz","fileCount":218,"integrity":"sha512-3KUTXvkqx4RTr6ERb7qOwvZfUhMc1izdePMruRLBGk406dPbCjxBesCMe3C6gLHL5OCGA8ge062dp5qqjNW0Nw==","signatures":[{"sig":"MEUCIQDHUPf176KcUULCT3LHfyEorFMaofPsCrTkJAfP4qQDJwIgcTm+EO8RuLJTxyFrHy77dkTvccXQYbQsvCZ+A8zMWZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.36.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576246},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"4510af51c083eade5eae42cc8ea70e171586e21d","scripts":{"eval":"tsx ../../evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","test:watch":"vitest","eval:control":"tsx ../../evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx ../../evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator --config-emoji all,🌐 --config-emoji best-practices,🏆 --config-emoji complexity,🧮 --config-emoji hygiene,🧹 --config-emoji recommended,✅ --config-emoji style,🎨 --config-emoji typescript,⌨️ --ignore-config bestPractices && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","husky":"^9.0.0","eslint":"^10.9.1","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.4.1","lint-staged":"^17.4.1","@changesets/cli":"^3.0.1","@commitlint/cli":"^21.2.2","@anthropic-ai/sdk":"^0.122.0","typescript-eslint":"^8.68.0","@vitest/coverage-v8":"^4.1.11","eslint-doc-generator":"^3.7.1","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.68.0","@typescript-eslint/parser":"^8.68.0","eslint-plugin-eslint-plugin":"^7.6.2","@typescript-eslint/rule-tester":"^8.68.0","@commitlint/config-conventional":"^21.2.2"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.68.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.36.1_1788874225853_0.7643815506971527","host":"s3://npm-registry-packages-npm-production"}},"0.36.2":{"name":"eslint-plugin-llm-core","version":"0.36.2","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","_id":"eslint-plugin-llm-core@0.36.2","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"dist":{"shasum":"52940441f0ab17339449c62c3cda08629483822c","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.36.2.tgz","fileCount":218,"integrity":"sha512-IQ+wwsU1FpIfYbZv41U9JQkRW30V5HXMjfT8VYySgX+r/6tB7jCFjsqYh9WcRtMBxlc3cJ6WcsgtAob9htJD0w==","signatures":[{"sig":"MEUCIQCqptJIL66h0ga/Q+eG+pF5aQsYlgmVGN6w5y6rU5pifgIgCpy2k3mrjaUsGxCCKQsc+b4lg4wrzfKZpBNrzEjvAys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDCuUvQy5olBaZKqRzcqK7WkQ6mtKF2NW4w0OjC2tf2SAiBzmC85LZGQ3paaZK1pAa3c4LiL7tZvqdPDWWy03o3wDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.36.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576247},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"b541112f9ce1346dcbc21ce463f1c843a62b812b","scripts":{"eval":"tsx ../../evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","test:watch":"vitest","eval:control":"tsx ../../evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx ../../evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator --config-emoji all,🌐 --config-emoji best-practices,🏆 --config-emoji complexity,🧮 --config-emoji hygiene,🧹 --config-emoji recommended,✅ --config-emoji style,🎨 --config-emoji typescript,⌨️ --ignore-config bestPractices && prettier --write README.md \"docs/rules/**/*.md\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","husky":"^9.0.0","eslint":"^10.10.0","vitest":"^4.1.2","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.4.1","lint-staged":"^17.5.0","@changesets/cli":"^3.0.2","@commitlint/cli":"^21.2.2","@anthropic-ai/sdk":"^0.124.0","typescript-eslint":"^8.69.0","@vitest/coverage-v8":"^4.1.11","eslint-doc-generator":"^3.7.1","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.69.0","@typescript-eslint/parser":"^8.69.0","eslint-plugin-eslint-plugin":"^7.6.2","@typescript-eslint/rule-tester":"^8.69.0","@commitlint/config-conventional":"^21.2.2"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.69.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-llm-core_0.36.2_1789218394063_0.9128112834644793","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"_id":"eslint-plugin-llm-core@0.37.0","bin":{"llm-core-instructions":"dist/cli/generate-instructions.js"},"bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"dist":{"shasum":"a8e0c4b23a2d6db242ce450cafce6a6aed26a974","tarball":"https://registry.npmjs.org/eslint-plugin-llm-core/-/eslint-plugin-llm-core-0.37.0.tgz","fileCount":246,"integrity":"sha512-XFHftQIOSociUl5nJDEfhqt8lZ4E3/9ULOxcqp7j9iR6rA4j7JVGVV0T6oFFSQjdK85TJxpkW7vsjbHpF8SbJQ==","signatures":[{"sig":"MEUCIC/CQbiV3A2bf2+y4m4/w63+QRJKHvL7gya0EIuZINY4AiEAoWTPTjR1rfq90vp9yknChzj9HeS+2aFeccw5e3+2d+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC6fBWxc9lVf/eGBOGxidEeQPh1zdTR1CkDzWj2boZuEwIhALTtg917MTccI4afO3TpHFjQYn5pfbeUU8wA1cfCCcTD"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/eslint-plugin-llm-core@0.37.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":619378},"main":"dist/index.js","name":"eslint-plugin-llm-core","type":"commonjs","types":"dist/index.d.ts","author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./instructions":{"types":"./dist/instructions/index.d.ts","import":"./dist/instructions/index.js","require":"./dist/instructions/index.js"}},"gitHead":"c844fdf0da99f57dbadf555afc63210ad651ca96","license":"MIT","scripts":{"eval":"tsx ../../evals/src/run-eval.ts","lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.build.json","format":"prettier --write .","test:watch":"vitest","eval:control":"tsx ../../evals/src/run-eval.ts --mode control","format:check":"prettier --check .","test:coverage":"vitest run --coverage","eval:treatment":"tsx ../../evals/src/run-eval.ts --mode treatment","update:eslint-docs":"eslint-doc-generator --config-emoji all,🌐 --config-emoji best-practices,🏆 --config-emoji complexity,🧮 --config-emoji hygiene,🧹 --config-emoji recommended,✅ --config-emoji style,🎨 --config-emoji typescript,⌨️ --ignore-config bestPractices && prettier --write README.md \"docs/rules/**/*.md\""},"version":"0.37.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b7d2728c-cdbf-464c-a6ea-2db7f227fa3d"}},"homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"_npmVersion":"11.18.0","description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","directories":{},"maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","husky":"^9.0.0","eslint":"^10.10.0","vitest":"^4.1.11","prettier":"^3.0.0","typescript":"^6.0.2","@types/node":"^26.5.1","lint-staged":"^17.5.1","@changesets/cli":"^3.0.2","@commitlint/cli":"^21.2.2","@anthropic-ai/sdk":"^0.125.0","typescript-eslint":"^8.70.0","@vitest/coverage-v8":"^4.1.11","eslint-doc-generator":"^3.7.1","eslint-config-prettier":"^10.0.0","@typescript-eslint/utils":"^8.70.0","@typescript-eslint/parser":"^8.70.0","eslint-plugin-eslint-plugin":"^7.6.2","@typescript-eslint/rule-tester":"^8.70.0","@commitlint/config-conventional":"^21.2.2"},"peerDependencies":{"eslint":"^8.57.0 || ^9.0.0 || ^10.0.0","@typescript-eslint/utils":"^8.70.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin-llm-core_0.37.0_1789857151422_0.9381394398685319"}}},"time":{"created":"2026-04-01T20:07:51.054Z","modified":"2026-09-19T22:32:31.813Z","0.1.0":"2026-04-01T20:07:51.203Z","0.3.0":"2026-04-02T00:06:47.115Z","0.3.1":"2026-04-02T11:21:32.305Z","0.3.2":"2026-04-02T11:33:15.342Z","0.4.0":"2026-04-02T13:59:23.645Z","0.4.1":"2026-04-02T14:29:21.821Z","0.5.0":"2026-04-02T15:38:58.985Z","0.6.0":"2026-04-02T16:12:37.953Z","0.7.0":"2026-04-03T12:41:47.216Z","0.7.1":"2026-04-03T14:36:03.421Z","0.7.2":"2026-04-03T15:06:37.278Z","0.8.0":"2026-04-04T15:24:06.723Z","0.9.0":"2026-04-05T13:42:54.496Z","0.10.0":"2026-04-05T14:15:30.091Z","0.11.0":"2026-04-05T16:28:25.069Z","0.11.1":"2026-04-06T14:49:03.365Z","0.11.2":"2026-04-09T17:15:45.956Z","0.12.0":"2026-04-10T20:52:37.441Z","0.13.0":"2026-04-11T12:07:49.898Z","0.14.0":"2026-04-15T00:23:24.325Z","0.15.0":"2026-04-15T14:23:02.332Z","0.16.0":"2026-04-15T16:40:26.438Z","0.17.0":"2026-04-18T14:32:02.680Z","0.18.0":"2026-04-21T13:38:54.536Z","0.18.1":"2026-05-07T13:01:56.008Z","0.19.0":"2026-05-16T05:07:30.185Z","0.20.0":"2026-05-16T12:30:14.540Z","0.21.0":"2026-05-19T12:02:01.525Z","0.22.0":"2026-05-21T04:17:32.405Z","0.23.0":"2026-05-22T13:03:59.468Z","0.24.0":"2026-05-27T00:50:54.292Z","0.25.0":"2026-05-27T23:05:17.720Z","0.25.1":"2026-05-27T23:30:16.455Z","0.25.2":"2026-05-27T23:56:35.035Z","0.26.0":"2026-05-30T02:12:35.964Z","0.27.0":"2026-06-26T14:33:44.707Z","0.28.0":"2026-06-30T21:26:40.499Z","0.29.0":"2026-07-03T12:10:35.200Z","0.30.0":"2026-07-05T12:52:56.393Z","0.31.0":"2026-07-06T11:38:53.556Z","0.32.0":"2026-07-07T22:12:07.257Z","0.33.0":"2026-07-08T16:23:19.319Z","0.34.0":"2026-07-08T16:45:09.029Z","0.35.0":"2026-07-08T17:03:26.621Z","0.35.1":"2026-07-10T11:44:00.824Z","0.36.0":"2026-08-26T14:53:42.918Z","0.36.1":"2026-09-08T13:30:25.997Z","0.36.2":"2026-09-12T13:06:34.138Z","0.37.0":"2026-09-19T22:32:31.500Z"},"bugs":{"url":"https://github.com/pertrai1/eslint-plugin-llm-core/issues"},"author":{"name":"Rob Simpson","email":"rsimpson2@me.com"},"license":"MIT","homepage":"https://github.com/pertrai1/eslint-plugin-llm-core#readme","keywords":["eslint","eslintplugin","eslint-plugin","llm","ai","linting","typescript","code-quality","static-analysis","chatgpt","copilot","claude","ai-generated-code"],"repository":{"url":"git+https://github.com/pertrai1/eslint-plugin-llm-core.git","type":"git"},"description":"ESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct","maintainers":[{"name":"pertrai1","email":"rsimpson2@me.com"}],"readme":"# eslint-plugin-llm-core\n\nESLint rules that catch the patterns LLM agents get wrong — and teach them to self-correct through structured error messages. [DeepWiki](https://deepwiki.com/pertrai1/eslint-plugin-llm-core)\n\nLLMs generate code that _works_ but drifts: arrow functions everywhere, magic numbers, deep nesting, string-interpolated logs, oversized files. These aren't style nitpicks — they compound into codebases that are harder to debug, review, and maintain.\n\nThis plugin catches those patterns at lint time and provides error messages designed for LLM comprehension: **what's wrong**, **why it matters**, and **a concrete fix**. The result is AI-generated code that reads like it was written by a senior engineer.\n\n![Demo](https://raw.githubusercontent.com/pertrai1/eslint-plugin-llm-core/main/docs/assets/demo.gif)\n\n## Why this plugin?\n\n- **Targeted rules** — Every rule addresses a real pattern LLMs consistently get wrong, from `export const fn = () => {}` to `logger.error(\\`Failed for ${userId}\\`)`\n- **Teaching error messages** — Structured feedback that LLMs parse and apply correctly on the first attempt\n- **Works for humans too** — These are solid code quality rules regardless of who wrote the code\n- **Zero config** — The `recommended` preset is ready out of the box\n- **Suggestions, not auto-fixes** — Transformations that could change semantics are offered as suggestions, keeping you in control\n\n## How It Works\n\nThis plugin is designed around three principles that make it effective for LLM-assisted development:\n\n### Deterministic Feedback\n\nEvery rule produces the **exact same error message for the same mistake**, every time. There is no randomness, no varying phrasing, no context-dependent rewording. This consistency means LLMs receive unambiguous signals about what to fix and how.\n\n### Instructional Error Messages\n\nEvery error message follows a structured teaching format:\n\n1. **What's wrong** — the specific violation\n2. **Why it matters** — the rationale behind the rule\n3. **How to fix** — a concrete, copy-pasteable transformation using the actual code context (function names, parameter lists, etc.)\n\n```\nExported function 'fetchData' must use a function declaration, not a function expression or arrow function.\n\nWhy: Function declarations are hoisted, produce better stack traces, and signal clear intent.\nArrow functions are best reserved for callbacks and inline expressions, not top-level exports.\n\nHow to fix:\n  Replace: export const fetchData = async () => { ... }\n  With:    export async function fetchData() { ... }\n```\n\nThis structure gives LLMs everything they need in one pass — the violation, the reasoning, and a concrete transformation. In practice, this reduces the back-and-forth iterations needed to resolve violations compared to standard ESLint messages.\n\nFor the per-rule decision record explaining why each rule belongs in this plugin, see [Rule Rationale](https://github.com/pertrai1/eslint-plugin-llm-core/blob/main/docs/rule-rationale.md).\n\n### Strict Mode by Default\n\nBoth the `recommended` and `all` configs set every rule to `error`, not `warn`. Warnings are easy to ignore — for both humans and LLMs. Errors force the issue to be resolved before the code is accepted. Combined with the `no-inline-disable` rule (which prevents `// eslint-disable` escape hatches), this creates a feedback loop where the LLM **must** fix violations rather than suppress them.\n\n## Installation\n\n```bash\nnpm install eslint-plugin-llm-core --save-dev\n```\n\n## Quick Start\n\n### Option 1: Recommended (All-in-one)\n\nAll recommended rules are active and ready out of the box.\n\n```js\n// eslint.config.mjs\nimport llmCore from \"eslint-plugin-llm-core\";\n\nexport default [...llmCore.configs.recommended];\n```\n\n### Option 2: Mix & Match\n\nSelect only the specific categories that fit your project.\n\n```js\n// eslint.config.mjs\nimport llmCore from \"eslint-plugin-llm-core\";\n\nexport default [\n  ...llmCore.configs.complexity,\n  ...llmCore.configs.typescript,\n  ...llmCore.configs.hygiene,\n];\n```\n\n### Available Configs\n\n| Config           | Description                                                                                                                           |\n| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |\n| `recommended`    | Safe defaults — rules most codebases should use                                                                                       |\n| `all`            | Every rule at `error` — for strict codebases                                                                                          |\n| `complexity`     | Enforce structural limits to prevent oversized files and functions                                                                    |\n| `typescript`     | Rules focused on type safety and clarity to avoid common 'any' traps (TS/TSX files only)                                              |\n| `best-practices` | Core logic and reliability rules that catch common bugs and anti-patterns (also available as `bestPractices` for dot-notation access) |\n| `style`          | Focuses on consistent naming and structure for predictability                                                                         |\n| `hygiene`        | Rules addressing development 'litter' and shortcuts like LLM artifacts and inline disables                                            |\n\n### Manual Rule Configuration\n\n```js\n// eslint.config.mjs\nimport llmCore from \"eslint-plugin-llm-core\";\n\nexport default [\n  {\n    plugins: {\n      \"llm-core\": llmCore,\n    },\n    rules: {\n      \"llm-core/no-exported-function-expressions\": \"error\",\n      \"llm-core/structured-logging\": \"error\",\n    },\n  },\n];\n```\n\n## Rules\n\nThe rule table is generated from the source rules and links to the per-rule docs\nin this package directory. If you are reading this README outside the repository,\nthe same docs are available in\n[`packages/eslint-plugin/docs/rules`](https://github.com/pertrai1/eslint-plugin-llm-core/tree/main/packages/eslint-plugin/docs/rules).\n\n<!-- begin auto-generated rules list -->\n\n💼 Configurations enabled in.\\\n🌐 Set in the `all` configuration.\\\n🏆 Set in the `best-practices` configuration.\\\n🧮 Set in the `complexity` configuration.\\\n🧹 Set in the `hygiene` configuration.\\\n✅ Set in the `recommended` configuration.\\\n🎨 Set in the `style` configuration.\\\n⌨️ Set in the `typescript` configuration.\\\n🔧 Automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/user-guide/command-line-interface#--fix).\\\n💡 Manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions).\n\n| Name                                                                               | Description                                                                                                                     | 💼       | 🔧  | 💡  |\n| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ | :------- | :-- | :-- |\n| [bad-comparison-sequence](docs/rules/bad-comparison-sequence.md)                   | Disallow chained equality and comparison expressions that compare an intermediate boolean result                                | 🌐 🏆 ✅ |     |     |\n| [bad-min-max-func](docs/rules/bad-min-max-func.md)                                 | Disallow inverted nested Math.min/Math.max clamps that always return a constant bound                                           | 🌐 🏆 ✅ |     |     |\n| [consistent-catch-param-name](docs/rules/consistent-catch-param-name.md)           | Enforce consistent naming for catch clause parameters across the codebase                                                       | 🌐 ✅ 🎨 |     | 💡  |\n| [explicit-export-types](docs/rules/explicit-export-types.md)                       | Require explicit parameter and return type annotations on exported functions                                                    | 🌐 ✅ ⌨️ |     |     |\n| [filename-match-export](docs/rules/filename-match-export.md)                       | Enforce that filenames match their single exported function, class, or component name                                           | 🌐 ✅ 🎨 |     |     |\n| [max-complexity](docs/rules/max-complexity.md)                                     | Enforce a maximum cyclomatic complexity per function to encourage decomposition                                                 | 🌐 🧮 ✅ |     |     |\n| [max-file-length](docs/rules/max-file-length.md)                                   | Enforce a maximum number of lines per file to encourage proper module separation                                                | 🌐 🧮 ✅ |     |     |\n| [max-function-length](docs/rules/max-function-length.md)                           | Enforce a maximum number of lines per function to encourage decomposition                                                       | 🌐 🧮 ✅ |     |     |\n| [max-nesting-depth](docs/rules/max-nesting-depth.md)                               | Enforce a maximum nesting depth for control flow statements to reduce cognitive complexity                                      | 🌐 🧮 ✅ |     |     |\n| [max-params](docs/rules/max-params.md)                                             | Enforce a maximum number of function parameters to encourage object parameter patterns                                          | 🌐 🧮 ✅ |     |     |\n| [missing-throw](docs/rules/missing-throw.md)                                       | Disallow standalone new Error expressions that likely forgot the throw keyword                                                  | 🌐 🏆 ✅ | 🔧  |     |\n| [naming-conventions](docs/rules/naming-conventions.md)                             | Enforce naming conventions: Base prefix for abstract classes, Error suffix for error classes                                    | 🌐 ✅ 🎨 |     |     |\n| [no-any-in-generic](docs/rules/no-any-in-generic.md)                               | Disallow `any` as a generic type argument in type references, arrays, and other parameterized types                             | 🌐 ✅ ⌨️ |     |     |\n| [no-async-array-callbacks](docs/rules/no-async-array-callbacks.md)                 | Disallow async callbacks passed to array methods where Promises are silently discarded or misused                               | 🌐 🏆 ✅ |     |     |\n| [no-async-promise-executor](docs/rules/no-async-promise-executor.md)               | Disallow async Promise executor functions because thrown errors are not captured by the outer Promise                           | 🌐 🏆 ✅ |     |     |\n| [no-chained-type-assertions](docs/rules/no-chained-type-assertions.md)             | Disallow chained TypeScript type assertions that discard type evidence                                                          | 🌐 ✅ ⌨️ |     |     |\n| [no-commented-out-code](docs/rules/no-commented-out-code.md)                       | Disallow commented-out code to keep the codebase clean and reduce noise                                                         | 🌐 🧹 ✅ |     |     |\n| [no-debug-scaffolding](docs/rules/no-debug-scaffolding.md)                         | Disallow temporary debugger statements and console debug scaffolding left behind during development                             | 🌐 🧹 ✅ |     |     |\n| [no-dynamic-code-execution](docs/rules/no-dynamic-code-execution.md)               | Disallow dynamic code execution through eval, Function constructors, and string-based timers                                    | 🌐 🏆 ✅ |     |     |\n| [no-empty-catch](docs/rules/no-empty-catch.md)                                     | Disallow catch blocks with no meaningful error handling (empty or comment-only blocks)                                          | 🌐 🏆 ✅ |     |     |\n| [no-exported-function-expressions](docs/rules/no-exported-function-expressions.md) | Enforce that exported functions use function declarations instead of function expressions or arrow functions                    | 🌐 ✅ 🎨 |     | 💡  |\n| [no-floating-promise](docs/rules/no-floating-promise.md)                           | Disallow calling async functions or Promise-returning expressions without awaiting, returning, or explicitly voiding the result | 🌐 🏆 ✅ |     |     |\n| [no-hallucinated-local-imports](docs/rules/no-hallucinated-local-imports.md)       | Disallow static relative imports and re-exports that reference missing local modules or named exports                           | 🌐       |     |     |\n| [no-hallucinated-package-imports](docs/rules/no-hallucinated-package-imports.md)   | Disallow package imports and re-exports whose package root is not declared in the relevant package manifest                     | 🌐       |     |     |\n| [no-incorrect-sort](docs/rules/no-incorrect-sort.md)                               | Disallow .sort() without a compare function, which coerces elements to strings and produces incorrect numeric ordering          | 🌐       |     |     |\n| [no-inline-disable](docs/rules/no-inline-disable.md)                               | Disallow eslint-disable comments that suppress lint errors instead of fixing them                                               | 🌐 🧹 ✅ |     |     |\n| [no-known-value-widening](docs/rules/no-known-value-widening.md)                   | Disallow broad explicit types that discard known value evidence                                                                 | 🌐 ✅ ⌨️ |     |     |\n| [no-llm-artifacts](docs/rules/no-llm-artifacts.md)                                 | Disallow common LLM placeholder comments and incomplete code markers that indicate skipped implementation                       | 🌐 🧹 ✅ |     |     |\n| [no-magic-numbers](docs/rules/no-magic-numbers.md)                                 | Disallow magic numbers and enforce named constants for clarity                                                                  | 🌐 🏆 ✅ |     |     |\n| [no-object-parameters](docs/rules/no-object-parameters.md)                         | Disallow broad object types in function parameters                                                                              | 🌐 ✅ ⌨️ |     |     |\n| [no-redundant-comments](docs/rules/no-redundant-comments.md)                       | Disallow comments that merely narrate the next line of code without adding intent                                               | 🌐 🧹 ✅ |     |     |\n| [no-redundant-logic](docs/rules/no-redundant-logic.md)                             | Disallow redundant boolean logic and unnecessary control flow patterns                                                          | 🌐 ✅ 🎨 |     | 💡  |\n| [no-swallowed-errors](docs/rules/no-swallowed-errors.md)                           | Disallow catch blocks that only log to console and swallow the error                                                            | 🌐 🏆 ✅ |     |     |\n| [no-type-assertion-any](docs/rules/no-type-assertion-any.md)                       | Disallow type assertions to `any` that bypass TypeScript's type safety                                                          | 🌐 ✅ ⌨️ |     |     |\n| [no-type-system-bypass](docs/rules/no-type-system-bypass.md)                       | Disallow broad TypeScript escape hatches that hide type errors instead of fixing them                                           | 🌐 ✅ ⌨️ |     |     |\n| [no-unbounded-promise-all](docs/rules/no-unbounded-promise-all.md)                 | Disallow Promise.all fan-out over arbitrary collections without an explicit concurrency bound                                   | 🌐       |     |     |\n| [no-unknown-parameters](docs/rules/no-unknown-parameters.md)                       | Disallow explicit unknown function parameters except error-cause enrichment                                                     | 🌐 ✅ ⌨️ |     |     |\n| [no-unknown-returns](docs/rules/no-unknown-returns.md)                             | Disallow function return contracts that expose unknown                                                                          | 🌐 ✅ ⌨️ |     |     |\n| [no-unknown-type-aliases](docs/rules/no-unknown-type-aliases.md)                   | Disallow named type aliases that conceal unknown                                                                                | 🌐 ✅ ⌨️ |     |     |\n| [no-unsafe-array-access](docs/rules/no-unsafe-array-access.md)                     | Require a non-empty array guard before reading the first or last element                                                        | 🌐 🏆 ✅ |     |     |\n| [no-unsafe-dictionary-type](docs/rules/no-unsafe-dictionary-type.md)               | Disallow dictionary contracts whose values use unsafe escape-hatch types                                                        | 🌐 ✅ ⌨️ |     |     |\n| [no-weak-randomness-for-secrets](docs/rules/no-weak-randomness-for-secrets.md)     | Disallow weak or predictable randomness when creating security-sensitive values                                                 | 🌐 🏆 ✅ |     |     |\n| [no-widen-then-assert](docs/rules/no-widen-then-assert.md)                         | Disallow declaring a variable's type wider than its value, then asserting it back to the narrow type                            | 🌐 ✅ ⌨️ |     |     |\n| [prefer-early-return](docs/rules/prefer-early-return.md)                           | Enforce guard clauses (early returns) instead of wrapping function bodies in a single if statement                              | 🌐 ✅ 🎨 |     |     |\n| [prefer-nullish-coalescing](docs/rules/prefer-nullish-coalescing.md)               | Prefer nullish coalescing over logical OR when providing default values                                                         | 🌐 ✅ 🎨 |     | 💡  |\n| [prefer-unknown-in-catch](docs/rules/prefer-unknown-in-catch.md)                   | Disallow `any` type annotation on catch clause parameters; prefer `unknown`                                                     | 🌐 ✅ ⌨️ |     |     |\n| [structured-logging](docs/rules/structured-logging.md)                             | Enforce structured logging with static messages and dynamic values as separate metadata                                         | 🌐 🏆 ✅ |     |     |\n| [throw-error-objects](docs/rules/throw-error-objects.md)                           | Disallow throwing non-Error values such as strings, template literals, plain objects, or arrays                                 | 🌐 🏆 ✅ |     |     |\n| [uninvoked-array-callback](docs/rules/uninvoked-array-callback.md)                 | Disallow callbacks on sparse arrays created with Array(length) because holes skip callback invocation                           | 🌐 🏆 ✅ |     |     |\n\n<!-- end auto-generated rules list -->\n\n## Complementary ESLint Rules\n\nThese ESLint core rules address common LLM patterns and pair well with this plugin:\n\n> `llm-core/max-complexity` replaces ESLint's core `complexity` rule with the same classic counting semantics but a teaching-oriented message tuned for decomposition.\n\n| Rule                                                                                  | What it catches                                                            | ESLint version |\n| ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------- |\n| [`no-nested-ternary`](https://eslint.org/docs/latest/rules/no-nested-ternary)         | LLMs nest ternaries for \"conciseness\" — enforce if/else instead            | All            |\n| [`preserve-caught-error`](https://eslint.org/docs/latest/rules/preserve-caught-error) | LLMs discard original errors when re-throwing — require `{ cause: error }` | 9.35+          |\n| [`no-useless-assignment`](https://eslint.org/docs/latest/rules/no-useless-assignment) | LLMs create redundant intermediate variables — catch dead stores           | 9.0+           |\n\nAdd these to your config alongside `llm-core`:\n\n```js\n// eslint.config.mjs\nimport llmCore from \"eslint-plugin-llm-core\";\n\nexport default [\n  ...llmCore.configs.recommended,\n  {\n    rules: {\n      \"no-nested-ternary\": \"error\",\n      \"preserve-caught-error\": \"error\",\n      \"no-useless-assignment\": \"error\",\n    },\n  },\n];\n```\n\n## Typescript Compiler Guardrails\n\nThese are not ESLint rules, but they catch classes of LLM-generated TypeScript mistakes before runtime:\n\n| Guardrail                          | Why it helps                                                |\n| ---------------------------------- | ----------------------------------------------------------- |\n| `strict: true`                     | Enables the baseline TypeScript safety checks.              |\n| `noUncheckedIndexedAccess: true`   | Prevents agents from assuming indexed lookups always exist. |\n| `exactOptionalPropertyTypes: true` | Prevents sloppy optional-property handling.                 |\n| `noImplicitOverride: true`         | Prevents accidental method shadowing in classes.            |\n| `noImplicitReturns: true`          | Catches branches where the agent forgot to return.          |\n| `noFallthroughCasesInSwitch: true` | Catches accidental switch fallthrough.                      |\n\n```ts\n{\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"noUncheckedIndexedAccess\": true,\n    \"exactOptionalPropertyTypes\": true,\n    \"noImplicitOverride\": true,\n    \"noImplicitReturns\": true,\n    \"noFallthroughCasesInSwitch\": true\n  }\n}\n```\n\n## Research & Evidence\n\nThe rules in this plugin are grounded in empirical research on LLM coding errors\nand code quality. Key papers:\n\n**Bug Patterns & Taxonomies:**\n\n- [Bugs in LLM Generated Code](https://arxiv.org/abs/2403.08937) — 333 bugs across 10 distinctive patterns\n- [Engineering Pitfalls in AI Coding Tools](https://arxiv.org/abs/2603.20847) — 3,864 bugs from Claude Code, Codex, and Gemini CLI\n- [LLM Code Generation Mistakes: What and Why?](https://arxiv.org/abs/2411.01414) — 216 non-syntactic mistakes analyzed\n- [Characteristics of Code Generation Errors](https://arxiv.org/abs/2406.08731) — 557 bugs across 6 LLMs\n\n**Code Quality Beyond Correctness:**\n\n- [A Taxonomy of Inefficiencies in LLM-Generated Code](https://arxiv.org/abs/2503.06327) — 19 subcategories of performance, readability, and maintainability issues\n- [Quality Assurance of LLM-Generated Code](https://arxiv.org/abs/2511.10271) — practitioners warn LLM code accelerates technical debt; maintainability prioritized over security\n- [No Correlation Between Functional Correctness and Code Quality](https://arxiv.org/abs/2508.14727) — passing tests ≠ production-quality code\n\n**Security & Reliability:**\n\n- [Security of GitHub Copilot's Code](https://arxiv.org/abs/2108.09293) — security vulnerabilities in AI-generated contributions\n- [How Secure is AI-Generated Code?](https://link.springer.com/article/10.1007/s10664-024-10590-1) — 51% of 112K generated programs contained vulnerabilities\n- [Package Hallucinations by Code-Generating LLMs](https://arxiv.org/abs/2406.10279) — fabricated dependency analysis\n\n**Architectural Erosion:**\n\n- [Technical Debt in LLM Architectures](https://arxiv.org/abs/2512.04273) — 80% architectural violation rate in open-weights models; \"Implementation Laziness\" omits complex logic\n\n## Generated Instructions\n\nLint rules are reactive — they fire after code is written. **Generated instructions are proactive** — they encode the same rule knowledge as imperative behavioral guidelines that shape LLM output before violations occur.\n\nUnlike static instruction files, generated instructions are:\n\n- **Personalized** — derived from your actual rule config and option values\n- **In sync** — regenerated when config changes, no drift between rules and instructions\n- **File-type-aware** — TypeScript-only rules appear in a separate section\n\n### Usage\n\n```bash\nnpx llm-core-instructions\n```\n\nThis reads your `eslint.config.*`, resolves active `llm-core` rules, and generates `.agents/linting-rules.md` with behavioral guidelines for AI coding tools. It also appends a reference to the generated file into any existing agent instruction files (`AGENTS.md`, `CLAUDE.md`, `.github/copilot-instructions.md`) so agent tools discover it automatically. Re-running replaces the reference in-place — no duplicates.\n\n**Flags:**\n\n| Flag              | Description                                                                              |\n| ----------------- | ---------------------------------------------------------------------------------------- |\n| `--config <path>` | Specify ESLint config file path (default: auto-detect)                                   |\n| `--dry-run`       | Print generated content to stdout; skips file generation and injection                   |\n| `--no-inject`     | Generate `.agents/linting-rules.md` only, skip appending references to instruction files |\n\n**Example output:**\n\n```markdown\n# Coding Guidelines\n\nGenerated from eslint-plugin-llm-core configuration.\n\n## All Files\n\n- Keep functions under 50 lines — extract helpers when they grow\n- Keep cyclomatic complexity under 10 — decompose when functions get complex\n- Never leave catch blocks empty — handle, rethrow, or log the error\n- Use structured logging with static message strings; pass dynamic values as separate metadata\n\n## TypeScript Files Only\n\n- Add explicit parameter and return type annotations on all exported functions\n- Never use 'any' as a generic type argument\n- Use 'unknown' for catch parameter types, not 'any'\n```\n\n### Programmatic API\n\n```typescript\nimport { generateInstructions } from \"eslint-plugin-llm-core/instructions\";\n\nconst result = await generateInstructions({\n  configPath: \"eslint.config.mjs\",\n});\n\nresult.content; // The generated markdown string\nresult.activeRules; // Resolved rules with options and derived scope\nresult.allFilesRules; // Rules applying to all files\nresult.javascriptRules; // JavaScript-only rules\nresult.typescriptRules; // TypeScript-only rules\n```\n\n## MCP Server\n\n`eslint-plugin-llm-core-mcp` serves the same guidance over MCP stdio so agents\ncan request rule guidance only when they need it.\n\nRegister it with an MCP-capable client:\n\n```json\n{\n  \"mcpServers\": {\n    \"llm-core\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"eslint-plugin-llm-core-mcp\"]\n    }\n  }\n}\n```\n\nThe server exposes `lint_file`, `get_active_instructions`,\n`llm-core://rules`, and `llm-core://rules/{ruleName}`. `lint_file` first uses\nthe target project's discovered ESLint flat config and labels those findings\nwith `source: \"project-config\"`.\n\nRepos without an ESLint config can opt in to a transient zero-config fallback by\nsetting `LLM_CORE_MCP_ENABLE_FALLBACK=1` in the MCP server environment:\n\n```json\n{\n  \"mcpServers\": {\n    \"llm-core\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"eslint-plugin-llm-core-mcp\"],\n      \"env\": {\n        \"LLM_CORE_MCP_ENABLE_FALLBACK\": \"1\"\n      }\n    }\n  }\n}\n```\n\nFallback mode only runs when no project config is discoverable. It uses the\nbundled recommended `llm-core` rules and TypeScript parser, labels findings with\n`source: \"fallback\"`, and remains read-only: no file edits, generated config, or\nESLint cache. Fallback findings may include rules the project has not opted into;\nconfigure the plugin in the project when results must match CI/editor lint.\n\nManual smoke check after build:\n\n```bash\nnpm --workspace eslint-plugin-llm-core-mcp run build\nnpx -y eslint-plugin-llm-core-mcp\n```\n\nThe MCP package has its own package version and depends on a compatible\n`eslint-plugin-llm-core` version through the existing Changesets release flow.\n\n## Repository Agent Skills\n\nBeyond ESLint rules, this repository includes **agent skills** — markdown\ninstruction files that LLM agents can load when performing specific tasks.\nSkills complement the lint rules by catching patterns that require judgment\nrather than pattern matching.\n\n### Available Skills\n\n| Skill                                                                                                 | Description                                                                                                                    |\n| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |\n| [test-reviewer](https://github.com/pertrai1/eslint-plugin-llm-core/blob/main/skills/test-reviewer.md) | Detects tests that duplicate production logic, use shallow assertions, skip edge cases, or assert on mocks instead of behavior |\n\n### Usage\n\nCopy the skill file from the repository into your agent's skill directory:\n\n```bash\n# Claude Code\ncp skills/test-reviewer.md .claude/skills/\n\n# Cursor\ncp skills/test-reviewer.md .cursor/skills/\n\n# Or wherever your agent tool looks for skills\n```\n\nThe skill is a standalone markdown file with no dependencies. Adapt it to your project's testing conventions as needed.\n\n## Contributing\n\n```bash\nnpm ci\nnpm run build\nnpm run test\nnpm run lint\n```\n\nRun these commands from the repository root. See\n[AGENTS.md](https://github.com/pertrai1/eslint-plugin-llm-core/blob/main/AGENTS.md)\nfor architecture details and how to add new rules.\n\n## Roadmap\n\nThis plugin evolves as I learn more about how LLM agents behave in real codebases. The current ruleset is based on observed patterns — code that compiles and runs but drifts from production standards.\n\n**What I'm watching:**\n\n- Which rules catch the most violations in practice\n- Whether structured messages reduce fix iterations (I believe they do, but want data)\n- New patterns that emerge as LLM capabilities change\n- Edge cases where rules create more noise than value\n\n**How you can help:**\n\nIf you're using this plugin with LLM agents, I'd love to hear what's working and what isn't. Open an issue with:\n\n- Rules that catch real problems in your codebase\n- Rules that generate false positives or friction\n- Patterns your LLM consistently gets wrong that aren't covered\n\nThe goal is a tight, high-signal ruleset — not comprehensive coverage. Every rule should earn its place.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}