RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/Cursor rules/Shopify/horizon

Cursor rule

.cursor/rules/snippets.mdc

[object Object]

Cursor rules

Quality

62/100

Scores the file, not the repository.

Length

404 words

5 headings · 5 code blocks

Repository

428

— · pushed 17 days ago

Last changed

3 days ago

First indexed 3 days ago.
Shopify/horizon/.cursor/rules/snippets.mdcRawGitHub
1---
2description:
3globs: snippets/*.liquid
4alwaysApply: false
5---
6# Snippet Development Standards
7 
8## Snippet Documentation
9 
10Every snippet must include JSDoc-style comments using LiquidDoc:
11 
12```liquid
13{% doc %}
14 Product Card Component
15 
16 Renders a product card with customizable options.
17 
18 @param product {Object} Product object (required)
19 @param show_vendor {Boolean} Display vendor name (default: false)
20 @param show_quick_add {Boolean} Show quick add button (default: false)
21 @param image_ratio {String} Image aspect ratio (default: 'adapt')
22 @param lazy_load {Boolean} Enable lazy loading (default: true)
23 @param card_class {String} Additional CSS classes
24 
25 @example
26 {% render 'product-card',
27 product: product,
28 show_vendor: true,
29 image_ratio: 'square'
30 %}
31{% enddoc %}
32```
33 
34## Parameter Handling
35 
36Always provide defaults and validate parameters:
37 
38```liquid
39{% liquid
40 # Parameter validation and defaults
41 assign product = product | default: empty
42 assign show_vendor = show_vendor | default: false
43 assign show_quick_add = show_quick_add | default: false
44 assign image_ratio = image_ratio | default: 'adapt'
45 assign lazy_load = lazy_load | default: true
46 assign card_class = card_class | default: ''
47 
48 # Early return if required parameters missing
49 unless product != empty
50 echo '<!-- Error: product parameter required for product-card snippet -->'
51 break
52 endunless
53%}
54```
55 
56## Common Snippet Patterns
57 
58**Icon Snippet:**
59```liquid
60{% comment %}
61 @param icon {String} Icon name (required)
62 @param size {String} Icon size class (default: 'icon--medium')
63 @param class {String} Additional classes
64{% endcomment %}
65 
66{% liquid
67 assign icon = icon | default: ''
68 assign size = size | default: 'icon--medium'
69 assign class = class | default: ''
70 
71 unless icon != blank
72 break
73 endunless
74%}
75 
76<svg class="icon {{ size }} {{ class }}" aria-hidden="true" focusable="false">
77 <use href="#icon-{{ icon }}"></use>
78</svg>
79```
80 
81**Price Snippet:**
82```liquid
83{% comment %}
84 @param product {Object} Product object (required)
85 @param show_compare_at {Boolean} Show compare at price (default: true)
86 @param show_unit_price {Boolean} Show unit price (default: false)
87{% endcomment %}
88 
89{% liquid
90 assign show_compare_at = show_compare_at | default: true
91 assign show_unit_price = show_unit_price | default: false
92%}
93 
94<div class="price">
95 <div class="price__regular">
96 {{ product.price | money }}
97 </div>
98 
99 {% if show_compare_at and product.compare_at_price > product.price %}
100 <div class="price__compare-at">
101 <s>{{ product.compare_at_price | money }}</s>
102 </div>
103 {% endif %}
104 
105 {% if show_unit_price and product.selected_or_first_available_variant.unit_price_measurement %}
106 <div class="price__unit">
107 {{ product.selected_or_first_available_variant.unit_price | money }}/
108 {%- if product.selected_or_first_available_variant.unit_price_measurement.reference_value != 1 -%}
109 {{ product.selected_or_first_available_variant.unit_price_measurement.reference_value }}
110 {%- endif -%}
111 {{ product.selected_or_first_available_variant.unit_price_measurement.reference_unit }}
112 </div>
113 {% endif %}
114</div>
115```
116 
117## Testing Patterns
118 
119Include testing scenarios in comments:
120 
121```liquid
122{% comment %}
123 Test cases:
124 - Product with variants
125 - Product without image
126 - Product with compare_at_price
127 - Product with unit pricing
128 - Out of stock product
129{% endcomment %}
130```
131 
132[snippet-example.liquid](mdc:.cursor/rules/examples/snippet-example.liquid)
133 

Sections

  • Snippet Development Standards
  • Snippet Documentation
  • Parameter Handling
  • Common Snippet Patterns
  • Testing Patterns

What it covers

testcode-styleuidocs

Glob targeting

  • snippets/*.liquid

Format

Cursor rules

The most expressive format here. Many small .mdc files, each with frontmatter declaring when it should load, so a rule about migrations only enters context when a migration is open. Costs the most to maintain and only one editor reads it.

What the corpus says about it

Repository

Owner
Shopify
Language
—
License
—
Archived
no

All configs in this repo

Also in Shopify/horizon

Diff this repo’s formats

One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?

The other instruction files in this repository
RepositoryFormatStackCoversScoreChanged
Shopify/horizon.cursor/rules/accordion-accessibility.mdc · 428Cursor rulesunclassifiedui40/1003 days ago
Shopify/horizon.cursor/rules/animation-accessibility.mdc · 428Cursor rulesunclassifiedui40/1003 days ago
Shopify/horizon.cursor/rules/blocks.mdc · 428Cursor rulesunclassifiedstylearchtypesdatabase+262/1003 days ago
Shopify/horizon.cursor/rules/breadcrumb-accessibility.mdc · 428Cursor rulesunclassifiedui36/1003 days ago
Shopify/horizon.cursor/rules/carousel-accessibility.mdc · 428Cursor rulesunclassifiedui32/1003 days ago
Shopify/horizon.cursor/rules/cart-drawer-accessibility.mdc · 428Cursor rulesunclassifiedui40/1003 days ago
Shopify/horizon.cursor/rules/chat-window-accessibility.mdc · 428Cursor rulesunclassifiedstyleui24/1003 days ago
Shopify/horizon.cursor/rules/color-contrast-accessibility.mdc · 428Cursor rulesunclassifiedlint-formatui44/1003 days ago
Shopify/horizon.cursor/rules/color-swatch-accessibility.mdc · 428Cursor rulesunclassifiedui40/1003 days ago
Shopify/horizon.cursor/rules/commit-messages.mdc · 428Cursor rulesunclassifiedsetuplint-formattypesgit62/1003 days ago
Shopify/horizon.cursor/rules/css-standards.mdc · 428Cursor rulesunclassifiedstylearchuiperformance+349/1003 days ago
Shopify/horizon.cursor/rules/disclosure-accessibility.mdc · 428Cursor rulesunclassifiedui40/1003 days ago
Shopify/horizon.cursor/rules/dropdown-navigation-accessibility.mdc · 428Cursor rulesunclassifiedstyleui36/1003 days ago
Shopify/horizon.cursor/rules/flip-card-accessibility.mdc · 428Cursor rulesunclassifiedstyleui36/1003 days ago
Shopify/horizon.cursor/rules/form-accessibility.mdc · 428Cursor rulesunclassifiedui32/1003 days ago
Shopify/horizon.cursor/rules/javascript-standards.mdc · 428Cursor rulesunclassifiedstylearchtypesui+254/1003 days ago
Shopify/horizon.cursor/rules/landmark-accessibility.mdc · 428Cursor rulesunclassifiedui40/1003 days ago
Shopify/horizon.cursor/rules/liquid.mdc · 428Cursor rulesunclassifiedbuildstyletypesdatabase+277/1003 days ago
Shopify/horizon.cursor/rules/locales.mdc · 428Cursor rulesunclassifiedarch49/1003 days ago
Shopify/horizon.cursor/rules/localization.mdc · 428Cursor rulesunclassifiedstyle54/1003 days ago
Diff against .cursor/rules/accordion-accessibility.mdc Diff against .cursor/rules/animation-accessibility.mdc Diff against .cursor/rules/blocks.mdc Diff against .cursor/rules/breadcrumb-accessibility.mdc Diff against .cursor/rules/carousel-accessibility.mdc Diff against .cursor/rules/cart-drawer-accessibility.mdc Diff against .cursor/rules/chat-window-accessibility.mdc Diff against .cursor/rules/color-contrast-accessibility.mdc Diff against .cursor/rules/color-swatch-accessibility.mdc Diff against .cursor/rules/commit-messages.mdc Diff against .cursor/rules/css-standards.mdc Diff against .cursor/rules/disclosure-accessibility.mdc Diff against .cursor/rules/dropdown-navigation-accessibility.mdc Diff against .cursor/rules/flip-card-accessibility.mdc Diff against .cursor/rules/form-accessibility.mdc Diff against .cursor/rules/javascript-standards.mdc Diff against .cursor/rules/landmark-accessibility.mdc Diff against .cursor/rules/liquid.mdc Diff against .cursor/rules/locales.mdc Diff against .cursor/rules/localization.mdc
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack