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}