30 Commits

Author SHA1 Message Date
M-STYLEZ
12b486b22e
fix(codex): include quick reference gating in generated skill (#410) 2026-07-06 22:33:11 +07:00
Mike Holownych
137597b02f fix: validate design data and support node builds
- add CSV structural validation and all-domain smoke tests
- repair malformed CSV rows in source and bundled CLI assets
- run data validation in CI and prepublish checks
- add npm build wrapper with TypeScript fallback when Bun is unavailable
- fix CLI asset resolution for TypeScript fallback builds
2026-07-03 23:16:28 +00:00
文敏華
6a6167691a Rename motion domain to gsap to avoid collision with PR #296
PR #296 (feat/emil-motion-principles) independently registers a "motion"
domain key in CSV_CONFIG/detect_domain for motion-principles.csv (37
design-principle rows). Both PRs adding the same dict key would cause
one to silently overwrite the other's domain registration if merged
independently, per the automated review on this PR.

The two domains are complementary, not duplicate (design principles vs.
ready-to-use GSAP code snippets), so this renames this PR's domain from
"motion" to "gsap" - a more precise name given every row is GSAP-specific
implementation code. The --motion CLI dial and its "Subtle/Standard/
Complex" tiers are unaffected (unrelated to the domain key; only the
`--domain gsap` search endpoint and its internal lookup changed). No
regressions: --design-system output with no dials set remains
byte-identical to before this feature.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-02 23:36:44 +08:00
文敏華
bd9329c9cb Add motion domain and design dials to design-system generator
Adds a new searchable `motion` domain (motion.csv, 16 GSAP animation
skeletons across hover/scroll-reveal/stagger/page-transition/parallax/
loading, each tagged Subtle/Standard/Complex) plus three optional 1-10
dials on `--design-system` — --variance, --motion, --density — inspired
by taste-skill's DESIGN_VARIANCE/MOTION_INTENSITY/VISUAL_DENSITY sliders.

- --variance biases style search/selection toward centered-minimal (low)
  or bold-asymmetric (high) categories
- --motion attaches a matching GSAP snippet (code + framework notes +
  do/don't) from motion.csv
- --density overrides the --space-* token scale in ASCII/markdown/MASTER.md
  output (spacious <-> dense/dashboard)

All three dials are optional and additive; output with no dials set is
byte-identical to before (verified via regression diff). Synced into
.claude/skills/ui-ux-pro-max and cli/assets alongside src/ui-ux-pro-max
(source of truth) so all three installed copies stay consistent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 22:54:02 +08:00
Munir Abbasi
8a81ed6027
Merge PR #223: Expand products database with 31 new product types and improved keywords
* Add revised products.csv

* add 31 new color profiles
2026-06-28 09:27:07 +07:00
Jan Ivar Z. Carlsen
090a405cc0 feat(stacks): add 5 .NET desktop stacks — WPF, WinUI 3, UWP, Avalonia, Uno Platform
Adds WPF, WinUI 3, UWP, Avalonia, and Uno Platform stacks (17 -> 22 total),
each with its own guidelines CSV, registered in core.py and synced to cli/assets.

- New stack CSVs in src/ and cli/assets/data/stacks/
- search.py / core.py registry updated
- smoke-stacks.sh: EXPECTED_STACK_COUNT 21 -> 22 with a smoke-test workflow
- platform template descriptions and README bumped to 22 technology stacks
2026-06-25 21:51:59 +02:00
Alexander
d86f44368d
fix(scripts): force UTF-8 stdout/stderr in design_system.py on Windows (#390)
design_system.py prints box-drawing characters and swatches (--, OK marks,
block swatches), but unlike search.py it never reconfigured stdout. On a
non-UTF-8 Windows console (cp1252/gbk) running the CLI crashes with
UnicodeEncodeError, the same failure reported in #112 for search.py.

Mirror the wrapper search.py already uses: re-wrap stdout/stderr in a
UTF-8 TextIOWrapper when the console encoding is not UTF-8. Applied to
the source of truth and the synced cli/assets copy.

Verified: the CLI runs clean under PYTHONIOENCODING=cp1252 (exit 0, no
UnicodeEncodeError) while still emitting the box/swatch output;
check:assets passes.

Related to #112 (search.py is already fixed on main; this covers the
remaining design_system.py instance).
2026-06-25 18:30:49 +07:00
Alexander
3a12b63bd8
fix(scripts): guard persist_design_system against None project_name (#388)
persist_design_system crashed with AttributeError: 'NoneType' object has
no attribute 'lower' when the design_system dict carries an explicit
project_name of None (the default of generate(query, project_name=None)).
dict.get("project_name", "default") only substitutes the default for a
MISSING key, not a present-but-None value, so project_name.lower() blew
up.

Coalesce falsy values (None/""/missing) to "default" before slugifying.
Applied to both the source of truth and the bundled cli/assets copy.

The "search blindness" half of #159 (core.py tokenize length filter) is
already resolved on main (`len(w) >= 2`), so this targets the remaining
crash only.

Closes #159

Co-authored-by: YangKuoshih <155388493+YangKuoshih@users.noreply.github.com>
2026-06-25 15:43:33 +07:00
youngledo
53d670cd30
feat: add JavaFX enterprise stack guidance (#316) 2026-06-22 12:00:21 +07:00
Ray Tien
fb1fc58bf9
feat(nuxt-ui): update stack data to v4 (#345)
Breaking changes fixed:
- Row 8/9: icon format corrected from 'lucide:home' (v3) to 'i-lucide-home' (v4 Iconify i-prefix)
- Row 18: useOverlay API updated from .open(Component, {props}) to .create(Component).open({props})

New v4 guidelines added (rows 51-70):
- Auto-registered modules: do not re-add @nuxt/icon @nuxt/fonts @nuxtjs/color-mode
- Official nuxi init templates for project bootstrapping
- Local Iconify JSON install for SSR reliability
- Global icon overrides via appConfig.ui.icons
- New form components: UFileUpload, UInputDate, UInputTags, UColorPicker
- New data components: UTree, UMarquee
- UContextMenu for right-click menus
- Awaiting overlay result Promise for confirmation dialogs
- UCommandPalette grouped items and extractShortcuts
- UHeader/UFooter/UPageAside layout components
- ClientOnly pattern for color mode hydration safety
- Generated theme file (.nuxt/ui/) for slot discovery
- defineShortcuts whenever condition guard
- UApp locale prop for i18n (50+ built-in locales)

Sync cli/assets to match src.
2026-06-22 03:58:29 +07:00
Antony Omeri
10d6ca3105
Fix 3 latent bugs in ui-ux-pro-max (css2 font URLs, 2-char search, persist path) (#321)
All three are in the canonical src/ tree, reproduced on Python 3.14.5:

1. data/typography.csv — all 73 'Google Fonts URL' values were unusable
   fonts.google.com/share *UI* links, not stylesheet hrefs. Replaced with the
   proper fonts.googleapis.com/css2 URLs (extracted verbatim from each row's
   correct 'CSS Import' column), so the URL column is actually loadable.

2. scripts/core.py — BM25 tokenizer kept only words >2 chars, so common design
   terms 'ux', 'ui', 'ai', '3d' tokenized to nothing and returned 0 results
   (e.g. `--domain style "3d"`). Changed >2 to >=2; '3d'/'ai' now match.

3. scripts/search.py — `--persist` without `-p` printed
   'design-system/default/' but actually wrote to the query slug
   (e.g. design-system/fintech-crypto/). Use the same default the writer uses
   so the printed path matches reality.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 22:40:01 +07:00
Runxin Yan
7538cfb360
docs: add Windows Python compatibility note (#280)
Add cross-platform Python command note to skills and docs:
- CLAUDE.md: Add Windows note in Prerequisites
- ui-ux-pro-max/SKILL.md: Add Windows note in Prerequisites
- design/SKILL.md: Add Prerequisites section with Windows note
- banner-design/SKILL.md: Add Prerequisites section with Windows note
- templates/base/skill-content.md: Add Windows note (source template)

Windows uses 'python' instead of 'python3' to run scripts.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-21 20:02:56 +07:00
Duy /zuey/
b7e3af80f6
Merge pull request #184 from Jenser77/feat/design-system-visual-improvements
Improve design system output visuals
2026-04-03 12:08:19 +07:00
Duy Nguyen
01944c4d77 merge: resolve conflicts with main branch
- Merged STACK_CONFIG: kept main's full stack list + added angular & laravel from PR
- Updated platform templates: 161 palettes, 16 stacks across all descriptions
- Listed all 16 stacks in claude.json frontmatter description
2026-03-28 12:39:21 +07:00
Duy /zuey/
49c9fbe61f
Merge pull request #205 from Krishna-Modi12/feat/threejs-stack
feat(stacks): add Three.js r128 stack with 53 guidelines and SKILL.md…
2026-03-28 12:33:28 +07:00
Krishna-hehe
ddef277aef feat(threejs): complete Three.js stack integration
- Add threejs.csv to src/data/stacks/ and cli/assets/data/stacks/
- Register all 14 stacks in STACK_CONFIG (was missing 9: react, nextjs,
  vue, svelte, astro, swiftui, nuxtjs, nuxt-ui, html-tailwind)
- Sync missing 9 stack CSVs from cli/assets to src/data/stacks/
- Update search.py docstring to list all 14 supported stacks
- Update all 15 platform templates: 13 stacks -> 14 stacks, add Three.js
- Remove empty threejs/ placeholder under templates/platforms/

Smoke test: 14/14 stack files resolve, threejs search returns 3 results
2026-03-27 19:40:23 +05:30
Krishna-hehe
acc9c74d31 fix(core): correct threejs STACK_CONFIG format and add missing stacks from main 2026-03-27 19:14:59 +05:30
Goon
035df47a56 fix: address Claude review findings
- Warn when --global and --legacy are used together (init.ts)
- Update metadata across all platform templates (161 palettes, 15 stacks)
- Bump skill.json version from 2.0.0 to 2.5.0
- Re-throw non-ENOENT errors in uninstall.ts removeSkillDir
- Hoist detectAIType call to avoid double invocation in uninstall
- Add clarifying comment for .shared in AI_FOLDERS mapping
2026-03-24 17:43:13 +07:00
Goon
2910a74e57 feat: resolve 8 enhancement issues — Angular, Laravel, KiloCode, global install, uninstall, Warp, Augment, add-skill
- Add Angular stack guidelines (50 rows) with signals, standalone components, defer blocks (#203)
- Add Laravel stack guidelines (50 rows) with Blade, Livewire, Inertia.js (#105)
- Add KiloCode platform support (.kilocode/skills/) as Roo Code fork (#89)
- Add global install mode: `uipro init --global` installs to ~/ (#75)
- Add uninstall command: `uipro uninstall` with auto-detect (#185)
- Add Warp platform support (#88)
- Add Augment platform support (#41)
- Add skill.json manifest for add-skill registry (#95)
- Update README with new platforms, stacks, CLI commands
2026-03-24 17:22:51 +07:00
Goon
c2bb930ef3 fix(templates): add YAML frontmatter to 5 platform configs
Add required name and description frontmatter to windsurf, kiro,
cursor, copilot, and roocode platform templates. Update agent.json
frontmatter with current capability counts.

Closes #204, #188, #43
2026-03-24 17:13:13 +07:00
Jens
e3102cb7ed Improve design system output with Unicode borders, ANSI color swatches, extended palette, and dark/light mode
Upgrade the design system terminal output from basic ASCII to Unicode box-drawing characters,
add ANSI true color swatches with graceful fallback, expand the color palette from 5 to 10
colors (Primary, On Primary, Secondary, Accent, Background, Foreground, Muted, Border,
Destructive, Ring) with CSS variable names, and surface Light/Dark mode support from styles.csv.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 11:08:47 +01:00
Goon
3636ea63e5
Merge branch 'main' into main 2026-03-10 12:19:06 +07:00
Goon
56a1e8f3d3 feat: add Google Fonts Collection with 1923 fonts searchable database
- Add google-fonts.csv with full metadata from Google Fonts API (family,
  category, stroke, classifications, styles, variable axes, subsets,
  designers, popularity, trending, Google Fonts URL)
- Generate searchable keywords per font based on category, stroke,
  classifications, weight count, variable axes, and language subsets
- Add google-fonts domain to CSV_CONFIG and detect_domain() in core.py
- Fix detect_domain() substring matching to use word boundaries (re.search)
  preventing false positives like "toolbar" matching "bar" chart domain
- Update SKILL.md with google-fonts domain docs and description
2026-03-10 11:28:27 +07:00
rianadesigner
5cbdb0ac30 chore: update ui-ux pro max skill for react-native apps
Made-with: Cursor
2026-03-10 11:56:27 +08:00
rianadesigner
2aec7afb93 sync: 161 product types, design system 与 CLI 资产同步,小猫咪预览页
- products.csv: 修复 No.90/No.65 数据,统一 161 产品类型
- colors.csv: 修复 Bitcoin DeFi Mobile 截断,同步 178 色板
- ui-reasoning.csv: 与 products 对齐
- core.py: 扩展 product 域关键词覆盖
- README/SKILL: 更新 161 reasoning rules、178 palettes 等数字
- 移除 stacks 下多框架 CSV,保留 react-native
- 新增 design.csv、_sync_all.py,CLI assets 全量同步
- 新增 preview/xiaomaomi-app.html 小猫咪 App 示例

Made-with: Cursor
2026-03-06 11:03:28 +08:00
sappan
2127b8b9b0 feat: add Droid (Factory) support
Add support for Factory's Droid AI assistant, allowing users to install
the skill via 'uipro init --ai droid' to .factory/skills/ directory.

Changes:
- Add droid.json platform config (src and cli/assets)
- Add 'droid' to AIType and AI_TYPES array
- Add .factory directory detection
- Add droid to AI_TO_PLATFORM mapping

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-02-03 11:54:43 +08:00
Viet Tran
402c49a283 fix: Windows Unicode encoding error for emoji characters
Force UTF-8 encoding for stdout/stderr in search.py to handle
emoji characters (, ✓) on Windows systems that default to cp1252.

Fixes UnicodeEncodeError: 'charmap' codec can't encode character

- Bump CLI version to 2.2.3

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:25:32 +07:00
Viet Tran
28fb9373bd fix: self-contained installation for all platforms
- Remove .shared folder dependency - all platforms now self-contained
- Each platform installation includes its own data/ and scripts/
- Update platform configs: reference → full install type
- Simplify template.ts: remove ensureSharedExists logic
- Update Cursor to Skill Mode (auto-activate)
- Update README to reflect Cursor in Skill Mode
- Bump CLI version to 2.2.2

Fixes issue where users couldn't find search.py in shared folder.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:23:33 +07:00
Viet Tran
b54b73715a
docs: update README, fix counts, change Windsurf to skill mode (#129)
- Remove Manual Installation section from README
- Add 67 styles table with # | Style | Best For format
- Update Supported Stacks table with all 13 stacks
- Simplify Usage section: group by Skill mode vs Workflow mode
- Fix counts: 57 font pairings (was 56), 99 UX guidelines (was 98)
- Change Windsurf from Workflow to Skill mode
- Update CLAUDE.md: remove prompt domain, add missing stacks
- Bump CLI version to 2.2.1

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 08:41:37 +07:00
Viet Tran
b2a05eceeb
feat: reorganize codebase with single source of truth + merge prompts into styles (#116)
BREAKING CHANGES:
- Moved canonical data/scripts to src/ui-ux-pro-max/
- Removed duplicate folders (.codex/, .gemini/, .trae/, .codebuddy/, .continue/, skills/, .qoder/)
- CLI now uses template system instead of copying pre-built folders

New features:
- Merged prompts.csv into styles.csv with 4 new columns:
  - AI Prompt Keywords
  - CSS/Technical Keywords
  - Implementation Checklist
  - Design System Variables
- All 67 styles now have complete prompt data
- Added Astro stack (53 guidelines)
- Added 10 new 2025 UI trend styles

CLI changes:
- New template rendering system (cli/src/utils/template.ts)
- Reduced cli/assets from ~34MB to ~564KB
- Assets now contain only: data/, scripts/, templates/

File structure:
- src/ui-ux-pro-max/ - Single source of truth
- .claude/skills/ - Symlinks to src/ for development
- .shared/ - Symlink to src/ui-ux-pro-max/

Bumped CLI version: 2.1.3 → 2.2.0

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 22:05:41 +07:00