@sylphx/flow 3.6.1 → 3.7.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @sylphx/flow
2
2
 
3
+ ## 3.7.0 (2026-01-28)
4
+
5
+ ### ✨ Features
6
+
7
+ - sweep modern UI patterns across all commands ([80f4264](https://github.com/SylphxAI/flow/commit/80f4264e1cf6450d83a09507551740b12be54820))
8
+ - **excellence:** add accessibility and mobile dimensions ([e288eab](https://github.com/SylphxAI/flow/commit/e288eabd53fe9f0eb923f41c9ef1dad8a343724c))
9
+ - add /polish command for modern UI excellence ([040ea22](https://github.com/SylphxAI/flow/commit/040ea2280a7c4a7532caa8ed0b33829f3ec79633))
10
+
3
11
  ## 3.6.1 (2026-01-28)
4
12
 
5
13
  ### ♻️ Refactoring
@@ -144,6 +144,9 @@ Vercel CLI, Neon CLI, GitHub CLI
144
144
  * Semantic HTML — use correct elements (nav, main, article, section, aside, header, footer)
145
145
  * Data presentation must use Data Tables
146
146
  * Large datasets require cursor-based pagination, virtualization, and infinite scrolling
147
+ * Modern interactions — inline editing, drag & drop, undo everywhere, keyboard shortcuts
148
+ * Feedback — skeleton loading, optimistic UI, smooth transitions
149
+ * Accessibility — keyboard navigation, screen reader support, WCAG contrast
147
150
 
148
151
  ## Public-Facing & Exposure
149
152
 
@@ -50,17 +50,28 @@ Scan the entire project for issues. Find problems, don't fix them. Open GitHub i
50
50
 
51
51
  ### 4. UI/UX Issues
52
52
  - Confusing user flows
53
- - Missing loading states
54
- - Missing error states
55
- - Missing empty states
53
+ - Missing loading states (use skeleton, not spinner)
54
+ - Missing error states (with recovery actions)
55
+ - Missing empty states (with guidance)
56
56
  - Inconsistent spacing/typography
57
57
  - Non-responsive layouts
58
- - Accessibility violations (contrast, keyboard nav)
58
+ - Accessibility violations (contrast, keyboard nav, screen reader)
59
59
  - Missing feedback on user actions
60
60
  - Unclear CTAs or labels
61
61
  - Information overload
62
62
 
63
- ### 5. Product Design
63
+ ### 5. Modern UI Patterns (Lack of)
64
+ - No inline editing (everything requires modal/page)
65
+ - No drag & drop where it makes sense
66
+ - No undo capability (destructive actions are permanent)
67
+ - No auto-save (users must remember to save)
68
+ - No keyboard shortcuts for power users
69
+ - No command palette (⌘K) for quick navigation
70
+ - Outdated inputs (dropdowns instead of combobox with search)
71
+ - No optimistic UI (waiting for server on every action)
72
+ - Jarring transitions (no smooth state changes)
73
+
74
+ ### 6. Product Design
64
75
  - Unclear value proposition
65
76
  - Friction in core user journey
66
77
  - Missing onboarding guidance
@@ -70,7 +81,7 @@ Scan the entire project for issues. Find problems, don't fix them. Open GitHub i
70
81
  - Power user needs unmet
71
82
  - Beginner barriers too high
72
83
 
73
- ### 6. Performance
84
+ ### 7. Performance
74
85
  - Slow page loads
75
86
  - Unnecessary re-renders
76
87
  - Large bundle sizes
@@ -79,7 +90,7 @@ Scan the entire project for issues. Find problems, don't fix them. Open GitHub i
79
90
  - Missing caching opportunities
80
91
  - Unoptimized images/assets
81
92
 
82
- ### 7. Security
93
+ ### 8. Security
83
94
  - Exposed secrets or credentials
84
95
  - Missing input validation
85
96
  - XSS vulnerabilities
@@ -88,7 +99,7 @@ Scan the entire project for issues. Find problems, don't fix them. Open GitHub i
88
99
  - Missing rate limiting
89
100
  - Overly permissive CORS
90
101
 
91
- ### 8. Developer Experience
102
+ ### 9. Developer Experience
92
103
  - Missing or outdated documentation
93
104
  - Unclear setup instructions
94
105
  - Flaky or missing tests
@@ -96,7 +107,7 @@ Scan the entire project for issues. Find problems, don't fix them. Open GitHub i
96
107
  - Missing type definitions
97
108
  - Confusing folder structure
98
109
 
99
- ### 9. Public-Facing & Exposure
110
+ ### 10. Public-Facing & Exposure
100
111
  - **SEO**: Missing/poor title tags, meta descriptions, structured data
101
112
  - **Social Sharing**: Missing OG tags, Twitter cards, poor share previews
102
113
  - **Landing/Home**: Unclear value prop above the fold, weak CTAs
@@ -94,6 +94,16 @@ mcp__playwright__browser_take_screenshot # Capture evidence
94
94
  - Responsive issues
95
95
  - Inconsistent styling
96
96
 
97
+ ### Modern UI Patterns (Test for)
98
+ - Can you edit inline or must open modal/page?
99
+ - Can you drag & drop to reorder?
100
+ - Is there undo after destructive actions?
101
+ - Does it auto-save or require manual save?
102
+ - Do keyboard shortcuts work (⌘K, ⌘S, etc.)?
103
+ - Are loading states smooth (skeleton) or jarring (spinner)?
104
+ - Are transitions animated or instant jumps?
105
+ - Do inputs have search/autocomplete where useful?
106
+
97
107
  ## Browser Tools Reference
98
108
 
99
109
  ```
@@ -44,6 +44,19 @@ Based on this specific project's nature, determine what "excellence" means here.
44
44
  - Would users choose this over competitors?
45
45
  - Is it intuitive, fast, polished?
46
46
  - Are edge cases handled gracefully?
47
+ - Does it feel **modern**? (inline editing, drag & drop, ⌘K, undo everywhere)
48
+ - Or does it feel **dated**? (modal forms, no shortcuts, destructive actions)
49
+
50
+ ### Accessibility & Inclusivity
51
+ - Can everyone use this? Keyboard users? Screen reader users?
52
+ - Does it meet WCAG standards (contrast, focus, labels)?
53
+ - Does it respect user preferences (reduced motion, dark mode)?
54
+ - Is it an afterthought or designed-in from the start?
55
+
56
+ ### Mobile & Responsive
57
+ - Does it work beautifully on all screen sizes?
58
+ - Are touch interactions first-class, not degraded?
59
+ - Is mobile a real use case or an afterthought?
47
60
 
48
61
  ### Performance
49
62
  - Is it best-in-class or just acceptable?
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: polish
3
+ description: Elevate UI from functional to delightful - modern patterns and interactions
4
+ ---
5
+
6
+ # Polish: Elevate UI to Modern Excellence
7
+
8
+ Transform functional UI into delightful, state-of-the-art interfaces. This is not about fixing bugs — it's about raising the bar from "it works" to "it's a joy to use".
9
+
10
+ ## Philosophy
11
+
12
+ > **"Reduce user thinking, increase system intelligence."**
13
+
14
+ Modern UI is:
15
+ - **Direct** — interact with the thing itself, not a separate control
16
+ - **Responsive** — immediate feedback, never leave users wondering
17
+ - **Forgiving** — undo everywhere, mistakes are recoverable
18
+ - **Smart** — anticipate needs, reduce manual input
19
+ - **Fluid** — smooth transitions, not jarring jumps
20
+
21
+ ## Upgrade Dimensions
22
+
23
+ ### 1. Direct Manipulation
24
+
25
+ **Before → After:**
26
+ - Upload button → Click avatar/image to change
27
+ - Edit button → Click text to edit inline
28
+ - Reorder with arrows → Drag & drop
29
+ - Separate settings page → Contextual controls where needed
30
+
31
+ **Principle:** Users should manipulate the object itself, not a proxy control.
32
+
33
+ ### 2. Rich Feedback
34
+
35
+ **Before → After:**
36
+ - Spinner → Skeleton/shimmer loading
37
+ - Submit and wait → Optimistic update (instant, sync in background)
38
+ - Alert box → Toast notification (non-blocking)
39
+ - Page reload → Smooth transition/animation
40
+ - Binary states → Progress indicators with context
41
+
42
+ **Principle:** Every action should have immediate, visible response.
43
+
44
+ ### 3. Modern Input Patterns
45
+
46
+ **Before → After:**
47
+ - Text field for tags → Chip/tag input with autocomplete
48
+ - Dropdown select → Combobox with search and create
49
+ - File upload button → Drag & drop zone + paste support
50
+ - Date text input → Visual picker + natural language ("next monday")
51
+ - Manual everything → Smart defaults + auto-complete
52
+
53
+ **Principle:** Inputs should be as intelligent as possible.
54
+
55
+ ### 4. Information Architecture
56
+
57
+ **Before → After:**
58
+ - All fields visible → Progressive disclosure (show when needed)
59
+ - Fixed layout → Adaptive layout based on content/task
60
+ - Pagination → Infinite scroll with virtualization
61
+ - Menu diving → Command palette (⌘K) for quick access
62
+ - Nested menus → Flat structure + contextual actions
63
+
64
+ **Principle:** Show the right information at the right time.
65
+
66
+ ### 5. Trust & Control
67
+
68
+ **Before → After:**
69
+ - "Are you sure?" dialogs → Undo everywhere (Gmail style)
70
+ - Save button → Auto-save with visible status
71
+ - Silent operations → Visible system status (syncing, saved, offline)
72
+ - Error = dead end → Recovery suggestions + retry options
73
+ - Single version → Version history + restore
74
+
75
+ **Principle:** Users should feel safe to explore and experiment.
76
+
77
+ ### 6. Visual Polish
78
+
79
+ **Before → After:**
80
+ - Flat/harsh shadows → Subtle depth (light shadows, blur)
81
+ - Color as decoration → Color as information (status, priority)
82
+ - Uniform text → Clear typography hierarchy
83
+ - Cramped layout → Consistent spacing system (breathing room)
84
+ - Static states → Purposeful motion (guide attention, show relationships)
85
+
86
+ **Principle:** Visual design should reduce cognitive load, not add to it.
87
+
88
+ ### 7. Power User Enablement
89
+
90
+ **Before → After:**
91
+ - Mouse only → Keyboard shortcuts for common actions
92
+ - One item at a time → Bulk selection and actions
93
+ - Fixed views → Customizable columns/layouts
94
+ - No way out → Export/import data
95
+ - Hidden features → Discoverable via command palette
96
+
97
+ **Principle:** Reward expertise without punishing beginners.
98
+
99
+ ### 8. Mobile & Touch
100
+
101
+ **Before → After:**
102
+ - Desktop-only design → Responsive from the start
103
+ - Click targets → Touch-friendly tap targets (44px+)
104
+ - Hover states only → Touch gestures (swipe, long-press)
105
+ - Desktop modals → Bottom sheets on mobile
106
+ - Mouse precision → Finger-friendly spacing
107
+
108
+ **Principle:** Touch is not a degraded experience — it's a different one.
109
+
110
+ ## Process
111
+
112
+ ### 1. Audit Current State
113
+ Walk through the UI as a user:
114
+ - Where do I have to click too many times?
115
+ - Where am I waiting without feedback?
116
+ - Where do I feel friction or annoyance?
117
+ - What feels dated compared to best-in-class apps?
118
+
119
+ ### 2. Prioritize by Impact
120
+ Focus on:
121
+ - High-frequency interactions (used daily)
122
+ - Pain points (users complain or work around)
123
+ - First impressions (onboarding, landing)
124
+
125
+ ### 3. Apply Modern Patterns
126
+ For each area:
127
+ - Identify the current pattern
128
+ - Choose the modern equivalent
129
+ - Implement with smooth transitions
130
+ - Ensure accessibility is maintained
131
+
132
+ ### 4. Verify Quality
133
+ - Interactions feel snappy (< 100ms feedback)
134
+ - Animations are smooth (60fps)
135
+ - Works with keyboard navigation
136
+ - Responsive across screen sizes
137
+ - Accessible (screen readers, contrast)
138
+
139
+ ## Reference: Best-in-Class Examples
140
+
141
+ | Pattern | See How It's Done |
142
+ |---------|-------------------|
143
+ | Command Palette | Linear, Raycast, VS Code (⌘K) |
144
+ | Inline Editing | Notion, Airtable |
145
+ | Drag & Drop | Trello, Figma |
146
+ | Optimistic UI | Twitter/X likes, Gmail send |
147
+ | Skeleton Loading | Facebook, LinkedIn |
148
+ | Tag Input | GitHub labels, Notion tags |
149
+ | Auto-save | Google Docs, Figma |
150
+
151
+ ## Accessibility is Non-Negotiable
152
+
153
+ Modern ≠ Inaccessible. Every polish must maintain:
154
+ - **Keyboard navigation** — all interactions work without mouse
155
+ - **Screen reader support** — proper ARIA labels, announcements
156
+ - **Reduced motion** — respect `prefers-reduced-motion`
157
+ - **Color contrast** — WCAG AA minimum (4.5:1 text, 3:1 UI)
158
+ - **Focus indicators** — visible, clear focus states
159
+
160
+ ## Remember
161
+
162
+ * **Polish is not decoration** — it's reducing friction
163
+ * **Motion with purpose** — guide attention, show relationships
164
+ * **Accessibility first** — modern doesn't mean inaccessible
165
+ * **Performance is UX** — slow animations are worse than none
166
+ * **Consistency compounds** — one pattern, used everywhere
167
+ * **Steal from the best** — Linear, Figma, Notion set the bar
@@ -70,7 +70,16 @@ Evaluate product design holistically — from user experience to business impact
70
70
  - [ ] **Recovery** — Helpful error messages with solutions?
71
71
  - [ ] **Help** — Documentation accessible when needed?
72
72
 
73
- ## 4. Accessibility & Inclusivity
73
+ ## 4. Modern Interaction Patterns
74
+
75
+ - **Direct manipulation**: Can users interact with content directly (inline edit, drag to reorder)?
76
+ - **Instant feedback**: Optimistic UI, skeleton loading, smooth transitions?
77
+ - **Power user support**: Keyboard shortcuts, command palette (⌘K)?
78
+ - **Trust**: Undo everywhere, auto-save, visible sync status?
79
+ - **Smart inputs**: Search in dropdowns, autocomplete, paste to upload?
80
+ - Does it feel like a 2025 app or a 2015 form?
81
+
82
+ ## 5. Accessibility & Inclusivity
74
83
 
75
84
  - Works without mouse (keyboard navigation)?
76
85
  - Works with screen readers?
@@ -80,14 +89,14 @@ Evaluate product design holistically — from user experience to business impact
80
89
  - Works on old devices/browsers?
81
90
  - Internationalization-ready?
82
91
 
83
- ## 5. Competitive Edge
92
+ ## 6. Competitive Edge
84
93
 
85
94
  - What do competitors do better? Can we match or exceed?
86
95
  - What do we do uniquely well? Is it emphasized?
87
96
  - What's missing in the market that we could own?
88
97
  - If a user tried competitor after us, would they come back? Why?
89
98
 
90
- ## 6. Public-Facing & Exposure
99
+ ## 7. Public-Facing & Exposure
91
100
 
92
101
  - **Landing Page**: Does it convert? Value prop clear in 5 seconds?
93
102
  - **SEO**: Are we discoverable? Right keywords targeted?
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylphx/flow",
3
- "version": "3.6.1",
3
+ "version": "3.7.0",
4
4
  "description": "One CLI to rule them all. Unified orchestration layer for AI coding assistants. Auto-detection, auto-installation, auto-upgrade.",
5
5
  "type": "module",
6
6
  "bin": {