发布

  • fix(design-system): resolve palette and anti-patterns against the style's mode (#428) (#434)

    frostbyte_neo 发布于 2026-07-31 11:00:15 +00:00

    generate() ranked style, palette and anti-patterns independently, so a
    dark-primary style could come back with a light palette and a
    "Dark mode by default" anti-pattern in the same output. The palette is
    what users copy into CSS variables, so the output shipped a light theme
    with dark-theme styling instructions attached.

    Resolve the mode first -- from the query keywords and the style's own
    Light/Dark Mode columns -- then pick a palette whose Background matches
    it and drop mode-contradicting anti-pattern clauses.

    Only the dark case filters palettes. Light keeps the existing top-hit
    behaviour so queries that never mention a mode are untouched, and dark
    falls back to the top hit when colors.csv has no dark ramp for the
    product type.

    Adds scripts/tests/test_design_system_mode.py (stdlib unittest, matching
    test_core.py) and syncs cli/assets + .claude/skills via sync-assets.mjs.

    下载附件