climaybe 1.7.2 → 1.8.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.
Files changed (39) hide show
  1. package/README.md +9 -7
  2. package/bin/version.txt +1 -1
  3. package/package.json +6 -7
  4. package/src/commands/add-cursor-skill.js +12 -7
  5. package/src/commands/init.js +10 -5
  6. package/src/cursor/rules/00-rule-index.mdc +24 -0
  7. package/src/cursor/rules/accessibility-rules.mdc +527 -0
  8. package/src/cursor/rules/commit-rules.mdc +286 -0
  9. package/src/cursor/rules/cursor-rule-template.mdc +66 -0
  10. package/src/cursor/rules/examples/section-example.liquid +52 -0
  11. package/src/cursor/rules/examples/snippet-example.liquid +83 -0
  12. package/src/cursor/rules/figma-design-system.mdc +182 -0
  13. package/src/cursor/rules/global-rules-reference.mdc +62 -0
  14. package/src/cursor/rules/javascript-standards.mdc +1125 -0
  15. package/src/cursor/rules/js-refactor-tasks.mdc +123 -0
  16. package/src/cursor/rules/linear-task-creation.mdc +105 -0
  17. package/src/cursor/rules/liquid-doc-rules.mdc +595 -0
  18. package/src/cursor/rules/liquid.mdc +228 -0
  19. package/src/cursor/rules/project-overview.mdc +81 -0
  20. package/src/cursor/rules/schemas.mdc +150 -0
  21. package/src/cursor/rules/sections.mdc +25 -0
  22. package/src/cursor/rules/snippets.mdc +134 -0
  23. package/src/cursor/rules/tailwindcss-rules.mdc +410 -0
  24. package/src/cursor/skills/accessibility-pass/SKILL.md +54 -0
  25. package/src/cursor/skills/changelog-release/SKILL.md +50 -0
  26. package/src/cursor/skills/commit/SKILL.md +27 -0
  27. package/src/cursor/skills/commit-in-groups/SKILL.md +55 -0
  28. package/src/cursor/skills/linear-create-task/SKILL.md +81 -0
  29. package/src/cursor/skills/liquid-doc-comments/SKILL.md +37 -0
  30. package/src/cursor/skills/locale-translation-prep/SKILL.md +49 -0
  31. package/src/cursor/skills/schema-section-change/SKILL.md +39 -0
  32. package/src/cursor/skills/section-from-spec/SKILL.md +39 -0
  33. package/src/cursor/skills/theme-check-fix/SKILL.md +47 -0
  34. package/src/index.js +3 -2
  35. package/src/lib/commit-tooling.js +0 -44
  36. package/src/lib/config.js +1 -1
  37. package/src/lib/cursor-bundle.js +47 -0
  38. package/src/lib/prompts.js +3 -2
  39. package/src/workflows/shared/version-bump.yml +5 -2
@@ -0,0 +1,595 @@
1
+ ---
2
+ globs: snippets/*.liquid,blocks/*.liquid
3
+ alwaysApply: false
4
+ ---
5
+ # LiquidDoc Documentation Rules for Electric Maybe Shopify Theme
6
+
7
+ ## Overview
8
+ This document establishes comprehensive documentation standards for all Liquid snippets and blocks in the Electric Maybe Shopify theme project. Following these rules ensures consistent, maintainable, and developer-friendly code documentation that integrates with Shopify's LiquidDoc tooling.
9
+
10
+ ## Core Documentation Standards
11
+
12
+ ### Required Structure for All Liquid Files
13
+ Every snippet (`.liquid` files in `snippets/`) and block (`.liquid` files in `blocks/`) must include LiquidDoc documentation at the top of the file:
14
+
15
+ ```liquid
16
+ {%- doc -%}
17
+ [Component description - one clear sentence explaining purpose]
18
+
19
+ [Detailed description - 2-3 sentences explaining functionality, use cases, and key features]
20
+
21
+ @param {type} param_name - Parameter description
22
+ @param {type} [optional_param] - Optional parameter description
23
+
24
+ @example
25
+ {% render 'component-name', param: value %}
26
+
27
+ @example
28
+ {% render 'component-name',
29
+ param1: value1,
30
+ param2: value2
31
+ %}
32
+ {%- enddoc -%}
33
+ ```
34
+
35
+ ### Documentation Tag Requirements
36
+ - **Required**: All snippets and blocks must have `{%- doc -%}` block
37
+ - **Position**: Must be the first content in the file (after any initial comments)
38
+ - **Format**: Use `{%- doc -%}` and `{%- enddoc -%}` with whitespace control
39
+ - **Content**: Must include description, parameters, and at least one example
40
+
41
+ ## Parameter Documentation Standards
42
+
43
+ ### Parameter Format
44
+ ```
45
+ @param {type} param_name - Description of the parameter
46
+ @param {type} [optional_param] - Optional parameter description
47
+ ```
48
+
49
+ ### Supported Parameter Types
50
+ - `{string}` - Text values, URLs, class names
51
+ - `{number}` - Numeric values, sizes, counts
52
+ - `{boolean}` - True/false values, flags
53
+ - `{object}` - Complex Liquid objects (product, collection, etc.)
54
+
55
+ ### Parameter Naming Conventions
56
+ - Use `snake_case` for parameter names
57
+ - Wrap optional parameters in square brackets: `[param_name]`
58
+ - Use descriptive names that clearly indicate purpose
59
+ - Avoid abbreviations unless widely understood
60
+
61
+ ### Parameter Description Requirements
62
+ - Clear, concise explanation of purpose
63
+ - Include default values when applicable
64
+ - Mention any constraints or limitations
65
+ - Reference related parameters when relevant
66
+
67
+ ## Example Documentation Standards
68
+
69
+ ### Example Format Requirements
70
+ - Include at least one basic usage example
71
+ - Include one complex example showing multiple parameters
72
+ - Use realistic, practical values
73
+ - Demonstrate common use cases
74
+ - Show proper Liquid syntax formatting
75
+
76
+ ### Multi-line Example Format
77
+ ```liquid
78
+ @example
79
+ {% render 'component-name',
80
+ param1: 'value1',
81
+ param2: 42,
82
+ param3: true
83
+ %}
84
+ ```
85
+
86
+ ## Component-Specific Documentation Rules
87
+
88
+ ### Atomic Components (`a--*.liquid`)
89
+ - Focus on reusability and flexibility
90
+ - Document all styling parameters
91
+ - Include accessibility considerations
92
+ - Show responsive behavior examples
93
+
94
+ ### Molecular Components (`m--*.liquid`)
95
+ - Document composition of atomic components
96
+ - Explain interaction patterns
97
+ - Include state management parameters
98
+ - Show integration examples
99
+
100
+ ### Section Components (`s--*.liquid`)
101
+ - Document layout and structure parameters
102
+ - Include content management parameters
103
+ - Show responsive breakpoint behavior
104
+ - Document theme customizer integration
105
+
106
+ ### Block Components (`blocks/*.liquid`)
107
+ - Document content editing parameters
108
+ - Include layout and styling options
109
+ - Show theme editor integration
110
+ - Document dynamic content handling
111
+
112
+ ## Accessibility Documentation
113
+
114
+ ### Required Accessibility Parameters
115
+ For components that affect accessibility, document:
116
+ - `aria_label` - Screen reader text
117
+ - `aria_hidden` - Visibility control
118
+ - `role` - ARIA role attributes
119
+ - `tabindex` - Keyboard navigation
120
+
121
+ ### Accessibility Examples
122
+ ```liquid
123
+ @example
124
+ {% render 'a--icon',
125
+ icon: 'search',
126
+ aria_label: 'Search products',
127
+ class: 'sr-only'
128
+ %}
129
+ ```
130
+
131
+ ## Performance Documentation
132
+
133
+ ### Performance Parameters
134
+ Document performance-related parameters:
135
+ - `lazy_loading` - Image loading behavior
136
+ - `preload` - Resource preloading
137
+ - `debounce` - Event handling optimization
138
+ - `cache` - Caching behavior
139
+
140
+ ## Error Handling Documentation
141
+
142
+ ### Error Parameters
143
+ Document error handling parameters:
144
+ - `fallback` - Fallback content
145
+ - `error_message` - Error display text
146
+ - `required` - Parameter requirement flags
147
+
148
+ ## Theme Integration Documentation
149
+
150
+ ### Theme Customizer Parameters
151
+ Document theme editor integration:
152
+ - `settings` - Theme setting references
153
+ - `customizable` - Customization flags
154
+ - `presets` - Preset configurations
155
+
156
+ ## Code Quality Standards
157
+
158
+ ### Documentation Validation
159
+ - All parameters must be used in the component
160
+ - Parameter types must match usage
161
+ - Examples must be syntactically correct
162
+ - Descriptions must be clear and accurate
163
+
164
+ ### Consistency Requirements
165
+ - Use consistent terminology across components
166
+ - Follow established naming conventions
167
+ - Maintain consistent formatting
168
+ - Use consistent example patterns
169
+
170
+ ## File Organization Standards
171
+
172
+ ### Documentation Structure
173
+ 1. **Component Description** - One clear sentence
174
+ 2. **Detailed Description** - 2-3 sentences explaining functionality
175
+ 3. **Required Parameters** - All mandatory parameters
176
+ 4. **Optional Parameters** - All optional parameters with defaults
177
+ 5. **Basic Example** - Simple usage demonstration
178
+ 6. **Advanced Example** - Complex usage with multiple parameters
179
+
180
+ ### Documentation Comments
181
+ - Use clear, professional language
182
+ - Avoid technical jargon unless necessary
183
+ - Include practical use cases
184
+ - Reference related components when relevant
185
+
186
+ ## Integration with Development Tools
187
+
188
+ ### Theme Check Integration
189
+ Documentation must pass all Theme Check validations:
190
+ - `UniqueDocParamNames` - No duplicate parameter names
191
+ - `ValidDocParamTypes` - Valid parameter types
192
+ - `UnusedDocParam` - All documented parameters used
193
+ - `MissingRenderSnippetArguments` - Required parameters provided
194
+
195
+ ### Editor Integration
196
+ Documentation enables:
197
+ - Hover documentation in code editors
198
+ - Code completion for parameters
199
+ - Parameter validation warnings
200
+ - Type checking for values
201
+
202
+ ## Maintenance Standards
203
+
204
+ ### Documentation Updates
205
+ - Update documentation when parameters change
206
+ - Add new parameters to documentation
207
+ - Remove deprecated parameters
208
+ - Update examples for new functionality
209
+
210
+ ### Review Process
211
+ - Review documentation during code reviews
212
+ - Validate examples work correctly
213
+ - Ensure parameter descriptions are accurate
214
+ - Check for consistency across components
215
+
216
+ ## Examples of Good Documentation
217
+
218
+ ### Atomic Component Example
219
+ ```liquid
220
+ {%- doc -%}
221
+ Icon component for displaying SVG icons with customizable styling and animations.
222
+
223
+ This component provides a comprehensive set of icons including social media, navigation, UI elements, and e-commerce specific icons. Icons are rendered as inline SVG with customizable colors, sizes, and stroke widths.
224
+
225
+ @param {string} icon - The icon name to display (required)
226
+ @param {string} [class] - Additional CSS classes to apply to the SVG element
227
+ @param {string} [color] - Icon color (defaults to 'currentColor')
228
+ @param {number} [width] - Icon width in pixels (defaults to 24)
229
+ @param {number} [height] - Icon height in pixels (defaults to 24)
230
+ @param {string} [stroke] - Stroke width classes (defaults to 'stroke-base lg:stroke-lg')
231
+ @param {boolean} [animate] - Whether to apply animation classes for interactive states
232
+
233
+ @example
234
+ {% render 'a--icon', icon: 'search' %}
235
+
236
+ @example
237
+ {% render 'a--icon',
238
+ class: 'hover:opacity-50',
239
+ icon: 'chevron-d',
240
+ color: '#000000',
241
+ stroke: 'stroke-lg',
242
+ width: 32,
243
+ height: 32,
244
+ animate: true
245
+ %}
246
+ {%- enddoc -%}
247
+ ```
248
+
249
+ ### Molecular Component Example
250
+ ```liquid
251
+ {%- doc -%}
252
+ Product card component for displaying product information in grid layouts.
253
+
254
+ This component renders a complete product card with image, title, price, and action buttons. It supports various display modes, hover effects, and responsive layouts. Includes built-in lazy loading and accessibility features.
255
+
256
+ @param {object} product - Product object from Shopify (required)
257
+ @param {string} [class] - Additional CSS classes for the card container
258
+ @param {boolean} [show_vendor] - Display vendor name (defaults to false)
259
+ @param {boolean} [show_rating] - Display product rating (defaults to true)
260
+ @param {string} [image_size] - Product image size ('small', 'medium', 'large')
261
+ @param {boolean} [lazy_load] - Enable lazy loading for images (defaults to true)
262
+ @param {string} [badge_text] - Custom badge text to display
263
+
264
+ @example
265
+ {% render 'm--product-card', product: product %}
266
+
267
+ @example
268
+ {% render 'm--product-card',
269
+ product: product,
270
+ class: 'hover:shadow-lg',
271
+ show_vendor: true,
272
+ image_size: 'large',
273
+ badge_text: 'New'
274
+ %}
275
+ {%- enddoc -%}
276
+ ```
277
+
278
+ ## Compliance Checklist
279
+
280
+ Before committing any Liquid file, ensure:
281
+
282
+ - [ ] Documentation block is present at file top
283
+ - [ ] Component description is clear and concise
284
+ - [ ] All parameters are documented with types
285
+ - [ ] Optional parameters are marked with brackets
286
+ - [ ] At least one basic example is provided
287
+ - [ ] At least one advanced example is provided
288
+ - [ ] Parameter descriptions are accurate and helpful
289
+ - [ ] Examples use realistic, practical values
290
+ - [ ] Documentation passes Theme Check validation
291
+ - [ ] Accessibility parameters are documented when relevant
292
+ - [ ] Performance parameters are documented when relevant
293
+ - [ ] Error handling is documented when relevant
294
+
295
+ ## References
296
+
297
+ - [Shopify LiquidDoc Documentation](https://shopify.dev/docs/storefronts/themes/tools/liquid-doc)
298
+ - [Theme Check Documentation](https://shopify.dev/docs/storefronts/themes/tools/theme-check)
299
+ - [Liquid Template Language](https://shopify.dev/docs/api/liquid)
300
+ - [Shopify Theme Development Best Practices](https://shopify.dev/docs/storefronts/themes/best-practices) # LiquidDoc Documentation Rules for Electric Maybe Shopify Theme
301
+
302
+ ## Overview
303
+ This document establishes comprehensive documentation standards for all Liquid snippets and blocks in the Electric Maybe Shopify theme project. Following these rules ensures consistent, maintainable, and developer-friendly code documentation that integrates with Shopify's LiquidDoc tooling.
304
+
305
+ ## Core Documentation Standards
306
+
307
+ ### Required Structure for All Liquid Files
308
+ Every snippet (`.liquid` files in `snippets/`) and block (`.liquid` files in `blocks/`) must include LiquidDoc documentation at the top of the file:
309
+
310
+ ```liquid
311
+ {%- doc -%}
312
+ [Component description - one clear sentence explaining purpose]
313
+
314
+ [Detailed description - 2-3 sentences explaining functionality, use cases, and key features]
315
+
316
+ @param {type} param_name - Parameter description
317
+ @param {type} [optional_param] - Optional parameter description
318
+
319
+ @example
320
+ {% render 'component-name', param: value %}
321
+
322
+ @example
323
+ {% render 'component-name',
324
+ param1: value1,
325
+ param2: value2
326
+ %}
327
+ {%- enddoc -%}
328
+ ```
329
+
330
+ ### Documentation Tag Requirements
331
+ - **Required**: All snippets and blocks must have `{%- doc -%}` block
332
+ - **Position**: Must be the first content in the file (after any initial comments)
333
+ - **Format**: Use `{%- doc -%}` and `{%- enddoc -%}` with whitespace control
334
+ - **Content**: Must include description, parameters, and at least one example
335
+
336
+ ## Parameter Documentation Standards
337
+
338
+ ### Parameter Format
339
+ ```
340
+ @param {type} param_name - Description of the parameter
341
+ @param {type} [optional_param] - Optional parameter description
342
+ ```
343
+
344
+ ### Supported Parameter Types
345
+ - `{string}` - Text values, URLs, class names
346
+ - `{number}` - Numeric values, sizes, counts
347
+ - `{boolean}` - True/false values, flags
348
+ - `{object}` - Complex Liquid objects (product, collection, etc.)
349
+
350
+ ### Parameter Naming Conventions
351
+ - Use `snake_case` for parameter names
352
+ - Wrap optional parameters in square brackets: `[param_name]`
353
+ - Use descriptive names that clearly indicate purpose
354
+ - Avoid abbreviations unless widely understood
355
+
356
+ ### Parameter Description Requirements
357
+ - Clear, concise explanation of purpose
358
+ - Include default values when applicable
359
+ - Mention any constraints or limitations
360
+ - Reference related parameters when relevant
361
+
362
+ ## Example Documentation Standards
363
+
364
+ ### Example Format Requirements
365
+ - Include at least one basic usage example
366
+ - Include one complex example showing multiple parameters
367
+ - Use realistic, practical values
368
+ - Demonstrate common use cases
369
+ - Show proper Liquid syntax formatting
370
+
371
+ ### Multi-line Example Format
372
+ ```liquid
373
+ @example
374
+ {% render 'component-name',
375
+ param1: 'value1',
376
+ param2: 42,
377
+ param3: true
378
+ %}
379
+ ```
380
+
381
+ ## Component-Specific Documentation Rules
382
+
383
+ ### Atomic Components (`a--*.liquid`)
384
+ - Focus on reusability and flexibility
385
+ - Document all styling parameters
386
+ - Include accessibility considerations
387
+ - Show responsive behavior examples
388
+
389
+ ### Molecular Components (`m--*.liquid`)
390
+ - Document composition of atomic components
391
+ - Explain interaction patterns
392
+ - Include state management parameters
393
+ - Show integration examples
394
+
395
+ ### Section Components (`s--*.liquid`)
396
+ - Document layout and structure parameters
397
+ - Include content management parameters
398
+ - Show responsive breakpoint behavior
399
+ - Document theme customizer integration
400
+
401
+ ### Block Components (`blocks/*.liquid`)
402
+ - Document content editing parameters
403
+ - Include layout and styling options
404
+ - Show theme editor integration
405
+ - Document dynamic content handling
406
+
407
+ ## Accessibility Documentation
408
+
409
+ ### Required Accessibility Parameters
410
+ For components that affect accessibility, document:
411
+ - `aria_label` - Screen reader text
412
+ - `aria_hidden` - Visibility control
413
+ - `role` - ARIA role attributes
414
+ - `tabindex` - Keyboard navigation
415
+
416
+ ### Accessibility Examples
417
+ ```liquid
418
+ @example
419
+ {% render 'a--icon',
420
+ icon: 'search',
421
+ aria_label: 'Search products',
422
+ class: 'sr-only'
423
+ %}
424
+ ```
425
+
426
+ ## Performance Documentation
427
+
428
+ ### Performance Parameters
429
+ Document performance-related parameters:
430
+ - `lazy_loading` - Image loading behavior
431
+ - `preload` - Resource preloading
432
+ - `debounce` - Event handling optimization
433
+ - `cache` - Caching behavior
434
+
435
+ ## Error Handling Documentation
436
+
437
+ ### Error Parameters
438
+ Document error handling parameters:
439
+ - `fallback` - Fallback content
440
+ - `error_message` - Error display text
441
+ - `required` - Parameter requirement flags
442
+
443
+ ## Theme Integration Documentation
444
+
445
+ ### Theme Customizer Parameters
446
+ Document theme editor integration:
447
+ - `settings` - Theme setting references
448
+ - `customizable` - Customization flags
449
+ - `presets` - Preset configurations
450
+
451
+ ## Code Quality Standards
452
+
453
+ ### Documentation Validation
454
+ - All parameters must be used in the component
455
+ - Parameter types must match usage
456
+ - Examples must be syntactically correct
457
+ - Descriptions must be clear and accurate
458
+
459
+ ### Consistency Requirements
460
+ - Use consistent terminology across components
461
+ - Follow established naming conventions
462
+ - Maintain consistent formatting
463
+ - Use consistent example patterns
464
+
465
+ ## File Organization Standards
466
+
467
+ ### Documentation Structure
468
+ 1. **Component Description** - One clear sentence
469
+ 2. **Detailed Description** - 2-3 sentences explaining functionality
470
+ 3. **Required Parameters** - All mandatory parameters
471
+ 4. **Optional Parameters** - All optional parameters with defaults
472
+ 5. **Basic Example** - Simple usage demonstration
473
+ 6. **Advanced Example** - Complex usage with multiple parameters
474
+
475
+ ### Documentation Comments
476
+ - Use clear, professional language
477
+ - Avoid technical jargon unless necessary
478
+ - Include practical use cases
479
+ - Reference related components when relevant
480
+
481
+ ## Integration with Development Tools
482
+
483
+ ### Theme Check Integration
484
+ Documentation must pass all Theme Check validations:
485
+ - `UniqueDocParamNames` - No duplicate parameter names
486
+ - `ValidDocParamTypes` - Valid parameter types
487
+ - `UnusedDocParam` - All documented parameters used
488
+ - `MissingRenderSnippetArguments` - Required parameters provided
489
+
490
+ ### Editor Integration
491
+ Documentation enables:
492
+ - Hover documentation in code editors
493
+ - Code completion for parameters
494
+ - Parameter validation warnings
495
+ - Type checking for values
496
+
497
+ ## Maintenance Standards
498
+
499
+ ### Documentation Updates
500
+ - Update documentation when parameters change
501
+ - Add new parameters to documentation
502
+ - Remove deprecated parameters
503
+ - Update examples for new functionality
504
+
505
+ ### Review Process
506
+ - Review documentation during code reviews
507
+ - Validate examples work correctly
508
+ - Ensure parameter descriptions are accurate
509
+ - Check for consistency across components
510
+
511
+ ## Examples of Good Documentation
512
+
513
+ ### Atomic Component Example
514
+ ```liquid
515
+ {%- doc -%}
516
+ Icon component for displaying SVG icons with customizable styling and animations.
517
+
518
+ This component provides a comprehensive set of icons including social media, navigation, UI elements, and e-commerce specific icons. Icons are rendered as inline SVG with customizable colors, sizes, and stroke widths.
519
+
520
+ @param {string} icon - The icon name to display (required)
521
+ @param {string} [class] - Additional CSS classes to apply to the SVG element
522
+ @param {string} [color] - Icon color (defaults to 'currentColor')
523
+ @param {number} [width] - Icon width in pixels (defaults to 24)
524
+ @param {number} [height] - Icon height in pixels (defaults to 24)
525
+ @param {string} [stroke] - Stroke width classes (defaults to 'stroke-base lg:stroke-lg')
526
+ @param {boolean} [animate] - Whether to apply animation classes for interactive states
527
+
528
+ @example
529
+ {% render 'a--icon', icon: 'search' %}
530
+
531
+ @example
532
+ {% render 'a--icon',
533
+ class: 'hover:opacity-50',
534
+ icon: 'chevron-d',
535
+ color: '#000000',
536
+ stroke: 'stroke-lg',
537
+ width: 32,
538
+ height: 32,
539
+ animate: true
540
+ %}
541
+ {%- enddoc -%}
542
+ ```
543
+
544
+ ### Molecular Component Example
545
+ ```liquid
546
+ {%- doc -%}
547
+ Product card component for displaying product information in grid layouts.
548
+
549
+ This component renders a complete product card with image, title, price, and action buttons. It supports various display modes, hover effects, and responsive layouts. Includes built-in lazy loading and accessibility features.
550
+
551
+ @param {object} product - Product object from Shopify (required)
552
+ @param {string} [class] - Additional CSS classes for the card container
553
+ @param {boolean} [show_vendor] - Display vendor name (defaults to false)
554
+ @param {boolean} [show_rating] - Display product rating (defaults to true)
555
+ @param {string} [image_size] - Product image size ('small', 'medium', 'large')
556
+ @param {boolean} [lazy_load] - Enable lazy loading for images (defaults to true)
557
+ @param {string} [badge_text] - Custom badge text to display
558
+
559
+ @example
560
+ {% render 'm--product-card', product: product %}
561
+
562
+ @example
563
+ {% render 'm--product-card',
564
+ product: product,
565
+ class: 'hover:shadow-lg',
566
+ show_vendor: true,
567
+ image_size: 'large',
568
+ badge_text: 'New'
569
+ %}
570
+ {%- enddoc -%}
571
+ ```
572
+
573
+ ## Compliance Checklist
574
+
575
+ Before committing any Liquid file, ensure:
576
+
577
+ - [ ] Documentation block is present at file top
578
+ - [ ] Component description is clear and concise
579
+ - [ ] All parameters are documented with types
580
+ - [ ] Optional parameters are marked with brackets
581
+ - [ ] At least one basic example is provided
582
+ - [ ] At least one advanced example is provided
583
+ - [ ] Parameter descriptions are accurate and helpful
584
+ - [ ] Examples use realistic, practical values
585
+ - [ ] Documentation passes Theme Check validation
586
+ - [ ] Accessibility parameters are documented when relevant
587
+ - [ ] Performance parameters are documented when relevant
588
+ - [ ] Error handling is documented when relevant
589
+
590
+ ## References
591
+
592
+ - [Shopify LiquidDoc Documentation](https://shopify.dev/docs/storefronts/themes/tools/liquid-doc)
593
+ - [Theme Check Documentation](https://shopify.dev/docs/storefronts/themes/tools/theme-check)
594
+ - [Liquid Template Language](https://shopify.dev/docs/api/liquid)
595
+ - [Shopify Theme Development Best Practices](https://shopify.dev/docs/storefronts/themes/best-practices)