{ "name": "impeccable", "version": "3.6.0", "author": "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" }, "main": "./cli/engine/detect-antipatterns.mjs", "exports": { ".": "./cli/engine/detect-antipatterns.mjs", "./browser": "./cli/engine/detect-antipatterns-browser.js" }, "files": [ "cli/", "LICENSE" ], "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:browser": "node scripts/build-browser-detector.js", "build:extension": "node scripts/build-extension.js", "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:detector": "node scripts/run-tests.mjs detector", "test:framework": "node scripts/run-tests.mjs framework", "test:live": "node scripts/run-tests.mjs live", "test:cli-e2e": "node scripts/run-tests.mjs cli-e2e", "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:live-svelte-adapter-deepseek": "node scripts/run-tests.mjs live-svelte-adapter-deepseek", "smoke:hooks": "node scripts/smoke-provider-hooks.mjs", "bench:detector": "node scripts/benchmark-detector.mjs", "bench:detector:browser": "node scripts/benchmark-detector.mjs --browser", "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" }, "dependencies": { "css-select": "^7.0.0", "css-tree": "^3.2.1", "domutils": "^4.0.2", "fflate": "^0.8.3", "htmlparser2": "^12.0.0", "marked": "^18.0.5" }, "optionalDependencies": { "puppeteer": "^25.1.0" }, "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.115.0", "@babel/parser": "^8.0.4", "ai": "^7.0.14", "archiver": "^8.0.0", "playwright": "^1.59.1", "svelte": "^5", "zod": "^4.3.6" } }