package.json

 1{
 2  "name": "impeccable",
 3  "version": "2.1.9",
 4  "author": "Paul Bakaus",
 5  "description": "Design skills, commands, and anti-pattern detection for AI coding agents",
 6  "keywords": [
 7    "design",
 8    "frontend",
 9    "ux",
10    "skills",
11    "ai",
12    "anti-patterns",
13    "lint",
14    "accessibility",
15    "css",
16    "html",
17    "detection",
18    "ci-cd"
19  ],
20  "license": "Apache-2.0",
21  "homepage": "https://impeccable.style",
22  "repository": {
23    "type": "git",
24    "url": "git+https://github.com/pbakaus/impeccable.git"
25  },
26  "engines": {
27    "node": ">=18"
28  },
29  "type": "module",
30  "bin": {
31    "impeccable": "cli/bin/cli.js"
32  },
33  "main": "./cli/engine/detect-antipatterns.mjs",
34  "exports": {
35    ".": "./cli/engine/detect-antipatterns.mjs",
36    "./browser": "./cli/engine/detect-antipatterns-browser.js"
37  },
38  "files": [
39    "cli/",
40    "LICENSE"
41  ],
42  "scripts": {
43    "build:skills": "bun run scripts/build.js",
44    "build:site": "npx astro build",
45    "build": "bun run build:skills && bun run build:site && cp -R dist build/_data/dist",
46    "build:browser": "node scripts/build-browser-detector.js",
47    "build:extension": "node scripts/build-extension.js",
48    "clean": "rm -rf dist build",
49    "rebuild": "bun run clean && bun run build",
50    "dev": "npx astro dev",
51    "preview": "bun run build && npx astro preview",
52    "deploy": "bun run build && wrangler pages deploy build/",
53    "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 && 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-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",
54    "test:live-e2e": "node --test --test-timeout=600000 tests/live-e2e.test.mjs",
55    "bench:detector": "node scripts/benchmark-detector.mjs",
56    "bench:detector:browser": "node scripts/benchmark-detector.mjs --browser",
57    "audit": "bun audit --audit-level=moderate",
58    "prepack": "cp README.md README.repo.md && cp README.npm.md README.md",
59    "postpack": "cp README.repo.md README.md && rm README.repo.md",
60    "release:skill": "node scripts/release.mjs skill",
61    "release:cli": "node scripts/release.mjs cli",
62    "release:ext": "node scripts/release.mjs extension",
63    "screenshot": "bun run scripts/screenshot-antipatterns.js",
64    "og-image": "bun run scripts/generate-og-image.js"
65  },
66  "dependencies": {
67    "css-select": "^5.2.2",
68    "css-tree": "^3.2.1",
69    "domutils": "^3.2.2",
70    "htmlparser2": "^10.0.0",
71    "marked": "^16.4.2"
72  },
73  "optionalDependencies": {
74    "puppeteer": "^24.42.0"
75  },
76  "devDependencies": {
77    "astro": "^6.2.1",
78    "@paper-design/shaders": "^0.0.76",
79    "@ai-sdk/anthropic": "^3.0.71",
80    "@ai-sdk/openai": "^3.0.53",
81    "@anthropic-ai/claude-agent-sdk": "^0.2.119",
82    "@anthropic-ai/sdk": "^0.91.1",
83    "@google/genai": "^1.50.1",
84    "ai": "^6.0.168",
85    "archiver": "^7.0.1",
86    "modern-screenshot": "^4.7.0",
87    "motion": "^12.38.0",
88    "playwright": "^1.59.1",
89    "wrangler": "^4.85.0",
90    "zod": "^4.3.6"
91  }
92}