A Waybar module for monitoring Shopify theme and app development sessions in real-time.
-
Dual Session Support: Monitors both
shopify theme devandshopify app devsessions -
Real-time Updates: Shows active development sessions with store information
-
Customizable Display: Configurable text, icons, and tooltips
-
Smart Links: Optional admin and editor links in tooltips
-
Session Duration: Optional runtime tracking
-
Intelligent Caching: Efficient caching system for performance
[Shopify: 1 theme + 1 app]
[Shopify: my-store]
[Shopify: 1 theme]
[Shopify: theme/app not running]
- Waybar (for the status bar)
- Shopify CLI v3+
- jq (for JSON parsing)
-
Clone and install:
git clone https://github.com/uwagz/shopify-cli-status.git cd shopify-cli-status ./install.sh -
Add the module configuration shown by the installer to your Waybar config
-
Restart Waybar and enjoy!
π‘ Safety First: The installer automatically backs up your existing Waybar config and stylesheet before making any changes.
The module is highly configurable through a configuration file located at ~/.config/shopify-cli-status/config.
The install.sh script automatically adds the following CSS styles to your Waybar stylesheet:
#custom-shopify-cli-status.active { color: #00cc66; }
#custom-shopify-cli-status.idle { color: #eee; }
#custom-shopify-cli-status.error { color: #ffaa33; }Note: If no Waybar stylesheet exists, the installer will show you these styles to add manually.
| Option | Default | Description |
|---|---|---|
LABEL_TEXT |
"Shopify" |
Text shown in the status bar |
SHOW_FULL_URL |
false |
Show full store URL vs short name |
INCLUDE_LINKS |
false |
Include admin/editor links in tooltip |
INCLUDE_SESSION_DURATION |
false |
Show session runtime |
| SHOW_WHEN_IDLE | true | Show module when no sessions running |
| BEFORE | " [" | Text before the main content |
| AFTER | "] " | Text after the main content |
| DEBUG | false | Enable debug output |
| CACHE_DIR | "/tmp/shopify-cli-status" | Cache directory location |
You can customize the icons shown in the status bar by setting these variables in your config file:
| Variable | Default | Description | Example Icon |
|---|---|---|---|
ICON_ACTIVE |
β | Active session icon | β |
ICON_IDLE |
β | Idle/no session icon | βΉ |
Example usage in your config:
ICON_ACTIVE="β"
ICON_IDLE="βΉ"# ~/.config/shopify-cli-status/config
# Display options
LABEL_TEXT="Shopify Dev"
SHOW_FULL_URL=false
INCLUDE_LINKS=true
INCLUDE_SESSION_DURATION=true
SHOW_WHEN_IDLE=true
# Text formatting
BEFORE=" ["
AFTER="] "
# Debug mode
DEBUG=false
# Cache settings
CACHE_DIR="/tmp/shopify-cli-status"The script automatically detects running Shopify development sessions:
# Start a theme development session
shopify theme dev
# Start an app development session
shopify app dev
# The Waybar module will automatically show:
# [π’ Shopify CLI: 1 theme + 1 app]Hover over the module to see detailed information:
Type: theme
Store: my-store.myshopify.com
Name: Development Theme
ID: 123456789
Role: development
Type: app
Store: my-store.myshopify.com
Name: My App
ID: SHOPIFY_API_KEY
Role: development
Links:
https://my-store.myshopify.com
https://my-store.myshopify.com/admin/themes/123456789
https://my-store.myshopify.com/admin/themes/123456789/editor
- Process Detection: Uses
pgrepto find runningshopify theme devandshopify app devprocesses - Data Extraction: Calls
shopify theme infoorshopify app infoto get session details - Caching: Stores JSON responses in cache files for performance
- Display Logic: Formats data based on configuration options
- Real-time Updates: Waybar refreshes the module every 2 seconds
shopify-cli-status/
βββ shopify-cli-status.sh # Main script
βββ config.jsonc # Waybar configuration example
βββ styles.css # CSS styling example
βββ config # Sample configuration file
βββ install.sh # Installation and setup script
βββ README.md # This file
Enable debug output to troubleshoot issues:
# Edit config file
echo 'DEBUG=true' >> ~/.config/shopify-cli-status/config
# Run with debug output
./shopify-cli-status.sh 2>&1Module shows "Shopify CLI/jq missing"
- Install Shopify CLI:
npm install -g @shopify/cli - Install jq:
brew install jq(macOS) orsudo apt install jq(Ubuntu)
No sessions detected
- Ensure
shopify theme devorshopify app devis running - Check that processes are visible to
pgrep
Cache issues
- Clear cache:
rm -rf /tmp/shopify-cli-status - Restart development sessions
Configuration not loading
- Verify config file exists:
ls ~/.config/shopify-cli-status/config - Check file permissions:
chmod 644 ~/.config/shopify-cli-status/config
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Test thoroughly
- Commit your changes:
git commit -am 'Add feature' - Push to the branch:
git push origin feature-name - Submit a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the troubleshooting section
- Search existing issues
- Create a new issue with detailed information





