mirror of
https://github.com/Manavarya09/design-extract.git
synced 2026-09-19 02:41:14 +08:00
48b92c794b
Reliability fixes that restore trust on real sites: - colors.js: brand-color detection rewritten — ranks chromatic clusters by interactiveBg x100 + saturation x2 + log(usage), requires HSL sat >25 or an interactive-bg hit. Linear primary: #d0d6e0 (gray) -> #e4f222 (lime). Stripe: #533afd. Verified on 5 ground-truth sites. - accessibility.js + crawler.js: crawler now emits hasText per element (direct text-node child with visible chars); WCAG extractor filters decorative glyph spans, transparent overlays, non-text containers. Linear: 25% (171 failing pairs) -> 83% (1 failing pair). - scoring.js: rubric recalibrated against Stripe/Linear/Vercel/GitHub/Apple. Loosened color/shadow/radii/type-scale thresholds; softened spacing no-base penalty when tokenization is present; cssHealth now weighted in the overall. Linear 47->76, Stripe 81->88, Apple 83->86. New CLI flags: - --selector <css>: scope extraction to a DOM subtree. Stripe: 2409 -> 112 elements when scoped to footer. Falls back to full doc if invalid. - --system-chrome: channel: 'chrome' in Playwright launch; skips the bundled Chromium download. - --json: full extraction to stdout (already partial in v7, now first-class and documented). New distribution surfaces (each publishes to its own registry): - vscode-extension/: Extract-from-URL + inject-into-workspace commands. - raycast-extension/: Extract, Score, Copy-CLI commands. - figma-plugin/: URL or paste-JSON -> Figma Variables with multi-mode. - github-action/: "Design regression guard" runs designlang on PRs, diffs tokens vs baseline, comments the delta, optional fail-on-change. - smithery.yaml + smithery.dockerfile + docs/MCP-REGISTRY.md: MCP registry submission checklist. - chrome-extension/PRIVACY.md + STORE_LISTING.md: Chrome/Firefox/Edge store listing prep (extension code already existed in v7.1). - docs/LAUNCH.md: PH + Show HN + Twitter copy + day-of checklist. - docs/demo.tape: VHS tape for the animated README hero. README updated: hero references demo.gif with PNG fallback, adds "Install everywhere" table for the new surfaces, documents the three new flags. .npmignore excludes every companion-surface directory so the npm tarball stays 109KB / 73 files. All 275 tests pass.
1.5 KiB
1.5 KiB
designlang — Design Regression Guard
GitHub Action that runs designlang on every pull request, diffs the extracted design tokens against a committed baseline, and comments the changes.
Example workflow
name: Design Regression Guard
on:
pull_request:
paths:
- 'src/**'
- 'app/**'
- 'tailwind.config.*'
jobs:
design-diff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20' }
- uses: Manavarya09/design-extract/github-action@v1
with:
url: https://preview-${{ github.event.number }}.yoursite.dev
baseline: ./design-tokens.baseline.json
fail-on-change: false
Inputs
| Name | Required | Default | Description |
|---|---|---|---|
url |
✅ | — | URL to extract from. Typically a PR preview deploy. |
baseline |
✅ | — | Path to the committed baseline tokens file. |
comment |
true |
Post a PR comment with the diff. | |
fail-on-change |
false |
Fail the job if any token changed. | |
full |
false |
Pass --full to designlang. |
|
extra-args |
— | Extra CLI args. |
Outputs
changed—true/falsechanged-count— number of changed tokensdiff-path— path to the generated diff markdown
Publishing
git tag v1 && git push --tags
Then list on the GitHub Marketplace via the repo's Actions tab.