{"_id":"aislop","_rev":"32-afc0fcfaaf231a3dcf1ff36336b76a70","name":"aislop","dist-tags":{"latest":"0.12.0"},"versions":{"0.1.0":{"name":"aislop","version":"0.1.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.1.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"a878334f075f9199e807a62ffbe6d4f101d99fbf","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.1.0.tgz","fileCount":14,"integrity":"sha512-GbxV26h5/vX5EhAyJH7ciqhZ1nFRZvEx5JYMFcDzGrsZpDy3RrwzVQerWkH0dIWhtgCHdY0VR1oe0bjvojJbOw==","signatures":[{"sig":"MEUCIQDENzEizKMo461OHZ7AP8zCAvmjcjhBb6H1thN9oes4ngIgZktnrefEkpQ9hU1llNwsdoMZFwwo9AM7jfOY9xNXUT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297043},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"00e4e22a2a3c6decc0c3952dc35522e39bf82e18","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.1.0_1773192888948_0.3622863178238682","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"aislop","version":"0.1.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.1.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"036c4ead90ac3066730994036c68346b689f6247","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.1.1.tgz","fileCount":14,"integrity":"sha512-PKg5VIQIyz2aw100grEaJKVxHnWqcV3hdSUJfsZAilQgwNIZLgw2xvFz0sWMZBl/CYtBX4Nk3i7XyosYV6nQDA==","signatures":[{"sig":"MEYCIQCGMl5agwxlTF+NaRnYsdoy//lpC36kC2r/74G1T0QXJQIhAIe6aO6C15RLdAHhG3tylc3hhDO6VpTOwKHfctUfF+jY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306330},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9b1ed39856dd42209ee377a9bdb82699196dbc46","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.1.1_1773194989554_0.18248330582209493","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"aislop","version":"0.1.2","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.1.2","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"89561d4ca4f7f162d7c61960b8576d72fe3f12cb","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.1.2.tgz","fileCount":14,"integrity":"sha512-YH5a4oD5tzMjOqgTZTaIYp7aRYImcThhLWvSUZRleoSOKGFEe1pGodUFxJBs9HK+tmnearM+AqcqrmKHbPpDcQ==","signatures":[{"sig":"MEQCIBI/jlztGPHVL63CsDcuHm2hVwGfY1JOzM0YNNkATWbsAiBBmBn+3x1iSdLWj4uVfSNCkfihfZfizxtFPZvRgZRpyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":307022},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d5520f3445b40fb33dbe8fe96b89e026c3100daa","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.1.2_1773198893405_0.8831008446190667","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"aislop","version":"0.1.3","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.1.3","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"8c3f90f69557c40bc5dd5157f682de4cdf4da07b","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.1.3.tgz","fileCount":14,"integrity":"sha512-SfdIG6pTz0fgGLk/GskLdlDnKGIWG4CuDEc5tovw+F+iKzddGyZkLodkHBI1RIxQNXSN9plzfi9VWw3BEphs2A==","signatures":[{"sig":"MEUCIFeo8SFJST8wGsf0nNAtggUNBINNYdAiuQIPKCj2CacuAiEA8buyn9x+aPQ2s3+JydiM7mBKLqj6sFkvZw0xTe1IG8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308629},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"0c176d9dc292bdd97bd966f961c682512e80928b","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.1.3_1773331603147_0.45437706334141037","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"aislop","version":"0.2.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.2.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"7f8ab15bbf6762964fae01f7b46ab1be145908ab","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.2.0.tgz","fileCount":14,"integrity":"sha512-cUNeXSE1mF3Th8BqhTWomshRPR0YltHOCYXnp/sdTpUJShRsjIP1IKsn+5qqhnM8nRQwp/fQ4cMyu1jrc7ShdA==","signatures":[{"sig":"MEYCIQD8uImreTp9OLg/hUkPm/Y1rtY0Ow6CdzGbusslZzOtmAIhAN2O0l5MBJbXXyu8Ke0XMElUAz8zKfzmbEChBqOHydWW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310330},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9e17f4aa9e8c941d353e3c161aecb26e24033308","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.2.0_1773338218962_0.22731274701061022","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"aislop","version":"0.2.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.2.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"6931203dfd94bb6ccb7b53767bdc90163e7d8367","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.2.1.tgz","fileCount":14,"integrity":"sha512-UJ05b+z0VoJZDjdgMAImSc/LW69SLGiIdkCAU0Qi2hYrgQM1wvTVhuT8aAoA2i5xt8GI9xa/3Wt/moeA2iDVuA==","signatures":[{"sig":"MEUCIQCFE1/WvzE89DEyONemA0xuN8ojROGkGbVLGXSioxfQKAIgEdFWI4U6rTs8CM6chGbxt41d3jveN8i5KySK5JCkrFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316552},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"f05150a1f2d28ef41bae1e430a99241514cc6cb9","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.2.1_1773785925712_0.5298146737474683","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"aislop","version":"0.3.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.3.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"06177e4ddf98b23517bf47a51392b93ef83f66a7","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.3.0.tgz","fileCount":12,"integrity":"sha512-C1FgiRUOmfXC7sjni3LbDmkhDBNFRYllsC3/I4FrGanqXTRsRADJhF6/VOmOhOU203J+h/bJ92oJpxsBxcAb2g==","signatures":[{"sig":"MEUCIFOs2yrZo+03d4V0usHa7Tt3dUmhmONQuS9+VR6McQC2AiEAx3gscM7/jl4jVs5jOuurw0KnZfomtCg20BZQpnP/wbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353651},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"a4aeedec2b5ec53abcf641cda29ab0bfdc748621","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.3.0_1773795850168_0.27224829301388676","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"aislop","version":"0.3.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.3.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"e270cd2210e2008afb03b9b590ddf3a52cca182f","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.3.1.tgz","fileCount":12,"integrity":"sha512-DB1yWkodBEvgcwHOytoH5PGIUByYyPq7kE+WU42qDYhl2Fa07I6MOMtvWkewZuHb3qveCkNfXbHOOqH2IQPw4A==","signatures":[{"sig":"MEYCIQCBOX/wq1mGeAdB+fymecY9YFECozgKbfBbq9Gr+VABPAIhAKnmhFilSAQhGyINUWPuUFenmEHFmRh8tTQYm73ODDoh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354273},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"816b5af3fdbae3b9e1a0fd9d7d8b4484d5b4f3ba","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.3.1_1774300428203_0.7653864530916441","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"aislop","version":"0.3.2","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.3.2","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"eaeeb0197134f79d4abdbe651acd8e947eb9a170","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.3.2.tgz","fileCount":12,"integrity":"sha512-dOQUE3lpLpg+9xctnar3Yuvxs9Txw/hWkXSsXQzNDiMauo4aLLkzgTGBtlgqihiM3bjgZ2WnChS1sZXp5TF68A==","signatures":[{"sig":"MEQCIDqKX+2GHNn4Dru8mFiJQWwOE0avbCgniRKQMGiVgO9rAiAvUmvmyUV8W1k0Wjm9a/9jLmd8ETsyW8jMNZCq4vQmnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354272},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"5bda6b35058a766c3123207853f0a618dd372d18","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.4","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.3.2_1774302771004_0.8787643696358374","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"aislop","version":"0.4.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.4.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"215a92e78aa226e1ea5894d17635b7ed3c72a2ae","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.4.0.tgz","fileCount":12,"integrity":"sha512-nNMnbJG5m+BY/y8s9fIImd0grMKpUSlKDoQiEdjwwQj2/jAO89CtKrntVwgswIeXyUj+i7wN7iw/DZHyLgCBwg==","signatures":[{"sig":"MEUCIQCkLt6qVd+fu4hYLjogz6Nxm5VyD8DZ4vjgLcj6sy43CwIgOC11IpbgLjP0bOJ6hmhUtLQipm+UY8BP3Ha+zg9r7to=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389276},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"e04cc5b619c1cec03600164c072e77c8c0adb20b","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ora":"^9.3.0","tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","commander":"^14.0.3","picocolors":"^1.1.1","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.4.0_1776289869184_0.6079414161752814","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"aislop","version":"0.5.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.5.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"6c797007a4dd891ae14a6e08d6e3ca2a70994daf","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.5.0.tgz","fileCount":15,"integrity":"sha512-ttwZy3tQkCbpgoGbrbomQax5Glww/Pc4sAGlLMx4W280NxPXMaaduMQYU0JIVHHl2UWapkHzN2u9mZKUkcxO6A==","signatures":[{"sig":"MEYCIQDWZ1LcZn1FU0vSScA3vbwkumYBNUL8t6MUnEyTOLoFqwIhALRE55f6e5uS6Cj3I7dCp3UGM0QTi2bfNL/QaqK9ewnT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473977},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d1e0ce20a3bb0c118ff3844c742d8ddaa14047dc","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.5.0_1776531584215_0.8563765964625809","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"aislop","version":"0.5.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.5.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/heavykenny/aislop#readme","bugs":{"url":"https://github.com/heavykenny/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"7804fd34ad254f22dd29831911f41d040c68f1df","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.5.1.tgz","fileCount":15,"integrity":"sha512-BX2NS07Jjv/1uf51RlTEhhmvycXJM627o7napbVs0PLremL5Hl3zUHAduLzdCzqV38wQrksplXLz+zilLxR+XQ==","signatures":[{"sig":"MEUCIFhpmJyuHdXhAgcdpUvew/HhyqyjlMPTaSVtdEhRhij/AiEA8+9kmZ9oGDuG0Hq0TNMfKgGAKAUrIyoeR5Xu3Zee+TI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500609},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"5bc61bada7c7eaad95cf0b574414f9532f815423","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/heavykenny/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.5.1_1776643223247_0.26706938900500754","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"aislop","version":"0.6.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.6.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"56bea622a1ae0c9bf67e13b0b2bf9bf212b608fd","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.6.0.tgz","fileCount":15,"integrity":"sha512-LGkb5AINIZDGlg+l2L3UtaSN9ymsGnFsKhsGLoM29e37rrm5ef1WJa2wfzrmP9EUXhiB3fLTVnmqXsIyyjYXzw==","signatures":[{"sig":"MEUCIGV4l5Tfzl/q8IQOPx0ZGt40UYb8eDQM9UAqyYqdH9TrAiEA3efgTrpF1YZeKpzh6aCHufwq1EocRS9V17mUQgBSaFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535359},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"60b0a1c0955d5c8f4c8efb1c98a60a674dc94032","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.6.0_1776724616403_0.9736526574548303","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"aislop","version":"0.6.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.6.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"9bd220c54fd4839364343daf15345ee7201360fd","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.6.1.tgz","fileCount":15,"integrity":"sha512-3nP7f9U0CYdIf82iZmEZpY+Vl+sfAEa9RyUaJVndTxY1CGFDiRow1nm7LIBrTeu7xfJnJCqoq31HJSbraiuyOQ==","signatures":[{"sig":"MEUCIE2rTAEMjbfBSa3vX+5haeXO1TlXhGi4ruakh3vldddiAiEAzZ/As6PKqLrBlEFqdIL1JznKfsp0/5OaI+fY8UNpoks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":558397},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"709f375e692e5cba96a6da40bc9b3ee7d0788dff","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.6.1_1776805665160_0.8784251227451423","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"aislop","version":"0.6.2","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.6.2","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"91ef4d96f1b71713aaa975aa2a311230194fd930","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.6.2.tgz","fileCount":15,"integrity":"sha512-EmcE1KPEEDTiiVPHZ93t8D31GpkRpO4Cp+xUJyteio8v6oEknFBNs4dO4T8DF3ATe+Or+mjoOw7f5IhF+3NSVQ==","signatures":[{"sig":"MEUCIHGYNesnw/UPxAe816Ak9bwj0j3T+TuXJkAm6FyvamPbAiEAzpQKZ391+y76KrfkzQdtH/5SfBdPRwg/JrHZxt4oTnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":558885},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"a948e17f74f080463c9246b0316170bd31e63b68","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.6.2_1776965807588_0.048003659090997575","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"aislop","version":"0.7.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.7.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js"},"dist":{"shasum":"0f7e3fc8bce42cb3116fffd0dc8c210a20c3f0f4","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.7.0.tgz","fileCount":15,"integrity":"sha512-HnzEk2tEXK0fZN4FFn/OTse9JCn4U2sUnkLvWvWBI0RxpGiDak1egeAjjwi9Q0Isth5xb5GDSvl3xvvMTWgErQ==","signatures":[{"sig":"MEUCICLVrTliUIB1g8hpew8KxN043J42J1quuIl1M4N6jOGfAiEA1VsgRcfyfTJtOlM3uIzubW6G0LyFddXo+WfddDEZl1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567264},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"cd5944e386c90415d65b1532cf231b7b8628aadf","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"Stop AI slop from shipping. A unified code quality CLI that catches the lazy patterns AI coding tools leave behind.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.7.0_1777710791574_0.7662958410400604","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"aislop","version":"0.8.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.8.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"d2fcb08a94143940f61b66ffc52a10ea50d341b1","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.8.0.tgz","fileCount":21,"integrity":"sha512-MEqbYCOkgLZocPxcC7rvh14rz1ddr5SgVgUpgKx9UAtWMwicpn9ZCuqb046FmeX2NaVz1kIlmViynuB8OAHU9w==","signatures":[{"sig":"MEUCIQDjZmCzIMqdTM1xc5Z0el2AblnOMPBe9aofGWt/bvsvHwIgHGZ9dTTX8tSozqerY8VlnEoidZqpPvaMyGkGiFhbQbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":829724},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"725a9abbf4d4b91675d8209d020d9605830aa03b","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.8.0_1778370539358_0.0393565570150729","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"aislop","version":"0.8.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.8.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"de0042d18817b104eed915df422aac8f2da2b540","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.8.1.tgz","fileCount":21,"integrity":"sha512-A3CNbvuwN/6+N3sk4vtXpMkDrcODzkUBGlTBCKuFR/qpoMIbEmFP/QyCsecy+EHxJSlYV2kldSnY6ntu8XRJYg==","signatures":[{"sig":"MEQCIEzYJnRzwZQ37dRnrA+00pybC+VxYJz4dHch+ewiMM/eAiAciZ5wEaMaGjEbImgJuergfeIVuTIGDm0gURptunaIOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":822702},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"befc232444f64655df5392c3259f4bc322fd3537","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.8.1_1778374484971_0.29524339182229586","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"aislop","version":"0.8.2","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.8.2","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"62be5e5d97a9172f130da90276640602f90320ec","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.8.2.tgz","fileCount":21,"integrity":"sha512-UNErhifCVEYdmeuJvMzxWQai26N1VyJbx2H97TnTChQarN8WL0Lh0Hq1F1y8Nnk7nGcjNv/sehEGJDxGkQYdng==","signatures":[{"sig":"MEUCIBmwws1TcQaa0+oWGoeIiy7Jt8e2l4NltUqt/fb2YI2PAiEA5FXUnwgOHzO+XrboD2CTi+3BgWkYJR6wR+LaFc76AiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":828529},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"752574261812a76d3fd9cfb6a2b04efeb97437d0","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.8.2_1778703433366_0.09291690873285208","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"aislop","version":"0.8.3","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.8.3","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"57418ab28db5f96838b31a15107e9a32010fda69","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.8.3.tgz","fileCount":21,"integrity":"sha512-lACuTj7jr2kRCqpU7jgD1UmJaBNf0OzwcBLDLi1XLR4DS69zD+gz6XPg5GYJ2ZUTkGdLOtuRJYnBS1iOEWxneQ==","signatures":[{"sig":"MEQCIH6y4VzIItq1LJlklVZRcu+LyqAdD894HEWEerV2MccMAiAgDcMJJUFXVZ9rG08Ei/9jQ65WaNA/zqNYe/iZIYAQTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":832255},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9e2b390df634a42a6c30fcea756cd7467bfca110","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.8.3_1778709675105_0.7320011581223143","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"aislop","version":"0.9.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.9.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"3b3fef8f13d7f4e8a455677a6c605344370a4e47","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.9.0.tgz","fileCount":21,"integrity":"sha512-Kb/jfsuDQt8mB2EcxDEHOevyenfelaaNFmUKbgCRVZvm6BWNAsyGq+iVYgkjc3pYVAjd933KLgFOvkoUSX81Iw==","signatures":[{"sig":"MEYCIQCaYWF8IiG2Ew9FfaK299DgAhu2x7GDxcC2OoUDVMubUwIhALmcEByWh4FmEsxEb/RkV8pAe8D5nBgp5PIrUSi9Q3cv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":860416},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"e438e37a27f7abae7bc68c2251b8e3308f54f814","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.9.0_1778945001341_0.07494258533585407","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"aislop","version":"0.9.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.9.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"a201ccc0469a7df9b4431e8d7e0372deed335223","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.9.1.tgz","fileCount":21,"integrity":"sha512-5ORK0LVyaWt9PkFVd9e9qv2j5T/sgJZevl+wDCIc57myLBnaIWpTzgnsFDaQijl382Z+uz6u/cup7HE8KnvwcA==","signatures":[{"sig":"MEQCICkdjEmXg4S0pnvompJ+yq9/tTb2GCdXO0qYjawu6TZ7AiAKUpWnwIxp8exwNHAoT/apAvN0VMmRrqyI+FbeSGzdag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":907645},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"be7ed9de06eb4534d8b882b2a144a0394119c4bc","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.9.1_1779216159961_0.7399748794861347","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"aislop","version":"0.9.2","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.9.2","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"6be031407474e9702beefbc340cbf092a643ac98","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.9.2.tgz","fileCount":21,"integrity":"sha512-+FsmFU3N1e0rD4kpDrbSpkKzwZih1+Rn3nNBMGEXqSSnBawCX6uI6nV9fW1vceG3/fiaVBojYi5kJdiNgPaoeg==","signatures":[{"sig":"MEYCIQCb4uMdJHtHqYK0ZrVg9ChD+CpmuuSPrSP0EeMm0odGhwIhAMuZFU7sGfmOE1A6wTmg4ToSdDlhTAC4vUZTlYeM93t2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":907747},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"7cd8320c7113dbd8122640700ab8cdbdce2638c3","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.7","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.2","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.9.2_1779224398321_0.625547525071275","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"aislop","version":"0.9.3","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.9.3","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"e25e01d02ea8af5dfe5e62a4f7c9d83db42c86e6","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.9.3.tgz","fileCount":21,"integrity":"sha512-GoX9Nihaw9mSVbaFnQ+CEygECDh8iHMXZZE9VAQ07JAQBioYFHnGtF6NE/BiMD/h8N6gc5xHz8jOdVhi/V7vow==","signatures":[{"sig":"MEUCIQCmNanP9XpBSmcCYVbgRsdw5Ylrxse+sXk1pDU64kguawIgDDDiIg8tesVBM5jvkLDTni4+VZhS3jWgUjd7ALtOb4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":950653},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"041e6d81cd542ea95249433700799cf63a024ee8","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.9.3_1779452257696_0.7064819301056917","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"aislop","version":"0.9.4","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.9.4","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"0fd7285a7ffe8f82f45596ff24c2149b8fe2fc11","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.9.4.tgz","fileCount":21,"integrity":"sha512-5HZ3N5UGpP68O/01jpm3+gz4avG98DvOOU9lOQycT4mS78fX5jKv3nWzBIl+eb+KpFDgdxGhXgfsYI8IE+jHUg==","signatures":[{"sig":"MEYCIQDhWndNNr2eecEMGu/1foquXr1gXzHTxGoNFZCI2xyRagIhAOBXIOAxr8UfwySXLPbxgAUqRsP/4b4fvrQlg9T6HygM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":964390},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10","qs@>=6.11.1 <=6.15.1":"^6.15.2"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"698b969187cbf2b92c926225742976c9b4cce1da","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"The engineering standards layer and quality gate for AI-written code. Define your standard once. Every agent — Claude Code, Cursor, Codex — is held to it automatically, on every edit and every PR. Catches the slop they leave behind, enforces the rules you","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.9.4_1779927406389_0.9098506532657433","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"aislop","version":"0.9.5","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.9.5","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"0765a90422221e8d812fe2f01d4dee2571a92af8","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.9.5.tgz","fileCount":25,"integrity":"sha512-W4TjTDZ+LCbOCzjnZ0/SwgVap1w7ouEVpOKHxVcH7if+OSmTkFUsyBdVubaXIystghIB/UpYIi60aQuHlfSt4w==","signatures":[{"sig":"MEQCIDVNg4c2rAXme4RSDLJ1m2cE2JbZLEpKGpFNf9DHUH3QAiBgC03NpTaOliyJ28YPvAiwJAWJantS2WgW3+SRokaP4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1060227},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10","qs@>=6.11.1 <=6.15.1":"^6.15.2"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"b99885f01512bfe4767a0c593598de49f6cb47d4","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","gen:schema":"node --experimental-strip-types scripts/gen-config-schema.mjs","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 40+ rules across 7 languages (TS/JS, Python, Go, Rust, Ruby, PHP, Java). Sub-second, deterministic, no LLM at runti","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.9.5_1780098173698_0.33756510715831944","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"aislop","version":"0.9.6","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.9.6","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"7d70f505209711a597ed7c504fdf015ca1ed5a27","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.9.6.tgz","fileCount":25,"integrity":"sha512-MCNVtW4MiNS+0h98vOzlzOkV90407oEOikLZ4xoiuESLKel9Z2bh7GZSchoArtCqz1pBeizZF7XMkLOYZeBU0g==","signatures":[{"sig":"MEUCIC3Cr4YvYCWE8uWmcVIcgb/V09qmZ9/kfNj38x0WevPwAiEAwSnlsJCBuxksFej7UExxHye9XfAvQAQmilXmDWrtnmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1061466},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10","qs@>=6.11.1 <=6.15.1":"^6.15.2"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d64de766dff422ac5a2347084d11189b3f00b79e","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","gen:schema":"node --experimental-strip-types scripts/gen-config-schema.mjs","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 40+ rules across 7 languages (TS/JS, Python, Go, Rust, Ruby, PHP, Java). Sub-second, deterministic, no LLM at runti","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.9.6_1780100308870_0.668533283247551","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"aislop","version":"0.10.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.10.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"043368f3d9fff4afc545aebc5f8d2df655f6be2d","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.10.0.tgz","fileCount":25,"integrity":"sha512-KCPqlYsfI3F7VcNVXaD0rXzi4CXhbWc64/6IN2oOlu0nfwUUw3w3vBX9q4KHHOa+uLjVPJWkc/eK2hC0C2bUeg==","signatures":[{"sig":"MEUCIFZvvtL3S86xHBqtgLwkKGZUNUicicJv7NojZdjDtc5iAiEAx7Um7JkSocoZgqOzYTLn1VwIuoMOiDoUJL8/wylanz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1063870},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10","qs@>=6.11.1 <=6.15.1":"^6.15.2"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"f62a0edd31af7607d79af6421301fa10a22cac88","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","gen:schema":"node --experimental-strip-types scripts/gen-config-schema.mjs","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 40+ rules across 7 languages (TS/JS, Python, Go, Rust, Ruby, PHP, Java). Sub-second, deterministic, no LLM at runti","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.10.0_1780133296935_0.46166651695457617","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"aislop","version":"0.10.1","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"heavykenny"},"license":"MIT","_id":"aislop@0.10.1","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://github.com/scanaislop/aislop#readme","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"acd0142733932864d000010296f73a922e270442","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.10.1.tgz","fileCount":25,"integrity":"sha512-pRrn4D6Ka4TY4+E0Hyeo4uMSibELPs2sZ1I4enRbTBVahiliEF/jWS2gTzgW12PClQklEIOT7Plo1/sJgzR+dg==","signatures":[{"sig":"MEUCIQCNeDu7aV7nn9Lwf7Xr6zyaSkvAlhumg/ib91jc0GuEWAIgYXTMNYNs8Ow7KQ2UBVxVz+Iv7KaAYZN/hEGtOQm/MWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1075366},"pnpm":{"overrides":{"postcss@<8.5.10":"^8.5.10","qs@>=6.11.1 <=6.15.1":"^6.15.2"}},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9c2e43e896bab5db6cd0332746fbcadb68bdbf02","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","gen:schema":"node --experimental-strip-types scripts/gen-config-schema.mjs","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 40+ rules across 7 languages (TS/JS, Python, Go, Rust, Ruby, PHP, Java). Sub-second, deterministic, no LLM at runti","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.10.1_1780147940887_0.8007490277522666","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"aislop","version":"0.10.2","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"url":"https://scanaislop.com","name":"Kenny Olawuwo"},"license":"MIT","_id":"aislop@0.10.2","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://scanaislop.com","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"0826c41160b1774ebe756fc3630d3d919863c368","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.10.2.tgz","fileCount":25,"integrity":"sha512-bRBoJB2AHYZWQMToTHb/i2YdnRo/YHWP5lKMmUCrLEM0QtfGv+YKdJJ119Z/7N75XGXA1tuj/g5MdQGlQU6mXQ==","signatures":[{"sig":"MEQCIEgAlUvSpLPmQx0zmsrMxa7BnRlNoMElWT5dQOxJkg+hAiAF/5OwdI/1yviodE4UIgetZ7ebiB9IGh0XzTHVhkMGgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1104373},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9b7e320807c5302a5bc59d786e156942ca5ae32d","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","gen:schema":"node --experimental-strip-types scripts/gen-config-schema.mjs","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 7 languages (TypeScript, JavaScript, Python, Go, Rust, Ruby, PHP). Sub-second, deterministic, no L","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.1.8","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.10.2_1780377532253_0.9214053322313576","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"aislop","version":"0.11.0","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"url":"https://scanaislop.com","name":"Kenny Olawuwo"},"license":"MIT","_id":"aislop@0.11.0","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"homepage":"https://scanaislop.com","bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"dist":{"shasum":"a42a1949bf5ed2ac3de2aa9b23aa80aa8e851d53","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.11.0.tgz","fileCount":25,"integrity":"sha512-7m8zGWFLxfOGk+PUIAAB41YgLyHpF9RYoj6Bg8P1+qDRN30KWWOEzBgeN7vtfTeJUPQ7ggjn4lkWEahBT2b3ag==","signatures":[{"sig":"MEUCIQDfLasPZ1+M2cjr2leIOUxYaxEmF6b4RmSbZ5/bfV8xiAIgH9nF1QhxfNaI2dKP/VmsB9p9h8urbJH35okARQUxdcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1223930},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"f978894fbc77dd2274c505fe5c1349ecef80aec7","scripts":{"dev":"tsdown --watch","scan":"pnpm build && node dist/cli.js scan .","test":"pnpm build && vitest run","build":"rm -rf dist && NODE_ENV=production tsdown","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json","scan:json":"pnpm build && node dist/cli.js scan . --json","typecheck":"tsc --noEmit","gen:schema":"node --experimental-strip-types scripts/gen-config-schema.mjs","postinstall":"node scripts/postinstall-tools.mjs","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests"},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"repository":{"url":"git+https://github.com/scanaislop/aislop.git","type":"git"},"_npmVersion":"10.9.8","description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 8 language targets (TypeScript, JavaScript, Expo / React Native, Python, Go, Rust, Ruby, PHP). Sub","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tar":"^7.5.11","zod":"^4.3.6","knip":"^5.85.0","yaml":"^2.8.2","oxlint":"^1.51.0","adm-zip":"^0.5.16","wcwidth":"^1.0.1","commander":"^14.0.3","micromatch":"^4.0.8","picocolors":"^1.1.1","typescript":"^5.9.3","expo-doctor":"^1.18.10","@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.0","devDependencies":{"tsdown":"^0.20.3","vitest":"^4.1.8","@types/node":"^25.6.0","@types/micromatch":"^4.0.10"},"_npmOperationalInternal":{"tmp":"tmp/aislop_0.11.0_1780756080027_0.8113597823975707","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"aislop","version":"0.12.0","description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 8 language targets (TypeScript, JavaScript, Expo / React Native, Python, Go, Rust, Ruby, PHP). Sub","type":"module","bin":{"aislop":"dist/cli.js","aislop-mcp":"dist/mcp.js"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","build":"rm -rf dist && NODE_ENV=production tsdown","postinstall":"node scripts/postinstall-tools.mjs","typecheck":"tsc --noEmit","gen:schema":"node --experimental-strip-types scripts/gen-config-schema.mjs","test":"pnpm build && vitest run","scan":"pnpm build && node dist/cli.js scan .","scan:exclude":"pnpm build && node dist/cli.js scan . --exclude .idea --exclude .gitnore --exclude node_modules","scan:include":"pnpm build && node dist/cli.js scan . --include src --include tests","scan:json":"pnpm build && node dist/cli.js scan . --json","quality":"pnpm typecheck && pnpm test && node dist/cli.js scan . --json"},"keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"author":{"name":"Kenny Olawuwo","url":"https://scanaislop.com"},"license":"MIT","homepage":"https://scanaislop.com","repository":{"type":"git","url":"git+https://github.com/scanaislop/aislop.git"},"bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"engines":{"node":">=20"},"packageManager":"pnpm@10.28.0","dependencies":{"@biomejs/biome":"^2.4.5","@clack/prompts":"^1.2.0","@modelcontextprotocol/sdk":"^1.29.0","adm-zip":"^0.5.16","commander":"^14.0.3","expo-doctor":"^1.18.10","ink":"^6.8.0","ink-select-input":"^6.2.0","knip":"^5.85.0","micromatch":"^4.0.8","oxlint":"^1.51.0","picocolors":"^1.1.1","react":"^19.2.7","tar":"^7.5.11","typescript":"^5.9.3","wcwidth":"^1.0.1","yaml":"^2.8.2","zod":"^4.3.6"},"devDependencies":{"@types/micromatch":"^4.0.10","@types/node":"^25.6.0","@types/react":"^19.2.17","ink-testing-library":"^4.0.0","tsdown":"^0.20.3","vitest":"^4.1.8"},"_id":"aislop@0.12.0","gitHead":"0f1c4764ae141a541b9ca8bfb3a84a5f3107180d","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-dXeMWuz1hjEbkko/h3O5VcxzSge0Wz9UQ+vCv3auKwqzmy4DQvURTvdGqzGacTnLHueIy9TwrY6oSGflTVtuUA==","shasum":"dd922832b03e3de96995a09854a7cc837b397cb0","tarball":"https://registry.npmjs.org/aislop/-/aislop-0.12.0.tgz","fileCount":26,"unpackedSize":1508075,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDWY+ymL1PFSr9A5wUKisjUMebMK9ci4O0E4zbyUiVAIwIgG/9cP7nGw59txy6zMd82hO+oU0BJFWejLsSdC3D5Boc="}]},"_npmUser":{"name":"heavykenny","email":"olawuwokenny@gmail.com"},"directories":{},"maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aislop_0.12.0_1781133413185_0.8624239871956962"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T01:34:48.856Z","modified":"2026-06-10T23:16:53.586Z","0.1.0":"2026-03-11T01:34:49.161Z","0.1.1":"2026-03-11T02:09:49.818Z","0.1.2":"2026-03-11T03:14:53.606Z","0.1.3":"2026-03-12T16:06:43.284Z","0.2.0":"2026-03-12T17:56:59.120Z","0.2.1":"2026-03-17T22:18:45.917Z","0.3.0":"2026-03-18T01:04:10.320Z","0.3.1":"2026-03-23T21:13:48.358Z","0.3.2":"2026-03-23T21:52:51.195Z","0.4.0":"2026-04-15T21:51:09.343Z","0.5.0":"2026-04-18T16:59:44.424Z","0.5.1":"2026-04-20T00:00:23.414Z","0.6.0":"2026-04-20T22:36:56.567Z","0.6.1":"2026-04-21T21:07:45.378Z","0.6.2":"2026-04-23T17:36:47.756Z","0.7.0":"2026-05-02T08:33:11.710Z","0.8.0":"2026-05-09T23:48:59.511Z","0.8.1":"2026-05-10T00:54:45.144Z","0.8.2":"2026-05-13T20:17:13.525Z","0.8.3":"2026-05-13T22:01:15.338Z","0.9.0":"2026-05-16T15:23:21.535Z","0.9.1":"2026-05-19T18:42:40.152Z","0.9.2":"2026-05-19T20:59:58.531Z","0.9.3":"2026-05-22T12:17:37.962Z","0.9.4":"2026-05-28T00:16:46.559Z","0.9.5":"2026-05-29T23:42:53.892Z","0.9.6":"2026-05-30T00:18:29.126Z","0.10.0":"2026-05-30T09:28:17.063Z","0.10.1":"2026-05-30T13:32:21.041Z","0.10.2":"2026-06-02T05:18:52.422Z","0.11.0":"2026-06-06T14:28:00.226Z","0.12.0":"2026-06-10T23:16:53.452Z"},"bugs":{"url":"https://github.com/scanaislop/aislop/issues"},"author":{"name":"Kenny Olawuwo","url":"https://scanaislop.com"},"license":"MIT","homepage":"https://scanaislop.com","keywords":["aislop","ai-slop","code-quality","linter","formatter","cli","ai","copilot","code-review","static-analysis","typescript","javascript","python","go","rust","ruby","php"],"repository":{"type":"git","url":"git+https://github.com/scanaislop/aislop.git"},"description":"Catch the slop AI coding agents leave in your code: narrative comments, swallowed exceptions, as-any casts, dead code, oversized functions. 50+ rules across 8 language targets (TypeScript, JavaScript, Expo / React Native, Python, Go, Rust, Ruby, PHP). Sub","maintainers":[{"name":"heavykenny","email":"olawuwokenny@gmail.com"}],"readme":"# aislop\n\n**Catch the slop AI coding agents leave in your code.**\n\n[![npm version](https://img.shields.io/npm/v/aislop.svg)](https://www.npmjs.com/package/aislop) [![npm downloads](https://img.shields.io/npm/dm/aislop.svg)](https://www.npmjs.com/package/aislop) [![PyPI downloads](https://img.shields.io/pepy/dt/aislop.svg?label=PyPI%20downloads)](https://pypi.org/project/aislop/) [![Homebrew tap](https://img.shields.io/badge/Homebrew-scanaislop%2Ftap-2f855a.svg)](https://github.com/scanaislop/homebrew-tap) [![CI](https://github.com/scanaislop/aislop/actions/workflows/ci.yml/badge.svg)](https://github.com/scanaislop/aislop/actions/workflows/ci.yml) [![aislop score](https://badges.scanaislop.com/score/scanaislop/aislop.svg)](https://scanaislop.com/scanaislop/aislop) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Node >= 20](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](https://nodejs.org)\n\nThe patterns Claude Code, Cursor, Codex, and OpenCode leave behind: narrative comments above self-explanatory code, swallowed exceptions, `as any` casts, hallucinated imports, duplicated helpers, dead code, todo stubs, oversized functions. Tests pass. Lint passes. The code rots anyway.\n\naislop catches them. 50+ rules across 8 language targets (TypeScript, JavaScript, Expo / React Native, Python, Go, Rust, Ruby, PHP). Scores every change 0–100. Sub-second. Deterministic — no LLM in the runtime path, same code in, same score out. MIT-licensed, free CLI.\n\n## Quick start\n\n```bash\nnpx aislop@latest scan\n```\n\nNo install needed. Works on any project. Get your score in seconds.\n\nAlso available on npm, Yarn, Bun, Homebrew, and PyPI:\n\n```bash\nnpm install -g aislop                # npm\nyarn dlx aislop scan                 # Yarn (no install)\nbun add -g aislop                    # Bun\nbrew install scanaislop/tap/aislop   # Homebrew\npipx install aislop                  # Python\n```\n\nSee [Installation](#installation) for every option.\n\n```bash\naislop agent                 # repair with your coding agent (Codex/Claude/OpenCode)\naislop fix                   # auto-fix the mechanical issues\naislop fix -f                # aggressive fixes (deps, unused files)\naislop ci                    # CI mode (JSON + gate)\naislop hook install --claude # per-edit hook\n```\n\n**Public badge**: Show your score on your README\n\n```markdown\n[![aislop](https://badges.scanaislop.com/score/<owner>/<repo>.svg)](https://scanaislop.com)\n```\n\nRun `npx aislop@latest badge` to auto-generate. Free at [scanaislop.com](https://scanaislop.com).\n\n## See it in action\n\n### Scan\n\n![aislop scan demo](assets/scan.gif)\n\n---\n\n## Installation\n\nThe same CLI is published to npm, Homebrew, and PyPI. Pick whichever fits your stack.\n\n**Node / npm**\n\n```bash\n# Run without installing\nnpx aislop@latest scan\n\n# npm\nnpm install --save-dev aislop\n\n# yarn\nyarn add --dev aislop\n\n# pnpm\npnpm add -D aislop\n\n# bun\nbun add -d aislop\n\n# Global\nnpm install -g aislop\n```\n\nAlso available as [`@scanaislop/aislop`](docs/installation.md) on GitHub Packages.\n\n**Homebrew** (macOS / Linux)\n\n```bash\nbrew install scanaislop/tap/aislop\n```\n\nHomebrew installs Node.js as a dependency if it isn't already present. Details: [homebrew-tap](https://github.com/scanaislop/homebrew-tap).\n\n**Python / pipx**\n\n```bash\npipx install aislop\n```\n\n`pipx` keeps `aislop` in its own isolated environment. Needs Node.js on `PATH`. Details: [PyPI package](https://pypi.org/project/aislop/).\n\nFull reference for every channel, bundled tooling, and external tools: [docs/installation.md](docs/installation.md).\n\n---\n\n## Usage\n\nExamples below use the installed `aislop` binary. For a one-off latest run, prefix the command with `npx aislop@latest`, for example `npx aislop@latest scan`.\n\n### Command reference\n\n```bash\naislop --help              # clean overview\naislop commands            # every public command and major flag\naislop <command> --help    # detailed help for one command\naislop version             # installed version\naislop -V                  # installed version\naislop update              # current and latest npm versions\n```\n\n### Scan\n\n```bash\naislop scan                       # current directory\naislop scan ./src                 # specific directory\naislop scan --changes             # changed files from HEAD\naislop scan --changes --base origin/main  # changed vs a base branch (PRs)\naislop scan --staged              # staged files only\naislop scan -d                    # verbose file/rule detail\naislop scan --json                # JSON output\naislop scan --sarif               # SARIF 2.1.0 output (GitHub code scanning)\naislop scan --format json         # alternate JSON form\naislop scan --include \"src/**\"    # only matching paths\naislop scan --exclude \"dist,gen\"  # skip extra paths\n```\n\n**Exclude files**: `node_modules`, `.git`, `dist`, `build`, `coverage` excluded by default. Add more in `.aislop/config.yml`:\n\n```yaml\nexclude:\n  - \"**/*.test.ts\"\n  - src/generated\n```\n\nOr via CLI: `aislop scan --exclude \"**/*.test.ts,dist\"`\n\n**Unsupported languages**: aislop only analyses the 8 language targets above. If a repo is mostly something else (C, C++, C#, Swift, Kotlin, …), scoring a handful of incidental files would misrepresent it, so aislop **withholds the score** and says so rather than printing a number off code it never read. `--json` returns `score: null`, `scoreable: false`, and a `coverage` breakdown.\n\n**Per-rule severity**: Override the severity of any rule by id, or turn it off:\n\n```yaml\n# .aislop/config.yml\nrules:\n  ai-slop/narrative-comment: warning   # error | warning | off\n  ai-slop/trivial-comment: \"off\"       # drop this rule entirely\n  security/hardcoded-secret: error\n```\n\n`off` drops matching diagnostics; `error`/`warning` rewrites severity before scoring and reporting. Absent map keeps default behavior.\n\n**Suppress findings inline**: Silence a specific line when you know better, with an optional reason after `--`:\n\n```ts\n// aislop-ignore-next-line ai-slop/empty-fallback -- options is validated upstream\nconst opts = { ...defaults, ...(input || {}) };\n\nconst legacy = doThing(); // aislop-ignore-line\n```\n\n`aislop-ignore-next-line` covers the line below, `aislop-ignore-line` the line it sits on, and `aislop-ignore-file` (place anywhere in the file) the whole file. Name one or more rules to scope the suppression, or omit them to silence every rule on that line. The directive works in any comment syntax (`//`, `#`, `<!-- -->`). Suppressed findings are removed before scoring, and the run reports how many were silenced.\n\n**Ignore whole paths**: Add an `.aislopignore` at the project root (same glob semantics as `exclude`, `#` comments allowed):\n\n```\nsrc/generated\n**/*.snap\nlegacy\n```\n\n**Extend config**: Project config can extend a parent:\n\n```yaml\n# .aislop/config.yml\nextends: ../../.aislop/base.yml\nci:\n  failBelow: 80             # override specific keys\n```\n\n**Editor validation**: Point your editor at the JSON Schema in [`schema/aislop.config.schema.json`](schema/aislop.config.schema.json) for autocomplete and validation of `.aislop/config.yml`. Regenerate it from the source config schema with `pnpm gen:schema`.\n\n### Fix\n\nThe deterministic layer beneath [`aislop agent`](#run-a-local-repair-agent): auto-fix what's purely mechanical (formatters, unused imports, dead code). For anything that needs judgement, reach for `aislop agent` or hand off to your coding agent with full diagnostic info.\n\n```bash\naislop fix                 # auto-fixes\naislop fix -d              # detailed fix progress\naislop fix --safe          # only reversible fixes (imports, comment removal, safe formatters)\naislop fix -f              # aggressive: deps, unused files\naislop fix -p              # print an agent handoff prompt\n```\n\n`--safe` restricts the run to fixes that cannot change behaviour — unused-import removal, import merging, narrative-comment removal, and formatter runs that do not execute project-controlled configuration. Anything that deletes code, rewrites behaviour/attributes, or can load executable formatter configuration (console/dead-code removal, lint autofixes, Ruby/PHP formatter config, unused-declaration and dependency pruning) is skipped, so a `--safe` run is genuinely \"apply and commit\".\n\n### Run a local repair agent\n\n`aislop agent` keeps the deterministic scanner in charge while using the coding agent you already have installed. It creates a local git worktree, runs safe fixes, streams a headless Codex / Claude Code / OpenCode repair session, verifies the result with `aislop scan --json`, writes a local session transcript, and leaves the diff for review.\n\n```bash\naislop agent providers        # see installed providers and setup hints\naislop agent connect codex    # run the provider's own local login flow\naislop agent use codex        # save a repo-local default provider\naislop agent use auto         # clear the default and auto-detect\naislop agent plan             # preview provider, worktree, findings, PR/apply behavior\naislop agent monitor          # stream scans when local git changes settle\naislop agent monitor --background\naislop agent monitor list     # list background monitors\naislop agent monitor stop     # stop the latest background monitor\naislop agent monitor --repair --in-place\naislop agent                  # auto-pick an installed provider\naislop agent --provider codex # switch provider\naislop agent --background     # run locally in the background\naislop agent --apply          # apply verified diff back to this repo\naislop agent --pr             # commit, push, and open a draft PR\naislop agent sessions         # list recent local repair sessions\naislop agent show             # show the latest session timeline and summary\naislop agent apply            # apply a reviewed worktree session later\naislop agent watch            # stream the latest session transcript\naislop agent stop             # stop the latest running background session\n```\n\nNo OpenAI or Anthropic API key is requested by `aislop`; provider CLIs use their own existing local auth. A saved provider default lives in `.aislop/agent/provider.json` and is kept out of commits through the repo's local Git exclude. Session transcripts live under `.aislop/agent/sessions/`, and agent sessions/worktrees are also excluded locally. Provider JSONL is normalized in the terminal stream while raw lines stay in the transcript.\n\n### Hand off to agent\n\nWhen auto-fix can't solve it, pass the remaining issues to your coding agent with full context:\n\n```bash\naislop fix --claude        # Claude Code\naislop fix --codex         # Codex CLI\naislop fix --cursor        # Cursor (copies to clipboard)\naislop fix --gemini        # Gemini CLI\naislop fix --prompt        # print prompt (agent-agnostic)\n```\n\nOther fix handoff flags: `--windsurf`, `--vscode`, `--amp`, `--antigravity`, `--deep-agents`, `--kimi`, `--opencode`, `--warp`, `--aider`, `--goose`, `--pi`, `--crush`.\n\n### Install hook\n\nRuns after every agent edit. Feedback flows back immediately.\n\n```bash\naislop hook install --claude           # Claude Code\naislop hook install --cursor           # Cursor\naislop hook install --gemini           # Gemini CLI\naislop hook install --pi               # pi\naislop hook install                    # pick agents interactively\naislop hook install claude cursor      # specific agents\naislop hook install --agent claude,pi  # comma-separated agents\naislop install claude cursor           # alias for hook install\naislop install hooks --claude          # natural alias for hook install\n```\n\n**Runtime adapters** (scan + feedback): `claude`, `cursor`, `gemini`, `pi`.  \n**Rules-only** (agent reads rules): `codex`, `windsurf`, `cline`, `kilocode`, `antigravity`, `copilot`.\n\nHook install flags: `--agent <names>`, `-g, --global`, `--project`, `--dry-run`, `--yes`, `--quality-gate`, plus per-agent shortcuts `--claude`, `--cursor`, `--gemini`, `--pi`, `--codex`, `--windsurf`, `--cline`, `--kilocode`, `--antigravity`, `--copilot`.\n\n**Quality-gate mode**: Blocks if score regresses below baseline.\n\n```bash\naislop hook install --claude --quality-gate\naislop hook baseline                    # re-capture baseline\naislop hook status                      # list installed\naislop hook uninstall --claude          # remove\naislop uninstall claude                  # alias for hook uninstall\naislop uninstall hooks --claude          # natural alias for hook uninstall\n```\n\nDocs: [`/docs/hooks`](https://scanaislop.com/docs/hooks)\n\n### MCP server\n\nExpose aislop as MCP tools for Claude Desktop, Cursor, Codex:\n\n```jsonc\n// ~/.cursor/mcp.json or Claude Desktop config\n{\n  \"mcpServers\": {\n    \"aislop\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"aislop-mcp\"]\n    }\n  }\n}\n```\n\n**Tools**: `aislop_scan`, `aislop_fix`, `aislop_why`, `aislop_baseline`\n\n### CI\n\n```bash\naislop ci                  # JSON output, exits 1 if score < threshold\naislop ci --changes --base origin/main  # gate only the files a PR changes\naislop ci --human          # human-friendly CI output\naislop ci --sarif          # SARIF output for code scanning\n```\n\n`ci` accepts the same `--changes` / `--staged` / `--base <ref>` scoping as `scan`. Use `--changes --base origin/<target>` to gate a pull request on only the files it touches; the score gate and exit code still apply.\n\n### Other commands\n\n```bash\naislop                         # interactive menu\naislop init                    # create .aislop/config.yml\naislop init --strict           # enterprise-grade gate: all engines, typecheck, failBelow 85\naislop doctor                  # check which engines can run here\naislop rules                   # list rules with severity, fixability, and score impact\naislop rules --search          # searchable rule explorer\naislop badge                   # print badge URL\naislop badge --owner o --repo r --json\naislop trend                   # show score history over time\naislop trends                  # alias for trend\naislop trend --limit 20\naislop update                  # show current and latest npm versions\naislop upgrade                 # alias for update\naislop commands                # full command list\n```\n\n**Score history**: a normal (full-project, interactive) `scan` appends a compact record to `.aislop/history.jsonl` (timestamp, score, error/warning counts, file count, CLI version). `aislop trend` and `aislop trends` read it and print a relative-time table plus an ASCII sparkline of recent scores. History is a local side effect only: it is never written for `--json`/`--sarif` output, in CI, or when `AISLOP_NO_HISTORY=1` is set, so machine output stays clean.\n\nDocs: [commands](docs/commands.md)\n\n---\n\n## CI integration\n\n### Pre-commit\n\nRun directly on staged files:\n\n```bash\naislop scan --staged\n```\n\nOr wire it into the [pre-commit](https://pre-commit.com) framework via the bundled hook:\n\n```yaml\n# .pre-commit-config.yaml\nrepos:\n  - repo: https://github.com/scanaislop/aislop\n    rev: v1\n    hooks:\n      - id: aislop\n```\n\n### GitHub Actions\n\nRun `aislop init` and accept the workflow prompt, or add manually. The self-contained form always runs the latest CLI, so there's nothing to bump:\n\n```yaml\nname: aislop\n\non:\n  pull_request:\n  push:\n    branches: [main]\n\njobs:\n  quality-gate:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 24\n      - run: npx --yes aislop@latest ci\n```\n\nPrefer the Marketplace Action? `@v1` tracks the latest release and `version: latest` keeps the CLI current. Pin `@v0.11.0` and a `version` for reproducible builds:\n\n```yaml\n- uses: actions/checkout@v4\n- uses: scanaislop/aislop@v1\n  with:\n    version: latest\n```\n\n**GitHub code scanning (SARIF)**: emit a SARIF 2.1.0 report and upload it so findings appear in the Security tab:\n\n```yaml\n- run: npx aislop@latest scan . --sarif > aislop.sarif\n- uses: github/codeql-action/upload-sarif@v3\n  with:\n    sarif_file: aislop.sarif\n```\n\n### Bitbucket Pipelines\n\nBitbucket clones shallow by default, so fetch the PR target branch and gate on only the changed files with `ci --changes --base`:\n\n```yaml\n# bitbucket-pipelines.yml\npipelines:\n  pull-requests:\n    \"**\":\n      - step:\n          name: aislop gate\n          image: node:24\n          clone:\n            depth: full   # branch diffs need history\n          script:\n            - git fetch origin \"$BITBUCKET_PR_DESTINATION_BRANCH\"\n            - npx --yes aislop@latest ci --changes --base FETCH_HEAD\n```\n\n`ci` applies the score gate and exit code, so no JSON parsing or hand-rolled threshold is needed. More providers: [CI/CD](docs/ci.md).\n\n### Quality gate\n\nSet minimum score in `.aislop/config.yml`:\n\n```yaml\nci:\n  failBelow: 70\n```\n\n`aislop ci` exits 1 when score < threshold. Docs: [CI/CD](docs/ci.md)\n\n---\n\n## For teams\n\n[scanaislop](https://scanaislop.com) is the hosted platform for teams:\n\n- PR gates with score thresholds\n- Standards hierarchy (org → team → project)\n- Dashboards and agent attribution\n- Visual rules manager\n\nSame engines, same scores. CLI is MIT-licensed. [Learn more →](https://scanaislop.com)\n\n---\n\n## Why aislop\n\nAI coding tools generate code that compiles and passes tests but ships with patterns no engineer would write. `aislop` gives you one score, one gate, and auto-fixes what it can.\n\n- **One score**: 0-100, enforced in CI. Weighted so sloppy patterns hit harder than style noise.\n- **Auto-fix first**: Clears formatters, unused imports, dead code mechanically. Hands off the rest to your agent with full context.\n- **Deterministic**: Regex + AST + standard tooling. No LLMs, no API calls. Same code in, same score out.\n- **Zero-config start**: `npx aislop@latest scan` works on any repo. Add `.aislop/config.yml` to tune.\n\n## What it catches\n\nSix deterministic engines run in parallel:\n\n| Engine | What it checks | How |\n|---|---|---|\n| **Formatting** | Code style consistency | Biome, ruff, gofmt, cargo fmt, rubocop, php-cs-fixer |\n| **Linting** | Language-specific issues | oxlint, ruff, golangci-lint, clippy, expo-doctor |\n| **Code Quality** | Complexity and dead code | Function/file size limits, deep nesting, unused files/deps (knip), AST-based unused-declaration removal |\n| **AI Slop** | AI-authored code patterns | Narrative comments, trivial comments, dead patterns, unused imports, `as any`, `console.log` leftovers, TODO stubs, generic names |\n| **Security** | Vulnerabilities and risky code | eval, innerHTML, SQL/shell injection, dependency audits (npm/pip/cargo/govulncheck) |\n| **Architecture** | Structural rules (opt-in) | Custom import bans, layering rules, required patterns |\n\nSee the full [rules reference](docs/rules.md).\n\n---\n\n## Research\n\naislop rules are shaped by public scans and benchmark-derived failure modes, not only local fixtures. The [research program](docs/research-program.md) defines how to run repeatable open-source scans: pin the cohort, store raw JSON, classify findings, fix noisy rules with regression tests, and publish the limits.\n\n---\n\n## Docs\n\n[Installation](docs/installation.md) · [Commands](docs/commands.md) · [Rules](docs/rules.md) · [Config](docs/configuration.md) · [Scoring](docs/scoring.md) · [CI/CD](docs/ci.md) · [Telemetry](docs/telemetry.md) · [Research program](docs/research-program.md)\n\n## Community\n\n[Discussions](https://github.com/scanaislop/aislop/discussions) for questions, rule requests, and false-positive triage · [Issues](https://github.com/scanaislop/aislop/issues) for bugs\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). AI assistants: [AGENTS.md](AGENTS.md).\n\n## Acknowledgments\n\nBuilt on: [Biome](https://biomejs.dev/), [oxlint](https://oxc.rs/), [knip](https://knip.dev/), [ruff](https://docs.astral.sh/ruff/), [golangci-lint](https://golangci-lint.run/), [expo-doctor](https://docs.expo.dev/)\n\n## Contributors\n\n<!-- CONTRIBUTORS-START -->\n- [@heavykenny](https://github.com/heavykenny)\n- [@myke-awoniran](https://github.com/myke-awoniran)\n- [@yashrajoria](https://github.com/yashrajoria)\n<!-- CONTRIBUTORS-END -->\n\nAuto-updated by `.github/workflows/contributors.yml`. [Link commit email](https://github.com/settings/emails) or add to [`.github/contributors-overrides.json`](.github/contributors-overrides.json).\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}