Cursor rule
.cursor/rules/templates.mdc[object Object]
Cursor rules
Quality
61/100
Scores the file, not the repository.Length
320 words
5 headings · 3 code blocksRepository
428
— · pushed 17 days agoLast changed
3 days ago
First indexed 3 days ago.123456# Templates78All JSON templates must follow this exact structure:910## Required Schema11```json12{13 "$schema": "http://json-schema.org/draft-07/schema#",14 "type": "object",15 "required": ["sections"],16 "properties": {17 "sections": {18 "type": "object",19 "patternProperties": {20 "^[a-zA-Z0-9_-]+$": {21 "type": "object",22 "required": ["type"],23 "properties": {24 "type": {25 "type": "string",26 "pattern": "^[a-zA-Z0-9_-]+$"27 },28 "settings": {29 "type": "object"30 },31 "blocks": {32 "type": "array",33 "items": {34 "type": "object",35 "required": ["type"],36 "properties": {37 "type": {38 "type": "string"39 },40 "settings": {41 "type": "object"42 }43 }44 }45 }46 }47 }48 }49 },50 "order": {51 "type": "array",52 "items": {53 "type": "string"54 }55 }56 }57}58```5960## Template Structure Rules6162- Every template must have a `sections` object63- Section keys must be alphanumeric with dashes/underscores64- Each section must have a `type` property65- `settings` and `blocks` are optional66- `order` array defines section sequence67- Blocks must have a `type` property686970## Template Types7172**Standard Templates:**73- `index.json` - Homepage74- `product.json` - Product pages75- `collection.json` - Collection pages76- `page.json` - Static pages77- `blog.json` - Blog listing78- `article.json` - Blog posts79- `cart.json` - Shopping cart80- `search.json` - Search results8182**Alternate Templates:**83Alternative templates may exist for any of the standard templates, following the structure `template-name.template-suffix.template-file-type`, for example: `product.alternate.json`8485## Valid Template Examples8687**Product Template:**88```json89{90 "sections": {91 "header": {92 "type": "header"93 },94 "main": {95 "type": "main-product",96 "settings": {97 "show_vendor": true,98 "show_sku": false,99 "media_size": "medium"100 },101 "blocks": {102 "title": {103 "type": "title",104 "settings": {}105 },106 "price": {107 "type": "price",108 "settings": {109 "show_compare_at": true110 }111 },112 "variant_picker": {113 "type": "variant_picker",114 "settings": {115 "picker_type": "dropdown"116 }117 }118 },119 "block_order": ["title", "price", "variant_picker"]120 },121 "footer": {122 "type": "footer"123 }124 },125 "order": ["header", "main", "footer"]126}127```128129**Collection Template:**130```json131{132 "sections": {133 "header": {134 "type": "header"135 },136 "collection-banner": {137 "type": "collection-banner",138 "settings": {139 "show_collection_description": true,140 "show_collection_image": false141 }142 },143 "main": {144 "type": "main-collection-product-grid",145 "settings": {146 "products_per_page": 24,147 "columns_desktop": 4,148 "columns_mobile": 2149 }150 }151 },152 "order": ["header", "collection-banner", "main"]153}154```155
Also in Shopify/horizon
Diff this repo’s formatsOne 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?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| Shopify/horizon.cursor/rules/accordion-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/animation-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/blocks.mdc · 428 | Cursor rules | stylearchtypesdatabase+2 | 62/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/breadcrumb-accessibility.mdc · 428 | Cursor rules | ui | 36/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/carousel-accessibility.mdc · 428 | Cursor rules | ui | 32/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/cart-drawer-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/chat-window-accessibility.mdc · 428 | Cursor rules | styleui | 24/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/color-contrast-accessibility.mdc · 428 | Cursor rules | lint-formatui | 44/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/color-swatch-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/commit-messages.mdc · 428 | Cursor rules | setuplint-formattypesgit | 62/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/css-standards.mdc · 428 | Cursor rules | stylearchuiperformance+3 | 49/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/disclosure-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/dropdown-navigation-accessibility.mdc · 428 | Cursor rules | styleui | 36/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/flip-card-accessibility.mdc · 428 | Cursor rules | styleui | 36/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/form-accessibility.mdc · 428 | Cursor rules | ui | 32/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/javascript-standards.mdc · 428 | Cursor rules | stylearchtypesui+2 | 54/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/landmark-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/liquid.mdc · 428 | Cursor rules | buildstyletypesdatabase+2 | 77/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/locales.mdc · 428 | Cursor rules | arch | 49/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/localization.mdc · 428 | Cursor rules | style | 54/100 | 3 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
