pbakaus/impeccable
The design language that makes your AI harness better at design.
The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
Most complex files
- .agent/skills/impeccable/scripts/live-browser.js4116 cx
- .agents/skills/impeccable/scripts/live-browser.js4116 cx
- .claude/skills/impeccable/scripts/live-browser.js4116 cx
- .cursor/skills/impeccable/scripts/live-browser.js4116 cx
- .dsh/skills/impeccable/scripts/live-browser.js4116 cx
- .gemini/skills/impeccable/scripts/live-browser.js4116 cx
- .github/skills/impeccable/scripts/live-browser.js4116 cx
- .grok/skills/impeccable/scripts/live-browser.js4116 cx
- .hermes/skills/impeccable/scripts/live-browser.js4116 cx
- .kiro/skills/impeccable/scripts/live-browser.js4116 cx
Dead code 82.28% unused · 122 findings
- .agent/skills/impeccable/scripts/live-browser.jsunused-file
- .agents/skills/impeccable/scripts/live-browser.jsunused-file
- .claude/skills/impeccable/scripts/live-browser.jsunused-file
- .cursor/skills/impeccable/scripts/live-browser.jsunused-file
- .dsh/skills/impeccable/scripts/live-browser.jsunused-file
- .gemini/skills/impeccable/scripts/live-browser.jsunused-file
- .github/skills/impeccable/scripts/live-browser.jsunused-file
- .grok/skills/impeccable/scripts/live-browser.jsunused-file
- .hermes/skills/impeccable/scripts/live-browser.jsunused-file
- .kiro/skills/impeccable/scripts/live-browser.jsunused-file
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 25 generated files: .agent/skills/impeccable/scripts/modern-screenshot.umd.js, .agents/skills/impeccable/scripts/modern-screenshot.umd.js, .claude/skills/impeccable/scripts/modern-screenshot.umd.js, .cursor/skills/impeccable/scripts/modern-screenshot.umd.js, .dsh/skills/impeccable/scripts/modern-screenshot.umd.js, .gemini/skills/impeccable/scripts/modern-screenshot.umd.js, .github/skills/impeccable/scripts/modern-screenshot.umd.js, .grok/skills/impeccable/scripts/modern-screenshot.umd.js, .hermes/skills/impeccable/scripts/modern-screenshot.umd.js, .kiro/skills/impeccable/scripts/modern-screenshot.umd.js, .opencode/skills/impeccable/scripts/modern-screenshot.umd.js, .pi/skills/impeccable/scripts/modern-screenshot.umd.js, .qoder/skills/impeccable/scripts/modern-screenshot.umd.js, .rovodev/skills/impeccable/scripts/modern-screenshot.umd.js, .trae-cn/skills/impeccable/scripts/modern-screenshot.umd.js, .trae/skills/impeccable/scripts/modern-screenshot.umd.js, .veto/skills/impeccable/scripts/modern-screenshot.umd.js, .vibe/skills/impeccable/scripts/modern-screenshot.umd.js, browser-bundle/00-header.js, crates/context/assets/component-review.js and 5 more.
Largest clones in the code
- 13499 lines in 21 placesjavascript81,435 tokens.agent/skills/impeccable/scripts/live-browser.js:12–13510.agents/skills/impeccable/scripts/live-browser.js:12–13510.claude/skills/impeccable/scripts/live-browser.js:12–13510.cursor/skills/impeccable/scripts/live-browser.js:12–13510.dsh/skills/impeccable/scripts/live-browser.js:12–13510and 16 more
12(function () { 13 'use strict'; 14 if (typeof window === 'undefined') return; 15 16 // Guard against double-init. Bun's HTML loader may process the <script> tag 17 // and create a bundled copy alongside the external load, or HMR may re-execute. 18 // Check BEFORE reading token/port to catch all cases. 19 if (window.__IMPECCABLE_LIVE_INIT__) return; 20 window.__IMPECCABLE_LIVE_INIT__ = true; 21First 10 of 13499 lines.
- 205 lines in 21 placesjavascript1,149 tokens.agent/skills/impeccable/scripts/live-browser-ignores.js:38–242.agents/skills/impeccable/scripts/live-browser-ignores.js:38–242.claude/skills/impeccable/scripts/live-browser-ignores.js:38–242.cursor/skills/impeccable/scripts/live-browser-ignores.js:38–242.dsh/skills/impeccable/scripts/live-browser-ignores.js:38–242and 16 more
38(function (root) { 39 'use strict'; 40 if (!root) return; 41 42 // Keep in step with normalizeIgnoreRule / normalizeIgnoreValue in 43 // cli/lib/impeccable-config.mjs. 44 function normalizeIgnoreRule(rule) { 45 return String(rule || '').trim().toLowerCase(); 46 } 47First 10 of 205 lines.
- 206 lines in 21 placesbash1,000 tokens.agent/skills/impeccable/scripts/impeccable:1–206.agents/skills/impeccable/scripts/impeccable:1–206.claude/skills/impeccable/scripts/impeccable:1–206.cursor/skills/impeccable/scripts/impeccable:1–206.dsh/skills/impeccable/scripts/impeccable:1–206and 16 more
1#!/bin/sh 2# Impeccable launcher. Runs the platform binary shipped next to this script: 3# <this dir>/bin/<os>-<arch>/impeccable 4# Order: $IMPECCABLE_BIN, the sibling binary, ~/.impeccable/bin/impeccable, 5# the version-pinned cache, then `impeccable` on PATH. Never needs Node. 6# The unversioned home binary and the PATH candidate are validated with the 7# engine-probe handshake first: the retired 3.x npm CLI also installed a bin 8# named `impeccable`, and exec'ing it would fail every verb with 9# "Unknown command". Trusted candidates (IMPECCABLE_BIN, the sibling binary, 10# the version-pinned cache) are exec'd without a probe: hooks run them onFirst 10 of 206 lines.
7 more
- 160 lines in 21 placesjavascript995 tokens.agent/skills/impeccable/scripts/live-browser-dom.js:8–167.agents/skills/impeccable/scripts/live-browser-dom.js:8–167.claude/skills/impeccable/scripts/live-browser-dom.js:8–167.cursor/skills/impeccable/scripts/live-browser-dom.js:8–167.dsh/skills/impeccable/scripts/live-browser-dom.js:8–167and 16 more
- 141 lines in 21 placesjavascript719 tokens.agent/skills/impeccable/scripts/live-browser-session.js:8–148.agents/skills/impeccable/scripts/live-browser-session.js:8–148.claude/skills/impeccable/scripts/live-browser-session.js:8–148.cursor/skills/impeccable/scripts/live-browser-session.js:8–148.dsh/skills/impeccable/scripts/live-browser-session.js:8–148and 16 more
- 144 lines in 2 placesrust1,118 tokens
- 45 lines in 2 placesrust459 tokens
- 42 lines in 2 placesrust433 tokens
- 7 lines in 7 placesrust59 tokens
- 18 lines in 3 placesjavascript163 tokens
Largest clones over all files, tests and data included
- 13499 lines in 21 placesjavascript81,435 tokens.agent/skills/impeccable/scripts/live-browser.js:12–13510.agents/skills/impeccable/scripts/live-browser.js:12–13510.claude/skills/impeccable/scripts/live-browser.js:12–13510.cursor/skills/impeccable/scripts/live-browser.js:12–13510.dsh/skills/impeccable/scripts/live-browser.js:12–13510and 16 more
12(function () { 13 'use strict'; 14 if (typeof window === 'undefined') return; 15 16 // Guard against double-init. Bun's HTML loader may process the <script> tag 17 // and create a bundled copy alongside the external load, or HMR may re-execute. 18 // Check BEFORE reading token/port to catch all cases. 19 if (window.__IMPECCABLE_LIVE_INIT__) return; 20 window.__IMPECCABLE_LIVE_INIT__ = true; 21First 10 of 13499 lines.
- 14 lines in 21 placesjavascript12,419 tokens.agent/skills/impeccable/scripts/modern-screenshot.umd.js:1–14.agents/skills/impeccable/scripts/modern-screenshot.umd.js:1–14.claude/skills/impeccable/scripts/modern-screenshot.umd.js:1–14.cursor/skills/impeccable/scripts/modern-screenshot.umd.js:1–14.dsh/skills/impeccable/scripts/modern-screenshot.umd.js:1–14and 16 more
1(function(y,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(y=typeof globalThis… 2.______background-clip--text { 3 background-clip: text; 4 -webkit-background-clip: text; 5} 6`);return t.appendChild(r),t}function pt(e,t){let{width:r,height:n}=t;if(I(e)&&(!r||!n)){const i=e.getBoundingClientRect();r=r||i.width||Number(e.getAttribute(… 7 `);let b=o.get(E);b||(b=[],o.set(E,b)),b.push(`.${f[0]}${l}`)}kt.forEach(u),r&&Dt.forEach(u)}const Te=new Set(["symbol"]);function ve(e,t,r,n,i){return C(thi… 8`))}else{const c=Array.from(r.styleSheets).filter(f=>{try{return"cssRules"in f&&!!f.cssRules.length}catch(h){return t.log.warn(`Error while reading CSS rules f… 9`)):s.push(Re(h.cssText,h.parentStyleSheet?h.parentStyleSheet.href:null,t).then(p=>{p=Ue(p,t),a.set(h.cssText,p),n.appendChild(r.createTextNode(`${p} 10`))}))})}})}const Wt=/(\/\*[\s\S]*?\*\/)/g,Pe=/((@.*?keyframes [\s\S]*?){([\s\S]*?}\s*?)})/gi;function Ht(e){if(e==null)return[];const t=[];let r=e.replace(Wt,…First 10 of 14 lines.
- 240 lines in 20 placesmarkdowndocs and examples4,220 tokens.agent/skills/impeccable/reference/live.md:13–252.agents/skills/impeccable/reference/live.md:15–254.claude/skills/impeccable/reference/live.md:13–252.cursor/skills/impeccable/reference/live.md:13–252.dsh/skills/impeccable/reference/live.md:13–252and 15 more
131. `impeccable live`: boot. If the request names or implies a file, route, or app inside a monorepo, infer the concrete path and run `.agent/skills/impeccable/… 142. Open the app URL that serves `pageFile` (infer from `package.json`, docs, terminal output, or an open tab). Never use `serverPort`; it's the helper, not the… 153. Poll loop with the default long timeout (600000 ms). Run `impeccable live-poll` again immediately after every event or `--reply`; Codex runs this one-shot p… 164. On `generate`: reuse `event.scaffold` when present; read the screenshot if present; load the action's reference; deliver variants; `--reply done`; poll agai… 175. On `steer`: read the message and `pageUrl`; do the work; `--reply steer_done`; poll again. No pickup ack. 186. On `accept` / `discard`: the poll script runs `impeccable live-accept`, acknowledges delivery, and prints `_completionAck`. Plain accepts/discards are termi… 197. If interrupted, run `impeccable live-status` or `impeccable live-resume` before guessing. The journal under `.impeccable/live/sessions/` is canonical and re… 208. On `exit`: run the cleanup at the bottom. 21 22Harness policy:First 10 of 240 lines.
- 416 lines in 14 placesmarkdowndocs and examples4,092 tokens
- 585 lines in 9 placesmarkdowndocs and examples5,685 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| rust | 253 | 131,717 | 354 | 3,702 | 2.81% |
| javascript | 144 | 309,232 | 122 | 280,607 | 90.74% |
| bash | 30 | 4,970 | 20 | 4,120 | 82.9% |
| typescript | 9 | 1,734 | 2 | 18 | 1.04% |
| perl | 1 | 174 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| markdown | 1,050 | 125,570 | 1,614 | 116,502 | 92.78% |
| rust | 302 | 143,498 | 454 | 4,979 | 3.47% |
| javascript | 309 | 342,333 | 305 | 282,631 | 82.56% |
| json | 271 | 17,496 | 148 | 6,416 | 36.67% |
| markup | 159 | 10,525 | 94 | 1,196 | 11.36% |
| css | 105 | 3,752 | 78 | 1,774 | 47.28% |
| bash | 100 | 5,476 | 41 | 4,173 | 76.21% |
| yaml | 60 | 2,330 | 41 | 870 | 37.34% |
| jsx | 61 | 996 | 40 | 422 | 42.37% |
| text | 48 | 770 | 40 | 301 | 39.09% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Oct 4, 2026 | #1 | 75,565 (+699) | 2,582 | 657,932 | 2,889 | 63.8% | 64.41% | E 3.4 | e103efe |
| Oct 3, 2026 | #2 | 74,456 (+722) | 2,582 | 657,932 | 2,889 | 63.78% | 64.41% | E 3.4 | e103efe |
| Oct 2, 2026 | #9 | 73,810 (+495) | 2,578 | 656,955 | 2,904 | 63.89% | 64.52% | E 3.4 | 508d7e8 |
| Sep 26, 2026 | #10 | 71,273 (+306) | 2,493 | 644,441 | 2,789 | 64.95% | 65.32% | E 3.4 | 9d715cc |
| Sep 24, 2026 | #10 | 70,459 (+304) | 2,365 | 626,313 | 2,643 | 66.26% | 66.96% | E 3.4 | e0881d2 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.