Repository navigation
Getting Started
Complete guide to installing and setting up VAST for development.
Before you begin, ensure you have:
- Node.js v22.12 or higher
- Shopify CLI installed globally
- A Shopify development store (you can create one from your Partners account)
The fastest way to get started with VAST is using the interactive setup wizard:
git clone https://github.com/anchovie91471/vast-shopify-theme <theme-directory>
cd <theme-directory>npm run setupThe interactive setup wizard will:
- Install dependencies automatically
- Connect to your Shopify store
- Guide you through three setup options:
- Auto-create (recommended): Let Shopify CLI automatically create a development theme
- Use existing: Select from themes already on your store
- Create new: Create a permanent unpublished theme with a custom name
- Generate your
shopify.theme.tomlconfiguration - Run an initial build to create the assets
npm run devThis starts both Vite and Shopify CLI dev servers.
When Vite starts, visit https://127.0.0.1:3000 in your browser:
- Click "Advanced" and accept the security warning
- Once accepted, navigate to
http://127.0.0.1:9292to see your theme preview
That's it! Your theme is now running and ready for development.
The setup wizard offers three ways to configure your development theme, depending on your needs:
What it does:
- Creates a minimal
shopify.theme.tomlwith only your store name - Shopify CLI automatically creates a temporary development theme when you run
npm run dev - No manual theme selection or configuration required
Best for:
- First-time setup
- Quick starts when you don't have an existing development theme
- Solo developers who want the simplest workflow
Important Notes:
- Development themes are temporary and deleted when you run
shopify auth logout - Each authenticated session gets its own development theme
- Perfect for getting started quickly without worrying about theme IDs
Example shopify.theme.toml (auto-create mode):
[environments.development]
store = "your-store-name"
# No theme ID - Shopify CLI creates one automaticallyWhat it does:
- Fetches all themes from your store
- Lets you select an existing theme (development, unpublished, or live)
- Adds the theme ID to your
shopify.theme.toml
Best for:
- Teams working on the same development theme
- When you already have a development theme set up
- Switching between multiple theme projects
- Working with an existing unpublished theme
Important Notes:
- Choose carefully—selecting a live theme requires extra confirmation to prevent accidental overwrites
- Development themes created by other team members will appear in the list
- You can select any unpublished theme for safe development
Example shopify.theme.toml (existing theme):
[environments.development]
store = "your-store-name"
theme = "123456789" # ID of selected themeWhat it does:
- Prompts for a custom theme name (e.g., "VAST Development", "Feature Branch Alpha")
- Builds your theme assets
- Pushes to Shopify and creates a new unpublished theme
- Adds the theme ID to your
shopify.theme.toml
Best for:
- Long-term development themes that persist after logout
- Creating named themes for specific features or branches
- Permanent staging environments
- When you want full control over theme naming
Important Notes:
- This option runs a full build and push, which may take a minute on first setup
- The theme persists on your store even after
shopify auth logout - Great for feature branch workflows where each branch gets its own theme
- If creation fails, you can fall back to auto-create mode
Example shopify.theme.toml (created theme):
[environments.development]
store = "your-store-name"
theme = "987654321" # ID of newly created theme| Situation | Recommended Path | Why |
|---|---|---|
| First time installing VAST | Auto-create | Simplest setup, no theme ID needed |
| Solo developer, quick start | Auto-create | Minimal configuration, automatic management |
| Team development | Use existing | Share the same development theme across team |
| Feature branch workflow | Create new | Each branch gets its own named theme |
| Need theme to persist after logout | Create new | Permanent unpublished themes stay on store |
| Already have a dev theme | Use existing | Continue using your existing setup |
If you prefer to set up manually or the wizard doesn't work:
npm install --legacy-peer-depsNote: The
--legacy-peer-depsflag is required due to a peer dependency conflict between Vite 7 and@by-association-only/vite-plugin-shopify-clean(which currently only supports Vite 5-6). The plugin works correctly with Vite 7 despite the version mismatch.
Create a shopify.theme.toml file in the root directory:
[environments.development]
store = "your-store-name"
theme = "123456789" # Your theme ID
[environments.staging]
store = "your-store-name"
theme = "987654321"
ignore = ["templates/*", "config/*"]
[environments.production]
store = "your-store-name"
theme = "111222333"
ignore = ["templates/*", "config/*"]npm run devThis runs Vite dev server (port 3000) and Shopify CLI dev server concurrently.
The theme uses self-signed SSL certificates for local development. If assets aren't loading:
- Visit
https://127.0.0.1:3000in your browser - Click "Advanced" and proceed past the security warning
- Return to your Shopify dev server at
http://127.0.0.1:9292
If using a custom domain (not *.myshopify.com), add it to vite.config.js:
server: {
cors: {
origin: [
/^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/,
/^https:\/\/[^\/]+\.myshopify\.com$/,
'https://yourcustomdomain.com' // Add your domain
]
}
}VAST supports two deployment approaches—choose whichever fits your workflow best, or use both!
Connect your theme to a GitHub repository for automatic deployment when you push changes.
How it works:
- Push code to GitHub → Shopify automatically syncs changes to your theme
- Great for teams, CI/CD workflows, and version control-first development
-
.gitignoreis already configured to work with Shopify's GitHub integration
Setup:
- Push your theme to a GitHub repository
- In Shopify Admin: Online Store → Themes → Add theme → Connect from GitHub
- Select your repository and branch
- Shopify will automatically deploy on every push
Learn more about Shopify GitHub integration
Use CLI commands for direct deployment from your local machine.
How it works:
- Run deployment commands → Theme pushed directly to Shopify
- Great for solo developers, manual control, and testing before deploy
- Uses
shopify.theme.tomlfor environment configuration
Commands:
npm run deploy # Push to production (interactive)
npm run deploy:dev # Push to development environment
npm run deploy:staging # Push to staging environment
npm run deploy:new # Create new unpublished themeSee Build and Deployment for more details.
These approaches aren't mutually exclusive! Many developers use:
- GitHub integration for staging/production (automatic deploys)
- CLI push for development (quick manual testing)
- Development Guide - Learn about development workflow and tools
- Features Reference - Explore all available features
- Architecture - Understand the project structure