@symbo.ls/mcp 1.0.11 → 1.0.14

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.
@@ -0,0 +1,301 @@
1
+ # Default Library — Fundamental Component Layer
2
+
3
+ ## What It Contains
4
+
5
+ The default library (`default.symbo.ls`) provides 127+ pre-built, production-ready components. Included automatically when creating projects via `smbls create` (Default option) or the Symbols platform. Choose "Blank" for an empty project.
6
+
7
+ ---
8
+
9
+ ## Component Tables
10
+
11
+ ### Atoms (Foundation)
12
+
13
+ | Component | Extends | Purpose |
14
+ |---|---|---|
15
+ | `Box` | — | Generic container with CSS-in-props |
16
+ | `Text` | — | Text rendering (H1-H6, P, Caption, etc.) |
17
+ | `Flex` | `Box` | Flexbox layout |
18
+ | `Grid` | `Box` | CSS Grid layout |
19
+ | `Form` | `Box` | Form container |
20
+ | `Hgroup` | `Flex` | Heading group |
21
+ | `Img` | — | Image element |
22
+ | `Svg` | — | SVG container for non-icon SVGs (decorative/structural). Use `Icon` for icons |
23
+ | `Video` | — | Video element |
24
+ | `Iframe` | — | Embedded frame |
25
+ | `Shape` | `Box` | Shape utilities |
26
+
27
+ ### Buttons
28
+
29
+ | Component | Description |
30
+ |---|---|
31
+ | `Button` | Base button with text/icon support |
32
+ | `IconButton` | Icon-only button |
33
+ | `SquareButton` | Fixed-aspect button |
34
+ | `CircleButton` | Circular button |
35
+ | `SubmitButton` | Form submit button |
36
+ | `UploadButton` | File upload trigger |
37
+ | `CounterButton` | Button with counter badge |
38
+ | `ButtonSet` | Group of buttons |
39
+ | `ConfirmationButtons` | Confirm/Cancel pair |
40
+
41
+ ### Inputs & Forms
42
+
43
+ | Component | Description |
44
+ |---|---|
45
+ | `Input` | Text input |
46
+ | `Textarea` | Multi-line input |
47
+ | `NumberInput` | Numeric input |
48
+ | `Checkbox` | Checkbox control |
49
+ | `Radio` | Radio button |
50
+ | `Toggle` | Toggle switch |
51
+ | `Select` | Dropdown select |
52
+ | `Field` | Label + input wrapper |
53
+ | `Search` | Search input with icon |
54
+
55
+ ### Avatar & Social
56
+
57
+ | Component | Description |
58
+ |---|---|
59
+ | `Avatar` | User avatar (extends Img) |
60
+ | `AvatarSet` | Group of avatars |
61
+ | `AvatarStatus` | Avatar with status indicator |
62
+ | `AvatarHgroup` | Avatar + name/description |
63
+
64
+ ### Data Display
65
+
66
+ | Component | Description |
67
+ |---|---|
68
+ | `Badge` | Status/count badge |
69
+ | `StatusDot` | Colored status indicator |
70
+ | `Progress` | Progress bar |
71
+ | `CircleProgress` | Circular progress |
72
+ | `Stars` | Star rating |
73
+ | `UnitValue` | Number + unit display |
74
+
75
+ ### Navigation
76
+
77
+ | Component | Description |
78
+ |---|---|
79
+ | `Link` | Navigation link with router |
80
+ | `LinkSet` | Group of links |
81
+ | `Breadcrumb` | Breadcrumb navigation |
82
+ | `TabSet` | Tab navigation |
83
+ | `Pagination` | Page navigation |
84
+
85
+ ### Feedback & Overlay
86
+
87
+ | Component | Description |
88
+ |---|---|
89
+ | `Modal` | Modal dialog |
90
+ | `Notification` | Notification banner |
91
+ | `Tooltip` | Hover tooltip |
92
+ | `Dropdown` | Dropdown menu |
93
+ | `Accordion` | Expandable sections |
94
+
95
+ ### Icons
96
+
97
+ | Component | Description |
98
+ |---|---|
99
+ | `Icon` | SVG icon from icon set |
100
+ | `IconText` | Icon + text combination |
101
+ | `IconHeading` | Icon + heading |
102
+
103
+ ---
104
+
105
+ ## Extension Chain
106
+
107
+ Components form a three-level inheritance chain:
108
+
109
+ ```
110
+ UIKit Atom (Box, Flex, etc.)
111
+ -> Default Library Component (Button, Avatar, etc.)
112
+ -> Your Project Component (MyButton, ProfileAvatar, etc.)
113
+ ```
114
+
115
+ ```js
116
+ // UIKit defines the base
117
+ // Avatar extends Img with default styling
118
+ // Your component extends Avatar with customization
119
+
120
+ export const ProfileAvatar = {
121
+ extends: 'Avatar',
122
+ boxSize: 'D D',
123
+ round: 'A',
124
+ border: '2px solid',
125
+ borderColor: 'primary',
126
+ }
127
+ ```
128
+
129
+ PascalCase keys auto-extend matching registered components:
130
+
131
+ ```js
132
+ export const MyCard = {
133
+ flow: 'y',
134
+ gap: 'A',
135
+ padding: 'B',
136
+ theme: 'card',
137
+
138
+ // "Avatar" key auto-extends the library Avatar component
139
+ Avatar: {
140
+ boxSize: 'C C',
141
+ },
142
+
143
+ // "Badge" key auto-extends the library Badge component
144
+ Badge: {
145
+ text: 'New',
146
+ theme: 'primary',
147
+ },
148
+
149
+ H: {
150
+ tag: 'h3',
151
+ text: 'Card Title',
152
+ },
153
+ }
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Design System Integration
159
+
160
+ Default library components automatically use your project's design system tokens:
161
+
162
+ ```js
163
+ // designSystem/index.js
164
+ export default {
165
+ color: {
166
+ primary: '#2563EB',
167
+ surface: '#F8FAFC',
168
+ text: '#0F172A',
169
+ },
170
+ theme: {
171
+ primary: {
172
+ background: 'primary',
173
+ color: 'white',
174
+ },
175
+ card: {
176
+ background: 'surface',
177
+ borderRadius: 'A',
178
+ },
179
+ },
180
+ typography: {
181
+ base: 16,
182
+ ratio: 1.25,
183
+ },
184
+ spacing: {
185
+ base: 16,
186
+ ratio: 1.618,
187
+ },
188
+ }
189
+ ```
190
+
191
+ When you use `theme: 'primary'` on a Button, it pulls colors from YOUR design system, not hardcoded values.
192
+
193
+ ---
194
+
195
+ ## Project Structure with Default Library
196
+
197
+ ```
198
+ project/
199
+ ├── symbols.json # { "key": "myapp.symbo.ls", "bundler": "parcel" }
200
+ ├── symbols/
201
+ │ ├── index.js # Entry: create(app, context)
202
+ │ ├── app.js # Root app with router
203
+ │ ├── config.js # { globalTheme: 'dark' }
204
+ │ ├── context.js # Re-exports all modules
205
+ │ ├── state.js # App state
206
+ │ ├── dependencies.js # External packages
207
+ │ ├── components/ # Your custom components (extend library)
208
+ │ │ ├── index.js # Named exports
209
+ │ │ ├── Header.js
210
+ │ │ └── Hero.js
211
+ │ ├── pages/ # Route pages
212
+ │ │ ├── index.js # Route map: { '/': home, '/about': about }
213
+ │ │ ├── home.js
214
+ │ │ └── about.js
215
+ │ ├── designSystem/ # Your tokens override defaults
216
+ │ │ ├── index.js
217
+ │ │ ├── color.js
218
+ │ │ ├── theme.js
219
+ │ │ ├── typography.js
220
+ │ │ └── spacing.js
221
+ │ ├── functions/ # Utility functions
222
+ │ ├── snippets/ # Reusable snippets
223
+ │ └── methods/ # Custom methods
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Router Pattern
229
+
230
+ Pages use the router with default library layout components:
231
+
232
+ ```js
233
+ // pages/index.js
234
+ import { home } from './home.js'
235
+ import { about } from './about.js'
236
+ import { contact } from './contact.js'
237
+
238
+ export default {
239
+ '/': home,
240
+ '/about': about,
241
+ '/contact': contact,
242
+ }
243
+ ```
244
+
245
+ ```js
246
+ // pages/home.js
247
+ export const home = {
248
+ flow: 'y',
249
+ width: '100%',
250
+ minHeight: '100vh',
251
+
252
+ Header: {}, // Uses your Header component
253
+ Hero: {}, // Uses your Hero component
254
+ FeatureGrid: {}, // Uses your FeatureGrid component
255
+ Footer: {}, // Uses your Footer component
256
+ }
257
+ ```
258
+
259
+ ---
260
+
261
+ ## App Entry Point
262
+
263
+ ```js
264
+ // app.js
265
+ export const app = {
266
+ routes: (pages) => pages,
267
+ }
268
+ ```
269
+
270
+ ```js
271
+ // index.js
272
+ import { create } from 'smbls'
273
+ import * as context from './context.js'
274
+ import { app } from './app.js'
275
+
276
+ create(app, context)
277
+ ```
278
+
279
+ ```js
280
+ // context.js
281
+ export { default as state } from './state.js'
282
+ export { default as pages } from './pages/index.js'
283
+ export { default as designSystem } from './designSystem/index.js'
284
+ export * as components from './components/index.js'
285
+ export * as functions from './functions/index.js'
286
+ export * as snippets from './snippets/index.js'
287
+ ```
288
+
289
+ ---
290
+
291
+ ## Usage Rules
292
+
293
+ | Rule | Details |
294
+ |---|---|
295
+ | Never import components | Reference by PascalCase key name |
296
+ | `extends` is required | Use `extends: 'Button'` to inherit library behavior |
297
+ | PascalCase keys auto-extend | `Avatar: {}` automatically extends registered Avatar |
298
+ | Design tokens override | Your designSystem tokens take precedence over defaults |
299
+ | Flat folders only | No subfolders in `components/`, `pages/`, etc. |
300
+ | Named exports for components | `export const MyComp = { ... }` |
301
+ | Default exports for state/pages/config | `export default { ... }` |
@@ -1,64 +1,75 @@
1
- The Design Critique Partner
1
+ # Design Critique Partner
2
2
 
3
- You are a Design Director at Apple reviewing work from your team.
3
+ You are a Design Director at Apple reviewing work from your team. Perform a comprehensive design critique. Be thorough but constructive — treat this as a teaching moment.
4
4
 
5
- Perform a comprehensive design critique of the following:
5
+ ## Input
6
6
 
7
7
  [DESIGN DESCRIPTION, WIREFRAME, OR UPLOADED DESIGN]
8
8
 
9
- Critique framework (be thorough but constructive):
10
-
11
- 1. HEURISTIC EVALUATION
12
- Evaluate against Nielsen's 10 heuristics:
13
- Visibility of system status
14
- □ Match between system and real world
15
- User control and freedom
16
- Consistency and standards
17
- Error prevention
18
- Recognition rather than recall
19
- Flexibility and efficiency of use
20
- Aesthetic and minimalist design
21
- Help users recognize, diagnose, and recover from errors
22
- Help and documentation
23
-
24
- Score each 1-5 and provide specific examples.
25
-
26
- 2. VISUAL HIERARCHY ANALYSIS
27
- • What's the first thing users see? (Is it correct?)
28
- What's the call-to-action hierarchy?
29
- Are visual weights balanced?
30
- Is there adequate white space?
31
-
32
- 3. TYPOGRAPHY AUDIT
33
- Font choices appropriate for brand?
34
- • Type scale creates clear hierarchy?
35
- Line lengths optimal (45-75 characters)?
36
- Contrast sufficient for readability?
37
-
38
- 4. COLOR ANALYSIS
39
- • Palette supports brand personality?
40
- Sufficient contrast for accessibility (WCAG AA)?
41
- • Color used meaningfully (not just decoratively)?
42
- Dark mode considerations?
43
-
44
- 5. USABILITY CONCERNS
45
- Cognitive load assessment (too much information?)
46
- • Interaction clarity (do users know what's clickable?)
47
- Mobile touch targets (minimum 44×44pt?)
48
- • Form usability (label placement, validation)
49
-
50
- 6. STRATEGIC ALIGNMENT
51
- Does this serve business goals?
52
- Does it serve user goals?
53
- • Is the value proposition clear?
54
- Would this differentiate from competitors?
55
-
56
- 7. PRIORITIZED RECOMMENDATIONS
57
- Critical (must fix before launch): [LIST]
58
- Important (fix in next iteration): [LIST]
59
- Polish (nice to have): [LIST]
60
-
61
- 8. REDESIGN DIRECTION
62
- Provide 2 alternative approaches with sketches described in words.
63
-
64
- Tone: Constructive, educational, actionable. This is a teaching moment.
9
+ ## Critique Framework
10
+
11
+ ### 1. Heuristic Evaluation
12
+
13
+ Score each of Nielsen's 10 heuristics 1-5 with specific examples:
14
+
15
+ - Visibility of system status
16
+ - Match between system and real world
17
+ - User control and freedom
18
+ - Consistency and standards
19
+ - Error prevention
20
+ - Recognition rather than recall
21
+ - Flexibility and efficiency of use
22
+ - Aesthetic and minimalist design
23
+ - Help users recognize, diagnose, and recover from errors
24
+ - Help and documentation
25
+
26
+ ### 2. Visual Hierarchy Analysis
27
+
28
+ - Identify what users see first — assess whether it is the correct element
29
+ - Evaluate call-to-action hierarchy
30
+ - Assess visual weight balance
31
+ - Check for adequate white space
32
+
33
+ ### 3. Typography Audit
34
+
35
+ - Evaluate font choices for brand appropriateness
36
+ - Verify type scale creates clear hierarchy
37
+ - Check line lengths (target 45-75 characters)
38
+ - Confirm contrast is sufficient for readability
39
+
40
+ ### 4. Color Analysis
41
+
42
+ - Assess palette alignment with brand personality
43
+ - Verify WCAG AA contrast compliance
44
+ - Evaluate whether color is used meaningfully (not just decoratively)
45
+ - Note dark mode considerations
46
+
47
+ ### 5. Usability Concerns
48
+
49
+ - Assess cognitive load (information overload risk)
50
+ - Check interaction clarity (can users identify clickable elements?)
51
+ - Verify mobile touch targets (minimum 44x44pt)
52
+ - Evaluate form usability (label placement, validation)
53
+
54
+ ### 6. Strategic Alignment
55
+
56
+ - Does this serve business goals?
57
+ - Does it serve user goals?
58
+ - Is the value proposition clear?
59
+ - Would this differentiate from competitors?
60
+
61
+ ### 7. Recommendations
62
+
63
+ Prioritize all findings into three tiers:
64
+
65
+ - **Critical** (must fix before launch): [LIST]
66
+ - **Important** (fix in next iteration): [LIST]
67
+ - **Polish** (nice to have): [LIST]
68
+
69
+ ### 8. Redesign Direction
70
+
71
+ Provide 2 alternative approaches with sketches described in words.
72
+
73
+ ## Tone
74
+
75
+ Keep feedback constructive, educational, and actionable throughout.