shopify theme dev liquid
via PatrickJS/awesome-cursorrules
Best practices for Shopify Liquid theme development with structured project organization, performance optimization, and accessibility.
What is shopify theme dev liquid?
This rule provides comprehensive guidance for developing Shopify themes using Liquid, JavaScript, and CSS. It covers project structure, templating patterns, performance optimization, accessibility standards, and testing strategies to ensure maintainable, scalable, and high-quality theme code.
- Organize theme projects with clear directory structure (sections, snippets, templates, assets) and modular file organization
- Apply Liquid templating best practices including render tags, caching mechanisms, and variable management to avoid N+1 queries and performance issues
- Modularize JavaScript using ES Modules with modern syntax, event delegation, and performance optimization techniques
- Structure CSS/SCSS with naming conventions (BEM, OOCSS, Utility-First) and CSS variables for maintainable styling
- Configure Sections and Blocks with Schema definitions, presets, and reusable components for Shopify Customizer compatibility
- Optimize theme performance through image CDN usage, minification, lazy loading, and monitoring with Lighthouse and Theme Check
Applies to
File patterns this rule matches.
Rule definition (reference)
Source of truth, from the repository.
Shopify Theme Development Best Practices
Project Structure
- Adopt a clear directory structure, e.g.,
sections,snippets,templates,assets. - Organize generic modules (like JavaScript functionalities) into separate files.
- Keep Liquid files concise and focused on single responsibilities, avoiding monolithic files.
- Organize templates and sections by page or functionality.
- Implement proper internationalization (i18n) file management.
- Utilize SCSS/CSS Modules for style organization to prevent global pollution.
Liquid Templating
- Prefer the
rendertag overinclude. - Limit database queries within loops to avoid N+1 issues.
- Use filters judiciously, especially complex computational ones.
- Leverage Liquid's caching mechanisms to reduce redundant calculations.
- Avoid complex logic handling directly in Liquid; move intricate logic to JavaScript.
- Use
assignandcaptureto define and reuse variables effectively.
JavaScript Development
- Modularize JS, using ES Modules for imports and exports.
- Follow modern JavaScript best practices, such as
const/let, arrow functions, etc. - Avoid direct DOM manipulation; prioritize event delegation.
- Optimize JavaScript performance to reduce repaints and reflows.
- Consider using Webpack/Rollup for bundling and code optimization.
- Write clear comments and JSDoc.
CSS/SCSS Styling
- Adhere to naming conventions like BEM, OOCSS, or Utility-First CSS.
- Optimize CSS selectors to improve rendering performance.
- Use CSS variables to manage theme configurations like colors and fonts.
- Implement responsive design to ensure consistent theme appearance across devices.
- Minimize CSS file size by removing unused styles.
- Make good use of SCSS mixins and functions.
Sections and Blocks
- Utilize Section Schema to define configurable options.
- Maintain section independence and reusability.
- Provide clear presets for sections.
- Use Blocks appropriately to enhance section flexibility.
- Ensure sections provide a good user experience in the Shopify Customizer.
- Avoid hardcoding content within sections; use Schema configurations whenever possible.
Performance Optimization
- Optimize image loading by using Shopify's CDN and the
image_urlfilter. - Minify JavaScript and CSS files.
- Leverage browser caching.
- Reduce the number of HTTP requests.
- Consider lazy loading.
- Monitor theme performance using Google Lighthouse and Shopify Theme Check.
Accessibility (A11y)
- Ensure all interactive elements are keyboard accessible.
- Provide meaningful
alttext for images. - Use correct HTML semantic tags.
- Consider color contrast.
- Implement clear focus states.
- Use ARIA attributes to enhance the accessibility of complex components.
Maintenance and Scalability
- Write clear code comments and documentation.
- Follow naming conventions to maintain code consistency.
- Regularly test theme functionalities.
- Ensure compatibility across different browsers and devices.
- Consider future extensibility, avoiding tight coupling.
- Use Shopify CLI for local development and deployment.
Quality and Testing
- Use Shopify Theme Check for static code analysis.
- Write unit tests (where applicable).
- Conduct thorough end-to-end testing.
- Test in various environments (local, development store, production store).
- Focus on compatibility testing (browsers, devices, Shopify versions).
- Test error handling and edge cases.
Related rules
SQL-callable AI functions and hybrid vector+keyword search for RAG within Snowflake.
Expert guidance for Snowflake SQL, data pipelines, semi-structured data, and cost optimization.
Expert guidance for Snowpark Python and dbt with Snowflake adapter.
Secure Solana wallet architecture with MEV defense, signer isolation, and transaction safety checks.
Expert Solidity and Foundry development guidance with security best practices and testing strategies.
Expert Solidity and Hardhat development with security best practices and gas optimization.
