{"_id":"impeccable","_rev":"39-6a1c1f30f8eb440e1795e582e9e0379a","name":"impeccable","dist-tags":{"latest":"4.1.0"},"versions":{"2.0.0":{"name":"impeccable","version":"2.0.0","keywords":["design","frontend","ux","anti-patterns","lint","accessibility","css","html","cli"],"author":{"name":"Paul Bakaus"},"license":"SEE LICENSE FILE","_id":"impeccable@2.0.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://github.com/pbakaus/impeccable#readme","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/impeccable"},"dist":{"shasum":"8aa8aea533cd720fe96bdd3f4e8a4745744ccaa5","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.0.0.tgz","fileCount":5,"integrity":"sha512-6l0SVWjja3POoQP8RU2RjrKrQgw984MYf7GuqC7jAvTKHJu764UpsANRMZlGqMawfKTMUvrwokbHviF+ideP0g==","signatures":[{"sig":"MEUCIEEawKArWdYy6Rf5v8C26kGjmv8FNr1BKnPFxpOQCToiAiEA3JyCkOZhJSu+bA4zphSnfc8/bgz2A3jx+FihweGoycs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105567},"type":"module","engines":{"node":">=18"},"gitHead":"ce98272ea6aef61c29efbad884f6c1c8d1e4eb1d","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","screenshot":"bun run scripts/screenshot-antipatterns.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.6.1","description":"Detect UI anti-patterns and design quality issues from the command line","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.0.0_1774897772164_0.48181599128199215","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"impeccable","version":"2.0.1","keywords":["design","frontend","ux","anti-patterns","lint","accessibility","css","html","cli"],"author":{"name":"Paul Bakaus"},"license":"SEE LICENSE FILE","_id":"impeccable@2.0.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://github.com/pbakaus/impeccable#readme","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/impeccable"},"dist":{"shasum":"fc2c1afa9c7934a20e1e7e2626d2ba889150c55c","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.0.1.tgz","fileCount":8,"integrity":"sha512-wtXzI8q2hbFlqHlyoXOxbt+zWpqgToA0cFHPkUMhNkZA2dEoE9b6/3ilbeIcaX2da4as/ivZEfVvyGOjcb4hnA==","signatures":[{"sig":"MEYCIQDMZd5MjMJ2d6NOkb/QtFxKlAE3EVZ9PcMz0IopYoUtYwIhAMMk+Fl59X1AeR7hFTsSCVBF7hGeloK+1+5SKqgmSX5D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169981},"type":"module","engines":{"node":">=18"},"gitHead":"8d0e9de26dd46e546fe55c25394014d297f1bddc","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","screenshot":"bun run scripts/screenshot-antipatterns.js","postpublish":"mv README.bak.md README.md","prepublishOnly":"cp README.md README.bak.md && cp README.npm.md README.md"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.6.1","description":"Detect UI anti-patterns and design quality issues from the command line","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.0.1_1774898368926_0.24202091197799502","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"impeccable","version":"2.0.4","keywords":["design","frontend","ux","anti-patterns","lint","accessibility","css","html","cli"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.0.4","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/impeccable"},"dist":{"shasum":"479a097ea2683cc9dfa8dbd2b42d8137e0ff30c2","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.0.4.tgz","fileCount":8,"integrity":"sha512-v7Bs3fIgpJRrbDWn63CzrTqbODX8UTFoWx7OYnggRLpMYNFEDtJPbH7Ge78s80roJ2pEXQLojLBCvgaymm1WLA==","signatures":[{"sig":"MEQCIGEGemWJLK7rxQdsmm+YIacD3geVXfTu9kvmFJkv8BmNAiBd9aRkoPurXGDWeRmS1iDA+l216lxZOtngPbovycp4cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46313},"type":"module","engines":{"node":">=18"},"gitHead":"12aae1f42a6cc43c732b4c21e45144120820e454","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","screenshot":"bun run scripts/screenshot-antipatterns.js","postpublish":"mv README.bak.md README.md","prepublishOnly":"cp README.md README.bak.md && cp README.npm.md README.md"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Detect UI anti-patterns and design quality issues from the command line","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@impeccable/detect":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.0.4_1775260124489_0.7695831835400861","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"impeccable","version":"2.0.6","keywords":["design","frontend","ux","anti-patterns","lint","accessibility","css","html","detection","ci-cd","skills"],"author":{"name":"Paul Bakaus"},"license":"BSL-1.1","_id":"impeccable@2.0.6","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://github.com/pbakaus/impeccable-detect#readme","bugs":{"url":"https://github.com/pbakaus/impeccable-detect/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"ed97ecf96e70bbd6932252e6fdb9776f6673ecb3","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.0.6.tgz","fileCount":7,"integrity":"sha512-V39U0KegotawEqV5sDLJFArPBo1G1pjbbcQRTFg/0avjro/YK2tDGz2SDbgHpRfwaUwC3M4661sw/UcdZBXeXA==","signatures":[{"sig":"MEQCIEDV1Cse6gqq/Jy+ECfuUE7B2+qJrUxnTX+V+K+lFWeAAiBQlmPlTT6GFxfY51Z2yT18UjaqswFgXEWNMi1YYYvXdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190310},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18.0.0"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"b6ef8eda9df168d8782d79b71d220c4ddad0b1b5","scripts":{"test":"bun test tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs","build:browser":"node scripts/build-browser-detector.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable-detect.git","type":"git"},"_npmVersion":"11.12.1","description":"Detect UI anti-patterns and design quality issues from the command line","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0"},"_hasShrinkwrap":false,"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.0.6_1775268054129_0.34327832891612964","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"impeccable","version":"2.0.7","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.0.7","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"9a5ccc203367ead52463d839d5b632e9d0349418","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.0.7.tgz","fileCount":9,"integrity":"sha512-WEUjq22wFD6DTaTuDaA9lY6KhYjgkICnWx51/60+tC+xZRdbKnGHsQxd4JKrSnsKzGf+9aMg2HayXSAlUHhBHg==","signatures":[{"sig":"MEYCIQCsrOxUuq9z9L8JGKTo6nOdRRrecT2crRX3e4+2RIJlrgIhAMiCSjlerhbBvXvIgTPw6divAect4nTR7JHrFEtSkKOZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288678},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"b30b1ab1a37a39a8e4de1777ddc8bbca98e76a35","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.0.7_1775683421668_0.656324425262691","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"impeccable","version":"2.1.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"1bedcad1e169bc73d53dcc24ad9eeee564aeded1","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.0.tgz","fileCount":9,"integrity":"sha512-Rk7nRLSRkUEj//qdYQctxq9O5t487ybEzPKMnl+gCiurLO2fZpOdEug3xh6xEE2fOHaU2zpquLlCjF6lzrmzwg==","signatures":[{"sig":"MEUCICVIRLvO/sIyfFqE6df8/3Li6jD2YLAiVo9SLh98Q8c9AiEA/nAggb7IDLrHLUSbTGZ3l3eJa9atb7+8ZVqQDD9rV7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289858},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"45b92bf9fed4c23577c83cfbd840953c235dfb8a","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.0_1775840020690_0.32570790317281273","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"impeccable","version":"2.1.1","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"be3dc2a4cc79d17fe3ae3e1986e1021f2b033825","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.1.tgz","fileCount":9,"integrity":"sha512-CyJ6DW5FiZWefFeZHjhMtZu9zvEspByAKeU5DstKxNXFv60g87YTDf1NKATuK0zKQa/7EKdSDTS1tMO/Y/QG6w==","signatures":[{"sig":"MEYCIQC2mal6V7HS7vfXwhcHaPDL2y8MMDhL67yz2s+YQ9L5WQIhAI8wOOnKL4a5BiA1Xweghtfx38y7uqRrLqYtJdqQDqQU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289264},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"0d37f31ef3d98dc5248d1dcf6d6912de2ad78f20","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.1_1775841891326_0.8515448656932907","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"impeccable","version":"2.1.2","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.2","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"c1625db9293cd64af46106037cf74b34697faf54","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.2.tgz","fileCount":9,"integrity":"sha512-UCzN0bwstURS4RO/mDxftnlWDRzmVSZwgTI9shGKbDDDqZ7o0DVP8OiszB1wE+xlefENYBme4NRgM9jn8GHOgA==","signatures":[{"sig":"MEUCIQD4htnBQBXxnLKHdr/gYLmZUCoSMptq8rhLaY7SIJzx9gIgRwNyJhv4sDBmZec2z9npL1IO+R5l4FlACgzazFPz64o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292209},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"239d69d0d8843dd1b7d726e17b6a59a955701223","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.2_1775842881163_0.01762594057588318","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"impeccable","version":"2.1.3","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.3","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"890353dbdb08c77e37538176c6289f5337fcf713","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.3.tgz","fileCount":9,"integrity":"sha512-1uF6OiQcqnPxua3nkF2fLJfde+US5W9ZXfXXmqWljNcZJMno7853pMtc15lyqxywEWZNAYAc13wwku0dMJenag==","signatures":[{"sig":"MEYCIQCPaxF5LoNtVz+dOuhQkGjjlq0/+0j1vriItHFcf3UPgQIhAIamROlgz7PrKYwwu555d2L/ISJ24yz7AGAH0EBLT9Mc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292853},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"5071d85a4b6f1e7e470fc4573f4d02015cb818d3","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.3_1775843925882_0.8164860949116151","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"impeccable","version":"2.1.4","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.4","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"1734f232e427cc9d8479650ef4186a3f25cd8835","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.4.tgz","fileCount":9,"integrity":"sha512-OqKUcKY9UkeaKkuMsMhFuxCSQCAN0snTooQm9bFBhTnOih1t4u7Gxy1XZOTgNwh8tldiJhJ/1575s9xu2aSUTQ==","signatures":[{"sig":"MEYCIQDnCsIk7h2lTwwLo8yZ7qxhRx6qm1R0rDRZ76U83QI/mAIhAJc0AffX77r+LHNzLvZnO7Gz4zbAOhqVJbl1WXAK+kHd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293472},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"bd775e414ef07933dd1aee158232560d63592de5","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.4_1775844301499_0.7442700242994518","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"impeccable","version":"2.1.5","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.5","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"b5dc805bdc4ba9fe06bc0d32ac6a4571d5a5d00b","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.5.tgz","fileCount":9,"integrity":"sha512-y3qMz3d67W/QUpWx+NwzCFyuLstaITP3k1kiuOFJ+dqRaR4Z+TnEoLR2VLwBTV71jZ8e02FzOis4SvY0qTM7wg==","signatures":[{"sig":"MEUCIQDB9ljD6kjMK75tBSPMngtTBZepzOBRBc/DT5U1Llas2QIgPcbD41G3Yz6/zjhhKfqNzXY6sR7pfST2HpOKqf5jadc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293257},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"7670d1325ac731d6aa0190b003c1b8482dd0f619","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.5_1775845118712_0.69070991308238","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"impeccable","version":"2.1.6","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.6","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"b77754f886faafc9a34f6406642ecccb04b96d82","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.6.tgz","fileCount":9,"integrity":"sha512-S5CqIMaHpErI2/Z3V8H95ULKNTQgr9L7reyyRrzobpTAO1o8GxPzmD5STyaPwqBnjvk2kEF80cJom0AbS0cJDg==","signatures":[{"sig":"MEUCIFv9DuKyw8YLLlVFX3geCchnMkvDNScoVjhlHq9uMMeFAiEA0mURQvF/xCfq0JODIsLLMlzJdE9SnggeApYhe/9xru8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294187},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"a530f08df62caeed53e637b282c50fca37ee23a4","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.6_1775846646314_0.03197850039009298","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"impeccable","version":"2.1.7","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.7","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"ff663e7b85cfad9d5ec8dab5e691e6ecf55ca3cc","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.7.tgz","fileCount":9,"integrity":"sha512-u+XZO6CpV7ci1lUYH07V2dbT61QfOcEogIWwl1zCMGOelf1XK4kMPhxs6lKKWUtuVag1L74y9kCIR0nDN3fyEw==","signatures":[{"sig":"MEQCIAuY0M+Xm5oztjXiJXl6XcxmL0ZZSNNFgOi1CD4502p2AiAXRaBf3l48X9SZV11Yfr/bf8Bcy4o1s1EPspQWP2dC8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294571},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"7d29aaca1b7b48422c6d11edd68bf7195714be20","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","build:browser":"node scripts/build-browser-detector.js","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"^29.0.0","marked":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.75.0","playwright":"^1.58.2"},"optionalDependencies":{"puppeteer":"^24.39.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.7_1775849779717_0.5826340512439372","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"impeccable","version":"2.1.8","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.8","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"bin/cli.js"},"dist":{"shasum":"aede59e0770ef78a5d7ecb99bff4fb3fb6e0f06f","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.8.tgz","fileCount":9,"integrity":"sha512-jxJGEk/tN8X1yHrMviwacrmAPjq2+6zfurOIpLVshOVTUCDXlpMhGKg+ETNHNeVA9dbxrNadLR0Drrhou6GEqg==","signatures":[{"sig":"MEYCIQC+aKxRAxj3PcwyNnjlOC6v9np2IcBE9QjYsZxe5FPKkwIhAOZhGusUysn/yJ9IM+CV0WhRgZrVD5m5jePSmrWYTBQz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299955},"main":"./src/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./src/detect-antipatterns.mjs","./browser":"./src/detect-antipatterns-browser.js"},"gitHead":"5881a0843b6f68f8186a8dc2051cec1ed0d32d2e","scripts":{"dev":"bun run server/index.js","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js tests/windows-path-fix.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs && node --test tests/live-wrap.test.mjs && node --test tests/live-accept.test.mjs && node --test tests/live-inject.test.mjs && node --test tests/live-server.test.mjs && node --test tests/framework-fixtures.test.mjs","build":"bun run scripts/build.js","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && wrangler pages dev","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","build:browser":"node scripts/build-browser-detector.js","release:skill":"node scripts/release.mjs skill","test:live-e2e":"node --test --test-timeout=600000 tests/live-e2e.test.mjs","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"jsdom":"29.0.0","marked":"^16.4.2"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.85.0","playwright":"^1.59.1","@google/genai":"^1.50.1","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.91.1","modern-screenshot":"^4.7.0","@anthropic-ai/claude-agent-sdk":"^0.2.119"},"optionalDependencies":{"puppeteer":"^24.42.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.8_1777398781957_0.39209146182974863","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"impeccable","version":"2.1.9","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.1.9","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"8271cca6fef94858b8e317fcebb5fb9fdadbd755","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.1.9.tgz","fileCount":10,"integrity":"sha512-OrrTiPcWuvIuEDwpiQWprcyOVwTofZpMQOx5aznm5MVfiW3rLHEK9zCppwE6QL2apj53N0mVcojFGzjNoqG3cQ==","signatures":[{"sig":"MEUCIQCweAYMjQVlhuKe2siHHnLR+JLo6LXDiqyj9qFdXwXlXAIgJJEiKwZo02NpdwaivoOK5j3y+NtZeY5tX5t9Ukbu8Mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":368666},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"dc715c7359cc44f7d20c638deaec2f17e6b2f4b3","scripts":{"dev":"npx astro dev","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js tests/windows-path-fix.test.js && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs && node --test tests/impeccable-paths.test.mjs && node --test tests/live-wrap.test.mjs && node --test tests/live-reference.test.mjs && node --test tests/live-accept.test.mjs && node --test tests/live-inject.test.mjs && node --test tests/live-poll.test.mjs && node --test tests/live-server.test.mjs && node --test tests/live-browser-regression.test.mjs && node --test tests/live-session-store.test.mjs && node --test tests/live-browser-session.test.mjs && node --test tests/live-browser-source.test.mjs && node --test tests/live-completion.test.mjs && node --test tests/live-recovery-commands.test.mjs && node --test tests/framework-fixtures.test.mjs","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","build:skills":"bun run scripts/build.js","build:browser":"node scripts/build-browser-detector.js","release:skill":"node scripts/release.mjs skill","test:live-e2e":"node --test --test-timeout=600000 tests/live-e2e.test.mjs","build:extension":"node scripts/build-extension.js"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.15.0","dependencies":{"jsdom":"29.0.0","marked":"^16.4.2"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","archiver":"^7.0.1","wrangler":"^4.85.0","playwright":"^1.59.1","@google/genai":"^1.50.1","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.91.1","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.2.119"},"optionalDependencies":{"puppeteer":"^24.42.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.1.9_1778658472015_0.4361030371645005","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"impeccable","version":"2.2.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.2.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"ae1b1c11823406ecc8afa4ee0b2352f9691272ff","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.2.0.tgz","fileCount":25,"integrity":"sha512-opF9lnpCgQkYxVDAxlCpAUt/J1xIeGrW6lz+VQIoZ81V2uFrOg6VcLntkPxZkremL0lE/r+Ou8kOilbFjRGXlw==","signatures":[{"sig":"MEQCIH/fV35ijElTPB0ieC0N55FxV8euDxqImokaZ8PVm0c3AiBtHtclPLn/qlq2gnEVP6uefoh2T6rUwoRxH2YV+5K8hA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553551},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"9ffd3211d554783a010273fe0a34239f5df51fcb","scripts":{"dev":"npx astro dev","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js tests/windows-path-fix.test.js tests/lib/detector-bundle.test.js tests/lib/provider-blocks.test.js tests/lib/transformers/provider-blocks.test.js tests/lib/utils.test.js tests/lib/transformers/factory.test.js tests/lib/transformers/providers.test.js tests/skills-cli.test.js && node --test tests/critique-storage.test.mjs && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs && node --test tests/impeccable-paths.test.mjs && node --test tests/live-wrap.test.mjs && node --test tests/live-insert.test.mjs && node --test tests/live-insert-ui.test.mjs && node --test tests/live-event-validation.test.mjs && node --test tests/live-reference.test.mjs && node --test tests/live-e2e-agent-output.test.mjs && node --test tests/live-e2e-llm-agent.test.mjs && node --test tests/live-e2e-cli-options.test.mjs && node --test tests/live-accept.test.mjs && node --test tests/live-inject.test.mjs && node --test tests/live-poll.test.mjs && node --test tests/live-poll-stream.test.mjs && node --test tests/live-server.test.mjs && node --test tests/live-browser-regression.test.mjs && node --test tests/live-session-store.test.mjs && node --test tests/live-browser-session.test.mjs && node --test tests/live-browser-source.test.mjs && node --test tests/live-completion.test.mjs && node --test tests/live-recovery-commands.test.mjs && node --test tests/framework-fixtures.test.mjs","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","build:skills":"bun run scripts/build.js","test:cli-e2e":"IMPECCABLE_CLI_E2E=1 bun test tests/skills-cli.test.js","build:browser":"node scripts/build-browser-detector.js","release:skill":"node scripts/release.mjs skill","test:live-e2e":"node --test --test-timeout=600000 tests/live-e2e.test.mjs","bench:detector":"node scripts/benchmark-detector.mjs","build:extension":"node scripts/build-extension.js","test:live-e2e-agent":"node --test tests/live-e2e/agent-insert.test.mjs","test:skill-behavior":"node --test --test-timeout=300000 tests/skill-behavior/scenarios.test.mjs","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.15.0","dependencies":{"marked":"^16.4.2","css-tree":"^3.2.1","domutils":"^3.2.2","css-select":"^5.2.2","htmlparser2":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^7.0.1","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^1.50.1","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.91.1","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.2.119"},"optionalDependencies":{"puppeteer":"^24.42.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.2.0_1780003704612_0.1529309355178532","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"impeccable","version":"2.3.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.3.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"57cb2404ef00ee46798106213b4caa10f9847581","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.3.0.tgz","fileCount":25,"integrity":"sha512-48KSGOH6f5w1M7iJOTX+YiE9qHoDlc0j4Tx1CtGqM0SpSkyNJedTIi4K2ACgvd1SJv5sjrUqCmNtZ9WzpEnSCQ==","signatures":[{"sig":"MEQCIEhsV2ddROXVvlL9G7+tFxoSMLzAqPA3d/vL+vcDClCqAiBAoSRWRD1p4ncDgGHpebcm4v6PEtWZOBIY4DHoN95ZZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555912},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"7253b3870a50fe4d404914ef4bc4836661132c18","scripts":{"dev":"npx astro dev","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js tests/windows-path-fix.test.js tests/lib/detector-bundle.test.js tests/lib/provider-blocks.test.js tests/lib/transformers/provider-blocks.test.js tests/lib/utils.test.js tests/lib/transformers/factory.test.js tests/lib/transformers/providers.test.js tests/skills-cli.test.js && node --test tests/critique-storage.test.mjs && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs && node --test tests/impeccable-paths.test.mjs && node --test tests/live-wrap.test.mjs && node --test tests/live-insert.test.mjs && node --test tests/live-insert-ui.test.mjs && node --test tests/live-event-validation.test.mjs && node --test tests/live-reference.test.mjs && node --test tests/live-e2e-agent-output.test.mjs && node --test tests/live-e2e-llm-agent.test.mjs && node --test tests/live-e2e-cli-options.test.mjs && node --test tests/live-accept.test.mjs && node --test tests/live-inject.test.mjs && node --test tests/live-poll.test.mjs && node --test tests/live-poll-stream.test.mjs && node --test tests/live-server.test.mjs && node --test tests/live-browser-regression.test.mjs && node --test tests/live-session-store.test.mjs && node --test tests/live-browser-session.test.mjs && node --test tests/live-browser-source.test.mjs && node --test tests/live-completion.test.mjs && node --test tests/live-recovery-commands.test.mjs && node --test tests/framework-fixtures.test.mjs","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","build:skills":"bun run scripts/build.js","test:cli-e2e":"IMPECCABLE_CLI_E2E=1 bun test tests/skills-cli.test.js","build:browser":"node scripts/build-browser-detector.js","release:skill":"node scripts/release.mjs skill","test:live-e2e":"node --test --test-timeout=600000 tests/live-e2e.test.mjs","bench:detector":"node scripts/benchmark-detector.mjs","build:extension":"node scripts/build-extension.js","test:live-e2e-agent":"node --test tests/live-e2e/agent-insert.test.mjs","test:skill-behavior":"node --test --test-timeout=300000 tests/skill-behavior/scenarios.test.mjs","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.15.0","dependencies":{"marked":"^16.4.2","css-tree":"^3.2.1","domutils":"^3.2.2","css-select":"^5.2.2","htmlparser2":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^7.0.1","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^1.50.1","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.91.1","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.2.119"},"optionalDependencies":{"puppeteer":"^24.42.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.3.0_1780006272796_0.6832951781333463","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"impeccable","version":"2.3.1","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.3.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"0e26fdf137d4a65b3f6dec97078ba28430388841","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.3.1.tgz","fileCount":25,"integrity":"sha512-FMX7WHTXImjWqj8q0MhN4aR+6QU6CxZZJw+gyVGi0l3yW6kW4LadydICuuViqmvzjB6rwgzKNwp6g3stJbSOpg==","signatures":[{"sig":"MEUCIA+O9ZBcXYT6mN8lkH2QaWNEd2ZqEOC6+kkNHAgJG4BSAiEA8i9kJCKc6at+0Pn0YFOoWr598YU+WPfqkUGSV+6Yczw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":554079},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"99fbe4bb10a1453c82027a477503ce240d9b0b47","scripts":{"dev":"npx astro dev","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js tests/windows-path-fix.test.js tests/lib/detector-bundle.test.js tests/lib/provider-blocks.test.js tests/lib/transformers/provider-blocks.test.js tests/lib/utils.test.js tests/lib/transformers/factory.test.js tests/lib/transformers/providers.test.js tests/skills-cli.test.js && node --test tests/critique-storage.test.mjs && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs && node --test tests/impeccable-paths.test.mjs && node --test tests/live-wrap.test.mjs && node --test tests/live-wrap-buffer-aware.test.mjs && node --test tests/live-insert.test.mjs && node --test tests/live-insert-ui.test.mjs && node --test tests/live-event-validation.test.mjs && node --test tests/live-reference.test.mjs && node --test tests/live-e2e-agent-output.test.mjs && node --test tests/live-e2e-llm-agent.test.mjs && node --test tests/live-e2e-cli-options.test.mjs && node --test tests/live-accept.test.mjs && node --test tests/live-accept-scrub.test.mjs && node --test tests/live-commit-manual-edits.test.mjs && node --test tests/live-discard-manual-edits.test.mjs && node --test tests/live-manual-edits-buffer.test.mjs && node --test tests/live-inject.test.mjs && node --test tests/live-poll.test.mjs && node --test tests/live-poll-stream.test.mjs && node --test tests/live-server.test.mjs && node --test tests/live-copy-edit-agent.test.mjs && node --test tests/live-browser-regression.test.mjs && node --test tests/live-session-store.test.mjs && node --test tests/live-browser-session.test.mjs && node --test tests/live-browser-source.test.mjs && node --test tests/live-completion.test.mjs && node --test tests/live-recovery-commands.test.mjs && node --test tests/framework-fixtures.test.mjs","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","build:skills":"bun run scripts/build.js","test:cli-e2e":"IMPECCABLE_CLI_E2E=1 bun test tests/skills-cli.test.js","build:browser":"node scripts/build-browser-detector.js","release:skill":"node scripts/release.mjs skill","test:live-e2e":"node --test --test-timeout=600000 tests/live-e2e.test.mjs","bench:detector":"node scripts/benchmark-detector.mjs","build:extension":"node scripts/build-extension.js","test:live-e2e-agent":"node --test tests/live-e2e/agent-insert.test.mjs","test:skill-behavior":"node --test --test-timeout=300000 tests/skill-behavior/scenarios.test.mjs","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.15.0","dependencies":{"marked":"^16.4.2","css-tree":"^3.2.1","domutils":"^3.2.2","css-select":"^5.2.2","htmlparser2":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^7.0.1","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^1.50.1","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.91.1","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.2.119"},"optionalDependencies":{"puppeteer":"^24.42.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.3.1_1780028643764_0.9531165021261279","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"impeccable","version":"2.3.2","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@2.3.2","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"1eab3bea4d68232bc069821130c0cd27f9776954","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-2.3.2.tgz","fileCount":25,"integrity":"sha512-tfZzf1dzCT9HWSaNvw1TckZNhilnQYgB+J7Vqf6dsiWApXGDYWje3yI0IknuY0Pp8QJHxNkowQ9zCS5jg9O93g==","signatures":[{"sig":"MEYCIQDE5S0zddpTZPF2HGpmxc/vA39ptiGruk9i8qahN4GZ9AIhALMrbVbCedRHcBVKEOlgNmhqm915VHYNCdZHTQaTgsUl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":549856},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=18"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"b913668ba4d25b95c4a62278d3637837e9d2c6d9","scripts":{"dev":"npx astro dev","test":"bun test tests/build.test.js tests/detect-antipatterns.test.js tests/windows-path-fix.test.js tests/lib/detector-bundle.test.js tests/lib/provider-blocks.test.js tests/lib/transformers/provider-blocks.test.js tests/lib/utils.test.js tests/lib/transformers/factory.test.js tests/lib/transformers/providers.test.js tests/skills-cli.test.js && node --test tests/critique-storage.test.mjs && node --test tests/detect-antipatterns-fixtures.test.mjs && node --test tests/detect-antipatterns-browser.test.mjs && node --test tests/cleanup-deprecated.test.mjs && node --test tests/impeccable-paths.test.mjs && node --test tests/live-wrap.test.mjs && node --test tests/live-wrap-buffer-aware.test.mjs && node --test tests/live-insert.test.mjs && node --test tests/live-insert-ui.test.mjs && node --test tests/live-event-validation.test.mjs && node --test tests/live-reference.test.mjs && node --test tests/live-e2e-agent-output.test.mjs && node --test tests/live-e2e-llm-agent.test.mjs && node --test tests/live-e2e-cli-options.test.mjs && node --test tests/live-accept.test.mjs && node --test tests/live-accept-scrub.test.mjs && node --test tests/live-commit-manual-edits.test.mjs && node --test tests/live-discard-manual-edits.test.mjs && node --test tests/live-manual-edits-buffer.test.mjs && node --test tests/live-inject.test.mjs && node --test tests/live-poll.test.mjs && node --test tests/live-poll-stream.test.mjs && node --test tests/live-server.test.mjs && node --test tests/live-copy-edit-agent.test.mjs && node --test tests/live-browser-regression.test.mjs && node --test tests/live-session-store.test.mjs && node --test tests/live-browser-session.test.mjs && node --test tests/live-browser-source.test.mjs && node --test tests/live-completion.test.mjs && node --test tests/live-recovery-commands.test.mjs && node --test tests/framework-fixtures.test.mjs","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","build:skills":"bun run scripts/build.js","test:cli-e2e":"IMPECCABLE_CLI_E2E=1 bun test tests/skills-cli.test.js","build:browser":"node scripts/build-browser-detector.js","release:skill":"node scripts/release.mjs skill","test:live-e2e":"node --test --test-timeout=600000 tests/live-e2e.test.mjs","bench:detector":"node scripts/benchmark-detector.mjs","build:extension":"node scripts/build-extension.js","test:live-e2e-agent":"node --test tests/live-e2e/agent-insert.test.mjs","test:skill-behavior":"node --test --test-timeout=300000 tests/skill-behavior/scenarios.test.mjs","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.15.0","dependencies":{"marked":"^16.4.2","css-tree":"^3.2.1","domutils":"^3.2.2","css-select":"^5.2.2","htmlparser2":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^7.0.1","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^1.50.1","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.91.1","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.2.119"},"optionalDependencies":{"puppeteer":"^24.42.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_2.3.2_1780104885124_0.2355105102576185","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"impeccable","version":"3.0.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.0.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"e8dc6c138d52e4e0f1efb4749f0f5b51e6300cc4","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.0.0.tgz","fileCount":26,"integrity":"sha512-zgeIItFpOxN4+m9CgVxiw0PL87xnt5F3CsGpGJK47gDtgY/V3Wqo8wE6OiscMBhDnD7bpeSnmpGseEi5D75ApA==","signatures":[{"sig":"MEYCIQDzpS9dpztEBfGrX9SWrV/pZ8OFQoITR6n9L46ZN2OlYgIhAKu68aB7u5OmmQFCAxjAJ2F2J4gdvt51LQoUCvHY0l46","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628698},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=24"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"644398011738ebe842b72103ba0575bf92c4476d","scripts":{"dev":"bun run scripts/gen-dev-api.mjs && npx astro dev","test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && bun run build:site && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","extract-zip":"^2.0.1","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^8.0.0","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^2.8.0","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.102.0","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.0.0_1781496481658_0.5986876841884847","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"impeccable","version":"3.0.1","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.0.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"0c235dba13461d36d85faecb3691ed7e84c4f490","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.0.1.tgz","fileCount":26,"integrity":"sha512-klPQIRNqE6Xuz8Ihvu/2YoC8sZ5KvidHU8kg6R1iE2lzXCLYGjf/xJwIBrrg+yJkKeW+hSCPGMzgk6V0h2PUNg==","signatures":[{"sig":"MEYCIQCbAVWqIHf7kX7oqkj1CDO8yGBh4yWE5MuGyhq1TMjFTgIhANrXgMUz9vYOc/V9A7psDWoZlbqHd2BKEn7Tk5eumfza","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":629297},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=24"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"858b9bbea637c1b3beaf89b2ff7a8c22163ee7ef","scripts":{"dev":"bun run scripts/gen-dev-api.mjs && npx astro dev","test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && bun run build:site && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","extract-zip":"^2.0.1","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^8.0.0","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^2.8.0","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.102.0","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.0.1_1781498081086_0.32155601191251293","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"impeccable","version":"3.0.2","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.0.2","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"bea9e8e6d510742517f2cc5b66bd6a9751c074ef","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.0.2.tgz","fileCount":28,"integrity":"sha512-+TohbqA6bQsib7kW0sKBYy6av+AZRmcfLr02WWO+efMf8pADJa9GWVpczw04MtskzTP57F0qsIx2dMbkeMDLuw==","signatures":[{"sig":"MEQCIBQpJX3MEEJdAwDXfsKBD1Z6xmJBvYhthERg6xL/TWzKAiBsJ3kXjdF3TXSD6R8BQDsh5nwz04u1lF7A12GMLs8lVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708519},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=24"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"b928fe35fb8128e494906921e7e65b24d0db5317","scripts":{"dev":"bun run scripts/gen-dev-api.mjs && npx astro dev","test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && bun run build:site && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.11.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^8.0.0","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^2.8.0","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.102.0","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.0.2_1781583242294_0.9707320451272792","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"impeccable","version":"3.0.3","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.0.3","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"04d61fb4a630b9b50dcb900f185082da1c76d496","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.0.3.tgz","fileCount":28,"integrity":"sha512-U69p+Ixp5i+rmgGyOBpmnTOAWHtDiGtgXDrFOEo/h8ksNfII/PS924/17f+wkET7x+IxzT0sWPuSEz/REhfarg==","signatures":[{"sig":"MEUCIFXxhbe5vPZuO+aEC+H++TeruoQa5GLpElSDhDfRoEOaAiEAmHqPK1C+UVoRKYZYrQMbCj8HnxOf7J9VR/NPPf4Ngfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710731},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=24"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"b86f2cc353fe9752b2f81131218cad20718de25d","scripts":{"dev":"bun run scripts/gen-dev-api.mjs && npx astro dev","test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && bun run build:site && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.13.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^8.0.0","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^2.8.0","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.102.0","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.0.3_1781665016362_0.9945998631167503","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"impeccable","version":"3.1.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.1.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"198e7d3b7f3d6381a59542ecbf458c4983c70e83","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.1.0.tgz","fileCount":29,"integrity":"sha512-BAWsjooJO/uM4ocyB0fnO2ZfbrDWO3rEe+j8SAvyzLuqKHb5somQmI1G9uvRZXJ+peFcG2RiYyE5Ad83PyCa/A==","signatures":[{"sig":"MEQCIE19VbG1evXYyjbw+SXxiXgfx3yoxaQtWT2sLPXHaGL4AiAG5DWDRiwMbJbq4j3GMj1VjyCr2Y5xEjKl4tbOYuThfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721774},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=24"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"609bbfbd5b8d4ac629267c13f06489eca8689cca","scripts":{"dev":"bun run scripts/gen-dev-api.mjs && npx astro dev","test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && bun run build:site && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.13.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^6.2.1","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^8.0.0","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^2.8.0","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.104.2","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.1.0_1782074627102_0.7599157767814597","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"impeccable","version":"3.2.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.2.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"54e8b0e53071fa1b2063d11afc2eb0a118fe8c63","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.2.0.tgz","fileCount":29,"integrity":"sha512-nTQUTa2LRR/qjwUTW61enVev8weUKJ0Nhppqug9yRGX1B5i9Qp3rhJNEG248TwO1yblOf9hPWQecoYhQKrDY/Q==","signatures":[{"sig":"MEQCID3CSQecdVfWpfIZhETuwmTHokpVArsYaVqLglKKYmRRAiBujgmIj4fUaUPn76o+0BANEIz8JXcB9UqKMAHNzVO7dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730179},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=24"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"e83e437cdd24f22a68b69f432d3f3d50fa921fe9","scripts":{"dev":"bun run scripts/gen-dev-api.mjs && npx astro dev","test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && bun run build:site && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.12.1","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.15.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.168","zod":"^4.3.6","astro":"^7.0.0","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^8.0.0","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^2.8.0","@ai-sdk/google":"^3.0.75","@ai-sdk/openai":"^3.0.53","@ai-sdk/anthropic":"^3.0.71","@anthropic-ai/sdk":"^0.105.0","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.76","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.2.0_1782896192316_0.6089006111881687","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"impeccable","version":"3.2.1","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.2.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"22d097c515239f27856fd405653491f594fd1708","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.2.1.tgz","fileCount":30,"integrity":"sha512-Lnh8BeLNj493iYuKRijVLP5nvdeKvReYtqGeov6tfsqECiKDSHBY5JfkxzfsC912AASMreCwzha0ZY3PC2pw+g==","signatures":[{"sig":"MEYCIQD3YMk3r3TLKwbSYgm7tNmzPycfxJQmTGyG4DMzmASJ+wIhAJD/3HfakeIgt8DfNhp7zw+y+r7DXJOXc6QejbQpAu+d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":741845},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"0d1c34e9d0fcfff1070c7210cd808eda504105d7","scripts":{"dev":"bun run scripts/gen-dev-api.mjs && npx astro dev","test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && bun run build:site && cp -R dist build/_data/dist","clean":"rm -rf dist build","deploy":"bun run build && wrangler pages deploy build/","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","preview":"bun run build && npx astro preview","rebuild":"bun run clean && bun run build","og-image":"bun run scripts/generate-og-image.js","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","build:site":"npx astro build","screenshot":"bun run scripts/screenshot-antipatterns.js","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && bun run build:site && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","astro":"^7.0.0","motion":"^12.38.0","fontkit":"^2.0.4","archiver":"^8.0.0","wrangler":"^4.85.0","playwright":"^1.59.1","opentype.js":"^2.0.0","@google/genai":"^2.8.0","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.110.0","modern-screenshot":"^4.7.0","@paper-design/shaders":"^0.0.77","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.2.1_1783622242527_0.9973131107243713","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"impeccable","version":"3.3.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.3.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"9ea21d764d88ce4076c1353f9baddb7c1980ded0","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.3.0.tgz","fileCount":30,"integrity":"sha512-RG4/tS7jJb5fD6+EZnKQRPa/PYqCsllRe3DWKvYXvtJoqxhWqgkjq+Uc8a2AH1IZw6f/FWxIQkwT2wqVZGkrJA==","signatures":[{"sig":"MEYCIQCI2HY5ykf9pDAlxtu3eEE1FHvJfVxiyZZ617Y7jjSnmQIhAJ8pjGaLhMTC8AT6LSVcpP4c/DUG3P4cs92ghQZrmDf6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1011108},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"0376145a466c47f8cbbfd174c588f0325b16418a","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","archiver":"^8.0.0","playwright":"^1.59.1","@babel/parser":"^7.29.3","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.112.3","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.3.0_1784704251271_0.976036639092174","host":"s3://npm-registry-packages-npm-production"}},"3.3.1":{"name":"impeccable","version":"3.3.1","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.3.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"0220b6de5cd41aa9497dedd3ed5331325cd629d5","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.3.1.tgz","fileCount":30,"integrity":"sha512-wMijNOkhl+Devs5ljgdnw+u695WlvsDyDhWILO8US03gpm0S2EtxkOWEHYcsJxHnlhSVNZ8o6XJbW5sz/SnB3w==","signatures":[{"sig":"MEUCIFxeIkvLUA0GFSCx1ttHz+f9O1ah9sWcJyCXFkQxkQ5LAiEA5ocaF8Mnn4E59qOlKITvyjrQ/BJ0qeQXnlV3ILWWz/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1047583},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"3e233d22d72aa9d4e474b2924e111d359105ccbb","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","archiver":"^8.0.0","playwright":"^1.59.1","@babel/parser":"^7.29.3","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.112.3","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.3.1_1784751360012_0.7893647180681727","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"impeccable","version":"3.4.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.4.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"d4f9b6a823019dca522006f1159fd0bb362cb333","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.4.0.tgz","fileCount":30,"integrity":"sha512-5JDaElxOBtZIUDjZleh0OdXUgxA3TiafiM6SEWj7LbyO7XK2M2TBFxyO4ku6gch5R0pfp6jban2O3bHnLGI6Dg==","signatures":[{"sig":"MEUCIDCH+gc9mPCave+qU+7MlCFBN7qEdD4VJf0ckRCm+R8kAiEAyU3c6cNUiqEgKEIRhXmRxPr6w1m7lY+HFpW/0jXn9a0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1082300},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"68b1129634a1cdd9a0ba50b27376c71b4b083ae8","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","archiver":"^8.0.0","playwright":"^1.59.1","@babel/parser":"^7.29.3","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.115.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.4.0_1785205876820_0.24176501597647415","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"impeccable","version":"3.5.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.5.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"ba24ad7c91802fd9a6d6d9811e9f0f625abcf986","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.5.0.tgz","fileCount":30,"integrity":"sha512-mpm428oMTESAXKvHCCI+GsvhwAw2kTKtrnwsflLIyem6krMo2KoaH4RwRY7ke5JvtwAfYpu58AiIlptLOuKbzg==","signatures":[{"sig":"MEUCIQDjZA82SEWmENkcE0rKZSj9zk9uqDYB7oUZev3Mg/wUhAIgW2AxXt16tftJnoVGLsF3ekYngZmmQnx+fNTsDupCzxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1092632},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=22.12.0"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"9a949fb543d44cfb406f61bcab99d95d7f12cf1d","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","playwright":"^1.59.1","@babel/parser":"^7.29.3","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.115.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.5.0_1785383255581_0.1840104510944236","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"impeccable","version":"3.6.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.6.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"ecfadcace446ea4651f27ea2246d5e57dcc0923b","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.6.0.tgz","fileCount":30,"integrity":"sha512-nysc6/2OHTWqLrcSxTxZk4r4QMufhU8NTIuG2ic6p5zzyZe45AWBX3/18OA5S88pCWq+4z8pKsjUxhAM990RKg==","signatures":[{"sig":"MEUCIQCCsnS3EtDESw0bPqUSP6KXsYHwM1/gcWWzEXD9SQsbFgIgSJVc3mR/hR5tcjyUR/CSiPe15UPbpPxp05/zqb1wTTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1171509},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=22.18.0"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"2c33196c51ac52e47691384e61d89f1218d8d21d","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.115.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.6.0_1786682083843_0.5856189845467621","host":"s3://npm-registry-packages-npm-production"}},"3.6.1":{"name":"impeccable","version":"3.6.1","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@3.6.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"51170cbab65e3846fbbf2a9b601a1100b4d7408a","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-3.6.1.tgz","fileCount":30,"integrity":"sha512-1PbJcM9jg+OXj83E7u3ckJnalg2KuIXAvVlqSNJdwdR8Llh8npSjMcl222EgP/9GhsX+w2FW2w8vdJ7GHMghow==","signatures":[{"sig":"MEYCIQCzP4p3P3x/39dSXFzWepkD+6tFKlm54236Taz4z5vtmQIhAMVAaP5JSVaLzInHsNtN9e/4nXURUcId/R8p5Ypmchww","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1228247},"main":"./cli/engine/detect-antipatterns.mjs","type":"module","engines":{"node":">=22.18.0"},"exports":{".":"./cli/engine/detect-antipatterns.mjs","./browser":"./cli/engine/detect-antipatterns-browser.js"},"gitHead":"94b7f34f6e27b95bc32d8284a671601ed6ac1b2a","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","build:skills":"bun run scripts/build.js --skip-root-sync","test:cli-e2e":"node scripts/run-tests.mjs cli-e2e","build:browser":"node scripts/build-browser-detector.js","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","bench:detector":"node scripts/benchmark-detector.mjs","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","bench:detector:browser":"node scripts/benchmark-detector.mjs --browser","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","dependencies":{"fflate":"^0.8.3","marked":"^18.0.5","css-tree":"^3.2.1","domutils":"^4.0.2","css-select":"^7.0.0","htmlparser2":"^12.0.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.122.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"puppeteer":"^25.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_3.6.1_1788295020037_0.4172998130829906","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"impeccable","version":"4.0.0","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@4.0.0","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"b966be0e0250da89e3c5616343c89a88f0c21aac","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-4.0.0.tgz","fileCount":6,"integrity":"sha512-zW27UBcBbUkhane1HqRhX+MJ9ROA07Xr+oJ66pjG4qIOXQDbhbCwmY2BheJgSZaOUe6qVMyt1ZCxEW+o5JRG9g==","signatures":[{"sig":"MEUCIFAbEi2W6soYzMBgnA5kDjdz2YQBgiEp9hrsd+R2FIJAAiEA6zhnQrEcMv7BFcAl75cC1sdMrFe4uAIO4iaFJ83DLgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50164},"type":"module","engines":{"node":">=22.18.0"},"gitHead":"e74a311e40770dc458d631e146b4ea1f0b53804f","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","test:oracle":"node scripts/run-tests.mjs oracle","build:skills":"bun run scripts/build.js --skip-root-sync","fetch:engine":"node scripts/fetch-engine.mjs","test:cleanup":"node scripts/run-tests.mjs --cleanup","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","release:engine":"node scripts/release.mjs engine","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","check:engine-release":"node scripts/check-engine-release.mjs","release:platform-packages":"node scripts/publish-platform-packages.mjs","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","puppeteer":"^25.1.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.122.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"@impeccable/cli-linux-x64":"0.1.0","@impeccable/cli-darwin-x64":"0.1.0","@impeccable/cli-linux-arm64":"0.1.0","@impeccable/cli-windows-x64":"0.1.0","@impeccable/cli-darwin-arm64":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_4.0.0_1788553779545_0.06719660597190957","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"impeccable","version":"4.0.1","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@4.0.1","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"1cc2cf072c36b03ff9fc20f2eca94adf83e274e8","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-4.0.1.tgz","fileCount":6,"integrity":"sha512-gip60/B+BOTwVyCMA0PxgDyqw7gwWavoig2+qtDhwD2Fn8+Q8tIuMU7tGwwYBORCWZgo5UJC03YuWOCIQM4zdQ==","signatures":[{"sig":"MEUCIQDgYAMoMxNDNfIUBhRoul+FZ0Qp9kd9RIBaX+rs21WdXQIgPp0hbriH2LP0Z5s8Pqxc/sS0fUCWUWYWSh271Z/Mwxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50451},"type":"module","engines":{"node":">=22.18.0"},"gitHead":"46ffe5caa2ce5a4ca34bfe9d610a938253b151ed","scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","test:oracle":"node scripts/run-tests.mjs oracle","build:skills":"bun run scripts/build.js --skip-root-sync","fetch:engine":"node scripts/fetch-engine.mjs","test:cleanup":"node scripts/run-tests.mjs --cleanup","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","release:engine":"node scripts/release.mjs engine","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","check:engine-release":"node scripts/check-engine-release.mjs","release:platform-packages":"node scripts/publish-platform-packages.mjs","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","puppeteer":"^25.1.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.122.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"@impeccable/cli-linux-x64":"0.1.0","@impeccable/cli-darwin-x64":"0.1.0","@impeccable/cli-linux-arm64":"0.1.0","@impeccable/cli-windows-x64":"0.1.0","@impeccable/cli-darwin-arm64":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_4.0.1_1788559269319_0.945585715967586","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"impeccable","version":"4.0.2","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@4.0.2","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"47afa32cd1ecb60c3220ded42bdd30bcc4684497","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-4.0.2.tgz","fileCount":6,"integrity":"sha512-MdiCAbBdrVJdKxPxyGLM2tVn4l5DiOPMSzCUyLETii87bK9YhWfzrIoAPZ6T38pmCViM6qYOtHaFIrEru8eUvg==","signatures":[{"sig":"MEQCIBEhMWAK9GWR+5+OiygixOyAsRit/EQ6tnIOphozyeGIAiBIrcUX8kIxAgsXUQ3d76ENhOpfm/CWr1rQp7a91BckXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50451},"type":"module","engines":{"node":">=22.18.0"},"scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","test:oracle":"node scripts/run-tests.mjs oracle","build:skills":"bun run scripts/build.js --skip-root-sync","fetch:engine":"node scripts/fetch-engine.mjs","test:cleanup":"node scripts/run-tests.mjs --cleanup","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","release:engine":"node scripts/release.mjs engine","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","check:engine-release":"node scripts/check-engine-release.mjs","release:platform-packages":"node scripts/publish-platform-packages.mjs","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","puppeteer":"^25.1.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.122.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"@impeccable/cli-linux-x64":"0.1.1","@impeccable/cli-darwin-x64":"0.1.1","@impeccable/cli-linux-arm64":"0.1.1","@impeccable/cli-windows-x64":"0.1.1","@impeccable/cli-darwin-arm64":"0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_4.0.2_1788630519331_0.267786847923837","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"impeccable","version":"4.0.3","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@4.0.3","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"019b355e67fb4dd4b4d2c2a3284c4e34ab55b932","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-4.0.3.tgz","fileCount":6,"integrity":"sha512-aikZHpWbaAMputg+SQeEDYL4rPmS5p5MrfUovqWjEXNTRRVIMQ4k6E+grWf9G1feoB5gcN9LeQtjrQujEP70lg==","signatures":[{"sig":"MEUCIAumUXqLGitDwJyFOW0BUHiwXcnzTb4nO3PNWuA9akp0AiEAvRRi/M2N5mC4XrE3AxH8icpjRy0JFxWkCUglhtKdE1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50451},"type":"module","engines":{"node":">=22.18.0"},"scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","test:oracle":"node scripts/run-tests.mjs oracle","build:skills":"bun run scripts/build.js --skip-root-sync","fetch:engine":"node scripts/fetch-engine.mjs","test:cleanup":"node scripts/run-tests.mjs --cleanup","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","release:engine":"node scripts/release.mjs engine","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","check:engine-release":"node scripts/check-engine-release.mjs","release:platform-packages":"node scripts/publish-platform-packages.mjs","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","puppeteer":"^25.1.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.122.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"@impeccable/cli-linux-x64":"0.1.2","@impeccable/cli-darwin-x64":"0.1.2","@impeccable/cli-linux-arm64":"0.1.2","@impeccable/cli-windows-x64":"0.1.2","@impeccable/cli-darwin-arm64":"0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_4.0.3_1788651560886_0.8940446573847491","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"impeccable","version":"4.0.4","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@4.0.4","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"df4465c1bd18f0e5048b9ac7a8e29f3412a7606e","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-4.0.4.tgz","fileCount":6,"integrity":"sha512-iMoWq1LPovPXGtOFIQI7GUIsCPg6T/Rln8wSVQwa4LXHPJCmRoaUkAxP6nDu2dGWJzcFzvszeDT/pwWP+Ib8Xg==","signatures":[{"sig":"MEQCIFmZmruMUMQ0e6C3UdWCCmgGs92K7VFwcxlYLqC5t+rkAiAC7kheJVYyS4/yUTJdNchlD+smwAIugUILpIPhmNJYIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50953},"type":"module","engines":{"node":">=22.18.0"},"scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","test:oracle":"node scripts/run-tests.mjs oracle","build:skills":"bun run scripts/build.js --skip-root-sync","fetch:engine":"node scripts/fetch-engine.mjs","test:cleanup":"node scripts/run-tests.mjs --cleanup","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","release:engine":"node scripts/release.mjs engine","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","build:skills:release":"bun run scripts/build.js","check:engine-release":"node scripts/check-engine-release.mjs","release:platform-packages":"node scripts/publish-platform-packages.mjs","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","puppeteer":"^25.1.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.122.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"@impeccable/cli-linux-x64":"0.1.3","@impeccable/cli-darwin-x64":"0.1.3","@impeccable/cli-linux-arm64":"0.1.3","@impeccable/cli-windows-x64":"0.1.3","@impeccable/cli-darwin-arm64":"0.1.3"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_4.0.4_1788734624406_0.6267455907210737","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"impeccable","version":"4.0.5","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","_id":"impeccable@4.0.5","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"homepage":"https://impeccable.style","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"bin":{"impeccable":"cli/bin/cli.js"},"dist":{"shasum":"38838b9acd6722760d295f6c5880171cf1b2e4d8","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-4.0.5.tgz","fileCount":6,"integrity":"sha512-3PRNYGUYwFiH4jknrEMEvSf6cWHbfZwasznbL/AXijDaMgix66rgfjAT230vDHw2OYlLtcEF6Sg0y5Wjc6hkiA==","signatures":[{"sig":"MEYCIQDfvIa01065RT0dfT4XB9Y/S7VWqkjqweQmkz5QJAcleAIhAI2dq6C3kTtQK0NganoqtvLZhNJRpWvqGsMFe/j1TDs7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53683},"type":"module","engines":{"node":">=22.18.0"},"scripts":{"test":"node scripts/run-tests.mjs default","audit":"bun audit --audit-level=moderate","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","clean":"rm -rf dist build","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","rebuild":"bun run clean && bun run build","postpack":"cp README.repo.md README.md && rm README.repo.md","test:core":"node scripts/run-tests.mjs core","test:live":"node scripts/run-tests.mjs live","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","test:oracle":"node scripts/run-tests.mjs oracle","build:skills":"bun run scripts/build.js --skip-root-sync","fetch:engine":"node scripts/fetch-engine.mjs","test:cleanup":"node scripts/run-tests.mjs --cleanup","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","release:skill":"node scripts/release.mjs skill","test:detector":"node scripts/run-tests.mjs detector","test:live-e2e":"node scripts/run-tests.mjs live-e2e","package:vscode":"bun run build:skills && cd dist/vscode && bunx --package @vscode/vsce@3.9.2 vsce package --no-dependencies","release:engine":"node scripts/release.mjs engine","test:framework":"node scripts/run-tests.mjs framework","build:extension":"node scripts/build-extension.js","rebuild:release":"bun run clean && bun run build:release","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","test:skill-workflow":"node scripts/run-tests.mjs skill-workflow","build:skills:release":"bun run scripts/build.js","check:engine-release":"node scripts/check-engine-release.mjs","release:platform-packages":"node scripts/publish-platform-packages.mjs","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek"},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"repository":{"url":"git+https://github.com/pbakaus/impeccable.git","type":"git"},"_npmVersion":"11.16.0","description":"Design skills, commands, and anti-pattern detection for AI coding agents","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^7.0.14","zod":"^4.3.6","svelte":"^5","archiver":"^8.0.0","puppeteer":"^25.1.0","playwright":"^1.59.1","@babel/parser":"^8.0.4","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@ai-sdk/anthropic":"^4.0.7","@anthropic-ai/sdk":"^0.123.0","@anthropic-ai/claude-agent-sdk":"^0.3.165"},"optionalDependencies":{"@impeccable/cli-linux-x64":"0.1.4","@impeccable/cli-darwin-x64":"0.1.4","@impeccable/cli-linux-arm64":"0.1.4","@impeccable/cli-windows-x64":"0.1.4","@impeccable/cli-darwin-arm64":"0.1.4"},"_npmOperationalInternal":{"tmp":"tmp/impeccable_4.0.5_1788894946879_0.2629645994479577","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"impeccable","version":"4.1.0","author":{"name":"Paul Bakaus"},"description":"Design skills, commands, and anti-pattern detection for AI coding agents","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"license":"Apache-2.0","homepage":"https://impeccable.style","repository":{"type":"git","url":"git+https://github.com/pbakaus/impeccable.git"},"engines":{"node":">=22.18.0"},"type":"module","bin":{"impeccable":"cli/bin/cli.js"},"scripts":{"build:skills":"bun run scripts/build.js --skip-root-sync","build:skills:release":"bun run scripts/build.js","build":"bun run build:skills && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","build:release":"bun run build:skills:release && mkdir -p build/_data && rm -rf build/_data/dist && cp -R dist build/_data/dist","build:extension":"node scripts/build-extension.js","package:vscode":"bun run build:skills && cd dist/vscode && bunx --package @vscode/vsce@3.9.2 vsce package --no-dependencies","fetch:engine":"node scripts/fetch-engine.mjs","clean":"rm -rf dist build","rebuild":"bun run clean && bun run build","rebuild:release":"bun run clean && bun run build:release","test":"node scripts/run-tests.mjs default","test:core":"node scripts/run-tests.mjs core","test:oracle":"node scripts/run-tests.mjs oracle","test:detector":"node scripts/run-tests.mjs detector","test:framework":"node scripts/run-tests.mjs framework","test:live":"node scripts/run-tests.mjs live","test:cleanup":"node scripts/run-tests.mjs --cleanup","test:cli-remote-e2e":"node scripts/run-tests.mjs cli-remote-e2e","test:plugin-e2e":"node scripts/run-tests.mjs plugin-e2e","test:live-e2e":"node scripts/run-tests.mjs live-e2e","test:live-e2e-accept-cleanup":"node scripts/run-tests.mjs live-e2e-accept-cleanup","test:new-work-e2e":"node scripts/run-tests.mjs new-work-e2e","test:live-e2e-agent":"node scripts/run-tests.mjs live-e2e-agent","test:skill-behavior":"node scripts/run-tests.mjs skill-behavior","test:skill-workflow":"node scripts/run-tests.mjs skill-workflow","test:live-svelte-adapter-deepseek":"node scripts/run-tests.mjs live-svelte-adapter-deepseek","smoke:hooks":"node scripts/smoke-provider-hooks.mjs","audit":"bun audit --audit-level=moderate","prepack":"cp README.md README.repo.md && cp README.npm.md README.md","postpack":"cp README.repo.md README.md && rm README.repo.md","release:skill":"node scripts/release.mjs skill","release:cli":"node scripts/release.mjs cli","release:ext":"node scripts/release.mjs extension","release:engine":"node scripts/release.mjs engine","release:platform-packages":"node scripts/publish-platform-packages.mjs","check:engine-release":"node scripts/check-engine-release.mjs"},"optionalDependencies":{"@impeccable/cli-darwin-arm64":"0.1.5","@impeccable/cli-darwin-x64":"0.1.5","@impeccable/cli-linux-x64":"0.1.5","@impeccable/cli-linux-arm64":"0.1.5","@impeccable/cli-windows-x64":"0.1.5"},"devDependencies":{"@ai-sdk/anthropic":"^4.0.7","@ai-sdk/google":"^4.0.8","@ai-sdk/openai":"^4.0.7","@anthropic-ai/claude-agent-sdk":"^0.3.165","@anthropic-ai/sdk":"^0.123.0","@babel/parser":"^8.0.4","ai":"^7.0.14","archiver":"^8.0.0","playwright":"^1.59.1","puppeteer":"^25.1.0","svelte":"^5","zod":"^4.3.6"},"gitHead":"73a6f51a540bc3938a2c40677d074c70b81fa5a0","_id":"impeccable@4.1.0","bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-hnfdoUK/Xg3qPtL0/5xzh92qKOtmREOZloCmFgnC1nYh3M81ihwCQEL2QWKntYl8qg1OG+jQ7wubR634PgTDIw==","shasum":"e624d9c13dda74f08d1abdb26ba717ac4886f729","tarball":"https://registry.npmjs.org/impeccable/-/impeccable-4.1.0.tgz","fileCount":6,"unpackedSize":53683,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDdTSqH6O6BlbduM9mk0pgIch8gbKlitsEl7fCud7hkyQIgL+FjZPIXxTYP4RYDAEIJ5oz1Z7K8dzHQdEqSCsCGqdI="}]},"_npmUser":{"name":"paulbakaus","email":"paul.bakaus@gmail.com"},"directories":{},"maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/impeccable_4.1.0_1788910156998_0.7255672676499285"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T19:09:32.163Z","modified":"2026-09-08T23:29:17.295Z","2.0.0":"2026-03-30T19:09:32.333Z","2.0.1":"2026-03-30T19:19:29.132Z","2.0.4":"2026-04-03T23:48:44.667Z","2.0.6":"2026-04-04T02:00:54.272Z","2.0.7":"2026-04-08T21:23:41.848Z","2.1.0":"2026-04-10T16:53:40.896Z","2.1.1":"2026-04-10T17:24:51.569Z","2.1.2":"2026-04-10T17:41:21.319Z","2.1.3":"2026-04-10T17:58:46.004Z","2.1.4":"2026-04-10T18:05:01.728Z","2.1.5":"2026-04-10T18:18:38.858Z","2.1.6":"2026-04-10T18:44:06.462Z","2.1.7":"2026-04-10T19:36:19.874Z","2.1.8":"2026-04-28T17:53:02.112Z","2.1.9":"2026-05-13T07:47:52.155Z","2.2.0":"2026-05-28T21:28:24.765Z","2.3.0":"2026-05-28T22:11:12.943Z","2.3.1":"2026-05-29T04:24:04.020Z","2.3.2":"2026-05-30T01:34:45.321Z","3.0.0":"2026-06-15T04:08:01.848Z","3.0.1":"2026-06-15T04:34:41.248Z","3.0.2":"2026-06-16T04:14:02.486Z","3.0.3":"2026-06-17T02:56:56.563Z","3.1.0":"2026-06-21T20:43:47.265Z","3.2.0":"2026-07-01T08:56:32.465Z","3.2.1":"2026-07-09T18:37:22.647Z","3.3.0":"2026-07-22T07:10:51.519Z","3.3.1":"2026-07-22T20:16:00.198Z","3.4.0":"2026-07-28T02:31:16.988Z","3.5.0":"2026-07-30T03:47:35.735Z","3.6.0":"2026-08-14T04:34:44.012Z","3.6.1":"2026-09-01T20:37:00.212Z","4.0.0":"2026-09-04T20:29:39.696Z","4.0.1":"2026-09-04T22:01:09.474Z","4.0.2":"2026-09-05T17:48:39.463Z","4.0.3":"2026-09-05T23:39:21.003Z","4.0.4":"2026-09-06T22:43:44.541Z","4.0.5":"2026-09-08T19:15:47.037Z","4.1.0":"2026-09-08T23:29:17.126Z"},"bugs":{"url":"https://github.com/pbakaus/impeccable/issues"},"author":{"name":"Paul Bakaus"},"license":"Apache-2.0","homepage":"https://impeccable.style","keywords":["design","frontend","ux","skills","ai","anti-patterns","lint","accessibility","css","html","detection","ci-cd"],"repository":{"type":"git","url":"git+https://github.com/pbakaus/impeccable.git"},"description":"Design skills, commands, and anti-pattern detection for AI coding agents","maintainers":[{"name":"paulbakaus","email":"paul.bakaus@gmail.com"}],"readme":"# Impeccable CLI\n\nDetect UI anti-patterns and design quality issues from the command line, and install the Impeccable design skill into your AI coding harness. The detector scans HTML, CSS, JSX, TSX, Vue, and Svelte files for 61 deterministic rules, including AI-generated UI tells, accessibility violations, and general design quality problems.\n\nThe npm package is a small launcher. It runs the `impeccable` engine binary for your platform, installed alongside it as an optional dependency (`@impeccable/cli-<os>-<arch>`), and falls back to a per-user cache or a one-time download when that package is missing.\n\n## Quick Start\n\n```bash\n# Install skills into your AI harness (Claude, Cursor, Gemini, etc.)\nnpx impeccable install\n\n# Non-interactive install for a specific scope\nnpx impeccable install -y --providers=claude,codex --scope=project\n\n# First command to run inside your AI harness\n/impeccable init\n\n# Update skills to the latest version\nnpx impeccable update\n\n# Install or update skills without hook manifests\nnpx impeccable install --no-hooks\n\n# Link skills from a Git submodule checkout\nnpx impeccable link --source=.impeccable --providers=claude,cursor\n\n# List all available commands\nnpx impeccable help\n\n# Scan files or directories for anti-patterns\nnpx impeccable detect src/\n\n# Scan a live URL (uses an installed Chrome, Chromium, or Edge)\nnpx impeccable detect https://example.com\n\n# JSON output for CI/tooling\nnpx impeccable detect --json src/\n```\n\n`npx impeccable skills <command>` is the legacy namespace and still works.\n\n## What It Detects\n\n**AI Slop Tells**: patterns that scream \"AI generated this\":\n- Side-tab accent borders, gradient text on headings\n- Purple/violet gradients and cyan-on-dark palettes\n- Dark mode with glowing accents, border + border-radius clashes\n\n**Typography Issues**: overused fonts (Inter, Roboto), flat type hierarchy, single font families\n\n**Color & Contrast**: WCAG AA violations, gray text on colored backgrounds, pure black/white\n\n**Layout & Composition**: nested cards, monotonous spacing, everything-centered layouts\n\n**Motion**: bounce/elastic easing, layout property transitions\n\n**Quality**: tiny body text, cramped padding, long line lengths, small touch targets\n\n61 deterministic detector rules in total. See the full catalog at [impeccable.style/slop](https://impeccable.style/slop).\n\n## Exit Codes\n\n- `0`: scan completed with no primary findings (advisories may still be listed)\n- `1`: at least one requested target could not be scanned\n- `2`: scan completed with primary findings\n\nOperational failure takes precedence when a multi-target scan is partial. In JSON mode, stdout remains a findings array and diagnostics are written to stderr.\n\n## Options\n\n```\nimpeccable detect [options] [file-or-dir-or-url...]\n\n  --json      Output findings as JSON\n  --scope     Only report rules in a design domain (type, layout)\n  --help      Show help\n```\n\n## Requirements\n\n- Node.js 22.18+ to run `npx impeccable`. The engine itself is a self-contained binary and needs no runtime; the skill installed into your harness calls it directly.\n- For URL scans, an installed Chrome, Chromium, or Edge (set `IMPECCABLE_BROWSER` to point at one).\n- Behind a TLS-inspecting proxy, downloads trust your OS certificate store as well as the bundled Mozilla roots. Set `SSL_CERT_FILE` or `SSL_CERT_DIR` to use a specific CA bundle instead.\n\nBinary lookup order: `IMPECCABLE_BIN`, the platform package, `~/.impeccable/bin/<version>/`, then a download of the pinned version into that cache. Set `IMPECCABLE_BIN` to a local build to skip all of that.\n\n## Part of Impeccable\n\nThis CLI is part of [Impeccable](https://impeccable.style), a cross-provider design skill pack for AI-powered development tools. The full suite includes 23 commands for Claude, Cursor, GitHub Copilot, Gemini, Codex, Hermes Agent, Veto, and more.\n\n## License\n\n[Apache 2.0](https://github.com/pbakaus/impeccable/blob/main/LICENSE)\n","readmeFilename":"README.npm.md"}