A modern, conversion-optimized Shopify theme built with performance and user experience in mind.
- Node.js LTS (via nvm recommended)
- Shopify CLI
- Git
# Clone the repository
git clone [email protected]:YOUR_ORG_OR_USERNAME/ondermax-shopify-theme.git
cd ondermax-shopify-theme
# Install dependencies
npm install
# Set up environment
cp .env.example .env
# Edit .env with your store details
# Login to Shopify
shopify theme login --store ondermax.myshopify.com
# Pull development theme
shopify theme pull --store ondermax.myshopify.com --theme <THEME_ID>
# Start development server
npm run devThis project follows Git Flow branching strategy:
main (production)
βββ develop (integration)
β βββ feature/hero-value-prop
β βββ feature/navigation-redesign
β βββ feature/checkout-optimization
βββ release/v1.0.0
βββ hotfix/critical-bug-fix
- main: Production-ready code, always deployable
- develop: Integration branch for features, always stable
- feature/*: New features developed from
develop - release/*: Release preparation from
developtomain - hotfix/*: Critical fixes directly to
main
- Create feature branch from
develop - Develop and test locally
- Create PR to
develop - After review, merge to
develop - Create release branch for production deployment
# Development
npm run dev # Start development server
npm run check # Run theme-check
npm run push:staging # Push to staging theme
# Code Quality
npm run format # Format code with Prettier
npm run format:check # Check formatting
# Git
git checkout -b feature/your-feature-name
git commit -m "feat(section): add new hero section"βββ assets/ # CSS, JS, images
β βββ application.css
β βββ application.js
β βββ images/
βββ config/ # Theme settings
β βββ settings_schema.json
βββ layout/ # Base templates
β βββ theme.liquid
βββ locales/ # Translation files
βββ sections/ # Reusable sections
β βββ hero-value.liquid
β βββ social-proof.liquid
βββ snippets/ # Reusable components
βββ templates/ # Page templates
βββ docs/ # Documentation
βββ scripts/ # Development scripts
βββ .theme-check.yml # Theme check configuration
Before any feature is considered complete, ensure:
-
shopify theme devruns without errors - No console errors in browser
- All functionality works as expected
- Responsive design tested on mobile/desktop
-
theme-checkpasses with no warnings - Prettier formatting applied
- Code follows project conventions
- Performance impact considered
- Pushed as unpublished staging theme
- Staging environment tested thoroughly
- Cross-browser compatibility verified
- Mobile experience validated
- PR created to
developwith screenshots - PR title references CSV ID:
[CSV-HP-003] - Staging URL provided for QA
- Code reviewed and approved
- Clear value proposition above the fold
- Prominent and compelling CTAs
- Strategic social proof placement
- Fast loading and intuitive navigation
- High-quality product imagery
- Compelling product descriptions
- Easy add-to-cart process
- Related product suggestions
- Guest checkout available
- Clear progress indicators
- Minimal form fields
- Trust signals throughout
- Core Web Vitals optimized
- Mobile-first approach
- Image optimization and lazy loading
- Minimal third-party scripts
- Development Guide - Detailed setup and workflow
- CRO Checklist - Conversion optimization guidelines
- Changelog - Version history and changes
- Contributing Guidelines - Git Flow and commit conventions
- Prettier: Code formatting
- Theme Check: Shopify theme validation
- Husky: Git hooks for quality gates
- lint-staged: Pre-commit linting
- Shopify CLI: Theme development and deployment
- Git Flow: Branching strategy
- Conventional Commits: Standardized commit messages
# Create release branch
git checkout -b release/v1.0.0
# Push to staging theme
shopify theme push --unpublished --path . --theme "staging-v1.0-rc1"# Tag release
git tag v1.0.0
git push --tags
# Deploy to production theme
shopify theme push --path . --theme "production"- Follow the Contributing Guidelines
- Use conventional commit messages
- Include CSV ID in PR titles
- Test thoroughly before submitting PR
- Provide screenshots and staging URLs
For questions or issues:
- Check the Development Guide
- Review the CRO Checklist
- Create an issue in the repository
Remember: Every PR must include a CSV ID reference in the title format: [CSV-XXX-###]