* fix CLI asset sync * fix(cli): normalize line endings in asset sync/check check:assets hashed raw bytes, so identical CSV/JSON/py content with CRLF vs LF (git autocrlf on checkout) was reported as stale drift, blocking the release guard on Windows/mixed checkouts. - fileHash now normalizes CRLF->LF before hashing, so check:assets compares content, not line endings. - sync:assets writes LF-normalized copies instead of a raw byte copy, so re-syncing is deterministic across platforms. All synced assets are text (csv/json/md/py); no binaries affected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * ci: enforce CLI asset sync on PRs Adds a Check asset sync workflow that runs `npm run check:assets` on any PR touching src/ui-ux-pro-max/** or cli/assets/**, so the bundled CLI assets can't silently drift from the source of truth. The check uses only node builtins (no install step) and normalizes line endings before hashing, so it hard-fails on real content drift without the CRLF/LF soft-fail hack other approaches needed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
4.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
UI UX Pro Max is an AI-powered design intelligence toolkit providing searchable databases of UI styles, color palettes, font pairings, chart types, and UX guidelines. It works as a skill/workflow for AI coding assistants (Claude Code, Windsurf, Cursor, etc.).
Search Command
python3 src/ui-ux-pro-max/scripts/search.py "<query>" --domain <domain> [-n <max_results>]
Domain search:
product- Product type recommendations (SaaS, e-commerce, portfolio)style- UI styles (glassmorphism, minimalism, brutalism) + AI prompts and CSS keywordstypography- Font pairings with Google Fonts importscolor- Color palettes by product typelanding- Page structure and CTA strategieschart- Chart types and library recommendationsux- Best practices and anti-patterns
Stack search:
python3 src/ui-ux-pro-max/scripts/search.py "<query>" --stack <stack>
Available stacks: html-tailwind (default), react, nextjs, astro, vue, nuxtjs, nuxt-ui, svelte, swiftui, react-native, flutter, shadcn, jetpack-compose, angular, laravel, javafx
Architecture
src/ui-ux-pro-max/ # Source of Truth
├── data/ # Canonical CSV databases
│ ├── products.csv, styles.csv, colors.csv, typography.csv, ...
│ └── stacks/ # Stack-specific guidelines
├── scripts/
│ ├── search.py # CLI entry point
│ ├── core.py # BM25 + regex hybrid search engine
│ └── design_system.py # Design system generation
└── templates/
├── base/ # Base templates (skill-content.md, quick-reference.md)
└── platforms/ # Platform configs (claude.json, cursor.json, ...)
cli/ # CLI installer (uipro-cli on npm)
├── src/
│ ├── commands/init.ts # Install command with template generation
│ └── utils/template.ts # Template rendering engine
└── assets/ # Bundled assets (~564KB)
├── data/ # Copy of src/ui-ux-pro-max/data/
├── scripts/ # Copy of src/ui-ux-pro-max/scripts/
└── templates/ # Copy of src/ui-ux-pro-max/templates/
.claude/skills/ui-ux-pro-max/ # Claude Code skill (symlinks to src/)
.factory/skills/ui-ux-pro-max/ # Droid (Factory) skill (symlinks to src/)
.shared/ui-ux-pro-max/ # Symlink to src/ui-ux-pro-max/
.claude-plugin/ # Claude Marketplace publishing
The search engine uses BM25 ranking combined with regex matching. Domain auto-detection is available when --domain is omitted.
Sync Rules
Source of Truth: src/ui-ux-pro-max/
When modifying files:
-
Data & Scripts - Edit in
src/ui-ux-pro-max/:data/*.csvanddata/stacks/*.csvscripts/*.py- Changes automatically available via symlinks in
.claude/,.factory/,.shared/
-
Templates - Edit in
src/ui-ux-pro-max/templates/:base/skill-content.md- Common SKILL.md contentbase/quick-reference.md- Quick reference section (Claude only)platforms/*.json- Platform-specific configs
-
CLI Assets - Run sync before publishing:
cd cli npm run sync:assets npm run check:assets -
Reference Folders - No manual sync needed. The CLI generates these from templates during
uipro init.
Prerequisites
Python 3.x (no external dependencies required)
Note: On Windows, use python instead of python3 to run the scripts.
Git Workflow
Never push directly to main. Always:
- Create a new branch:
git checkout -b feat/...orfix/... - Commit changes
- Push branch:
git push -u origin <branch> - Create PR:
gh pr create