@dryui/ui 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dryui/ui",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Zero-dependency styled Svelte 5 components with scoped styles and --dry-* CSS variable theming.",
|
|
5
5
|
"author": "Rob Balfre",
|
|
6
6
|
"license": "MIT",
|
|
@@ -817,13 +817,13 @@
|
|
|
817
817
|
"check:publish-hygiene": "bun run check:publint && bun run check:attw"
|
|
818
818
|
},
|
|
819
819
|
"dependencies": {
|
|
820
|
-
"@dryui/primitives": "^2.0.
|
|
820
|
+
"@dryui/primitives": "^2.0.2"
|
|
821
821
|
},
|
|
822
822
|
"peerDependencies": {
|
|
823
823
|
"svelte": "^5.55.4"
|
|
824
824
|
},
|
|
825
825
|
"devDependencies": {
|
|
826
|
-
"@dryui/lint": "^0.7.
|
|
826
|
+
"@dryui/lint": "^0.7.1",
|
|
827
827
|
"svelte": "^5.55.4",
|
|
828
828
|
"@sveltejs/package": "^2.5.7",
|
|
829
829
|
"svelte-check": "^4.4.6",
|
package/skills/dryui/SKILL.md
CHANGED
|
@@ -9,6 +9,27 @@ Zero-dependency Svelte 5 components. All imports from `@dryui/ui`. Requires a th
|
|
|
9
9
|
|
|
10
10
|
**Tradeoff:** These rules bias toward correctness over speed. For throwaway prototypes, use judgment.
|
|
11
11
|
|
|
12
|
+
## UI Creation Pipeline
|
|
13
|
+
|
|
14
|
+
DryUI work is explicit. Do the design thinking where the user can see it, then validate the result.
|
|
15
|
+
|
|
16
|
+
1. **User brief** — capture audience, job-to-be-done, product/domain, constraints, and any existing design direction.
|
|
17
|
+
2. **DESIGN.md identity** — read or create the local design identity before choosing components. Google-style `DESIGN.md` is a supported optional format, not a required dependency.
|
|
18
|
+
3. **DryUI lookup/plan** — use `dryui info`, `dryui compose`, or MCP `ask` to confirm component contracts, tokens, layout rules, and recipes.
|
|
19
|
+
4. **make-interfaces-feel-better polish intent pass** — state which polish details matter for this screen before implementation. This is an explicit planning step, not hidden taste.
|
|
20
|
+
5. **Implementation** — build with DryUI components, Svelte 5, grid layout, tokens, and accessible composition.
|
|
21
|
+
6. **Deterministic check** — run `dryui check [path]` or MCP `check` to catch contracts, accessibility, tokens, and CSS discipline.
|
|
22
|
+
7. **Visual review** — run `dryui check --visual <url>` or MCP `check` with `visualUrl`; include the make-interfaces-feel-better rubric in the review intent.
|
|
23
|
+
8. **Repair loop** — fix the highest-signal issues, then repeat deterministic check and visual review until the UI matches the brief.
|
|
24
|
+
|
|
25
|
+
Precedence when guidance conflicts:
|
|
26
|
+
|
|
27
|
+
1. User intent and task constraints.
|
|
28
|
+
2. Local `DESIGN.md` identity.
|
|
29
|
+
3. DryUI component contracts, accessibility rules, and token/theming discipline.
|
|
30
|
+
4. Official Svelte MCP guidance for Svelte and SvelteKit syntax/framework questions.
|
|
31
|
+
5. make-interfaces-feel-better polish rubric.
|
|
32
|
+
|
|
12
33
|
## 1. Look Up Before You Write
|
|
13
34
|
|
|
14
35
|
**Never guess a component API. Always verify first.**
|
|
@@ -226,10 +247,12 @@ Use these to look up APIs, discover components, plan setup, and validate code.
|
|
|
226
247
|
|
|
227
248
|
### Recommended workflow
|
|
228
249
|
|
|
229
|
-
1. `dryui info <Component>` or `dryui compose "<query>"
|
|
230
|
-
2.
|
|
231
|
-
3.
|
|
232
|
-
4.
|
|
250
|
+
1. Start from the user brief and local `DESIGN.md` identity, then resolve any component or recipe uncertainty with `dryui info <Component>` or `dryui compose "<query>"`. If MCP is available, `ask --scope component` and `ask --scope recipe` are the equivalent surface.
|
|
251
|
+
2. Before writing code, make an explicit make-interfaces-feel-better polish intent pass: text wrapping, radius, icon motion, numbers, transitions, entrances/exits, shadows, icon alignment, image edges, and token consistency.
|
|
252
|
+
3. Build the route or component with raw CSS grid, `Container` for constrained width, and `@container` for responsive layout.
|
|
253
|
+
4. Run `dryui check [path]` or MCP `check` after implementation to catch composition drift, layout violations, accessibility regressions, and token drift.
|
|
254
|
+
5. Run `dryui check --visual <url>` or MCP `check` with `visualUrl` for rendered review, then repair and repeat until the UI satisfies the brief.
|
|
255
|
+
6. Never guess component shape from memory. DryUI is intentionally strict, and the lookup cost is lower than rework.
|
|
233
256
|
|
|
234
257
|
### CLI (default entry point)
|
|
235
258
|
|
|
@@ -243,6 +266,8 @@ dryui info <component> # Look up component API
|
|
|
243
266
|
dryui compose "date input" # Composition guidance
|
|
244
267
|
dryui detect [path] # Check project setup
|
|
245
268
|
dryui install [path] # Print install plan
|
|
269
|
+
dryui check [path] # Validate file, theme, directory, or workspace
|
|
270
|
+
dryui check --visual <url> # Screenshot a URL and critique rendered polish
|
|
246
271
|
dryui list # List components
|
|
247
272
|
dryui tokens --category color # Browse design tokens
|
|
248
273
|
dryui ambient # SessionStart context
|
|
@@ -260,6 +285,7 @@ Without a global install, prefix any command with `bunx @dryui/cli …` or `npx
|
|
|
260
285
|
| Lookup & composition | `ask --scope component`, `ask --scope recipe`, `ask --scope list` |
|
|
261
286
|
| Validation | `check <file.svelte>`, `check <theme.css>` |
|
|
262
287
|
| Audit | `check`, `check <directory>` |
|
|
288
|
+
| Rendered UI | `check` with `visualUrl`, or direct `check-vision` |
|
|
263
289
|
|
|
264
290
|
Categories: action, input, form, layout, navigation, overlay, display, feedback, interaction, utility
|
|
265
291
|
|
|
@@ -273,6 +299,7 @@ Read these when you need deeper guidance:
|
|
|
273
299
|
- **`rules/accessibility.md`** — Field.Root, ARIA, focus management, pre-ship checklist
|
|
274
300
|
- **`rules/svelte.md`** — Runes, snippets, native browser APIs, styling rules
|
|
275
301
|
- **`rules/design.md`** — Minimal code, no premature abstraction, naming conventions
|
|
302
|
+
- **`rules/design-brief.md`** — User brief, DESIGN.md identity, precedence, and polish review pipeline
|
|
276
303
|
- **`rules/visual-effects-performance.md`** — Tiered budgets and implementation rules for shader, blur, glass, and pointer-reactive effects
|
|
277
304
|
- **`rules/native-web-transitions.md`** — View Transition API, scroll animations, reduced-motion
|
|
278
305
|
|
|
@@ -457,7 +457,7 @@ DryUI is a presentation and accessibility system, not a workflow engine. For dep
|
|
|
457
457
|
- Normalize route/session state in script before rendering DryUI inputs.
|
|
458
458
|
- Reset dependent `Select.Root` values when their parent choice changes; do not rely on stale child state surviving domain changes.
|
|
459
459
|
- Use raw CSS grid to lay out planner sections, and keep orchestration logic in route-level stores or derived state.
|
|
460
|
-
- Run `dryui info <Component>` or `dryui compose "<pattern>"` before introducing a new field shape, then
|
|
460
|
+
- Run `dryui info <Component>` or `dryui compose "<pattern>"` before introducing a new field shape, then run `dryui check [path]` or MCP `check` after the flow is wired. Use `dryui check --visual <url>` or MCP `check` with `visualUrl` when the rendered page needs visual review.
|
|
461
461
|
|
|
462
462
|
```svelte
|
|
463
463
|
<script lang="ts">
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Design Brief Pipeline
|
|
2
|
+
|
|
3
|
+
Use this rule before building or materially changing a UI. It keeps intent, component contracts, and polish review in the same visible loop.
|
|
4
|
+
|
|
5
|
+
## Pipeline
|
|
6
|
+
|
|
7
|
+
1. **User brief** — capture the audience, primary job, product/domain, density, tone, constraints, and success criteria. Ask only for missing information that changes the implementation.
|
|
8
|
+
2. **DESIGN.md identity** — read the project `DESIGN.md` if present. If the project lacks one and the UI has meaningful visual direction, draft the identity in the working notes or create the file when the user asks for durable design guidance. Google-style `DESIGN.md` is an optional supported format, not a dependency.
|
|
9
|
+
3. **DryUI lookup/plan** — use `dryui info`, `dryui compose`, or MCP `ask` before selecting components or recipes. Plan around confirmed component contracts, accessibility, tokens, and grid layout.
|
|
10
|
+
4. **make-interfaces-feel-better polish intent pass** — explicitly list the polish details that apply before implementation. This is a planning step, not hidden preference.
|
|
11
|
+
5. **Implementation** — build with DryUI components, Svelte 5, scoped grid CSS, tokenized styling, and accessible composition.
|
|
12
|
+
6. **Deterministic check** — run `dryui check [path]` or MCP `check` against edited files or the workspace.
|
|
13
|
+
7. **Visual review** — run `dryui check --visual <url>` or MCP `check` with `visualUrl`. Name the user brief and the polish intent in the review prompt when possible.
|
|
14
|
+
8. **Repair loop** — fix issues in priority order, then repeat deterministic check and visual review until the screen satisfies the brief.
|
|
15
|
+
|
|
16
|
+
## Precedence
|
|
17
|
+
|
|
18
|
+
When guidance conflicts, use this order:
|
|
19
|
+
|
|
20
|
+
1. User intent and explicit task constraints.
|
|
21
|
+
2. Local `DESIGN.md` identity.
|
|
22
|
+
3. DryUI component contracts, accessibility rules, and token/theming discipline.
|
|
23
|
+
4. Official Svelte MCP guidance for Svelte and SvelteKit syntax/framework decisions.
|
|
24
|
+
5. make-interfaces-feel-better polish rubric.
|
|
25
|
+
|
|
26
|
+
## Brief Shape
|
|
27
|
+
|
|
28
|
+
Keep the brief short and implementation-oriented:
|
|
29
|
+
|
|
30
|
+
- Who is using this?
|
|
31
|
+
- What are they trying to do?
|
|
32
|
+
- What information or action must be visible first?
|
|
33
|
+
- How dense should the interface be?
|
|
34
|
+
- What brand, product, or domain cues should shape the identity?
|
|
35
|
+
- What constraints are fixed by the user, existing code, or platform?
|
|
36
|
+
|
|
37
|
+
## DESIGN.md Identity
|
|
38
|
+
|
|
39
|
+
Use `DESIGN.md` to preserve durable identity decisions: product personality, visual tone, density, navigation model, content hierarchy, color/token direction, motion posture, and examples of what to avoid.
|
|
40
|
+
|
|
41
|
+
Do not treat `DESIGN.md` as more important than the user's current request. If the user changes direction, follow the user and update the identity only when the change is meant to persist.
|
|
42
|
+
|
|
43
|
+
## Polish Intent
|
|
44
|
+
|
|
45
|
+
The make-interfaces-feel-better pass should be explicit in planning and visual review. Check the applicable details:
|
|
46
|
+
|
|
47
|
+
- balanced headings and pretty body wrapping
|
|
48
|
+
- concentric radius for nested surfaces
|
|
49
|
+
- icon swaps that crossfade without jitter
|
|
50
|
+
- tabular numbers for counters, prices, clocks, and scores
|
|
51
|
+
- transitions for interactive state, not keyframe-only state changes
|
|
52
|
+
- staggered entrances when groups appear
|
|
53
|
+
- smaller exits than entrances
|
|
54
|
+
- shadow treatment for raised surfaces
|
|
55
|
+
- optical icon alignment inside buttons
|
|
56
|
+
- adaptive image edges for media and avatars
|
|
57
|
+
- token consistency across color, radius, shadow, spacing, duration, and easing
|
|
58
|
+
|
|
59
|
+
If a detail does not apply, skip it deliberately. Polish is a review rubric, not decoration.
|
|
@@ -288,10 +288,10 @@ Ensure sufficient contrast between text and background.
|
|
|
288
288
|
|
|
289
289
|
## Validating Theme CSS
|
|
290
290
|
|
|
291
|
-
Use `check <theme.css>`
|
|
291
|
+
Use `dryui check <theme.css>` or MCP `check <theme.css>` to catch theme issues. Without either surface, validate by rebuilding the app with `@dryui/lint` wired and checking the resulting diagnostics:
|
|
292
292
|
|
|
293
293
|
```bash
|
|
294
|
-
check src/styles/global.css
|
|
294
|
+
dryui check src/styles/global.css
|
|
295
295
|
```
|
|
296
296
|
|
|
297
297
|
Common diagnostic codes:
|