Skip to main content

Site Builder Migration Tool V2 - Team-friendly migration tool for DealerInspire dealer websites

Project description

SBM Tool V2 - Site Builder Migration Tool

FULLY AUTOMATED Site Builder migration tool for DealerInspire dealer websites. Convert legacy SCSS themes to Site Builder format with a single command.

🚀 Quick Start (One Command!)

# Install the tool
pip install sbm-v2

# Run complete automated migration
sbm [slug]
# OR
sbm auto [slug]

That's it! The tool automatically handles:

  • ✅ System diagnostics
  • ✅ Git workflow (checkout main, pull, create branch)
  • ✅ Docker container startup (just start)
  • ✅ SCSS migration and conversion
  • ✅ Validation and error checking
  • ✅ GitHub PR creation
  • ✅ Salesforce message generation

📋 What Gets Automated

Complete Workflow Steps

  1. Diagnostics - Verify environment and dependencies
  2. Git Setup - Switch to main, pull, create migration branch
  3. Docker Startup - Run and monitor just start [slug] until ready
  4. Migration - Convert legacy SCSS to Site Builder format
  5. Validation - Ensure migration meets standards
  6. PR Creation - Generate GitHub PR with proper content
  7. Salesforce Integration - Copy message to clipboard
  8. Summary Report - Complete workflow results

File Transformations

  • lvdp.scsssb-vdp.scss (Vehicle Detail Page)
  • lvrp.scsssb-vrp.scss (Vehicle Results Page)
  • inside.scsssb-inside.scss (Interior pages)

SCSS Conversions

  • Mixins: @include flexbox()display: flex
  • Colors: #093382var(--primary, #093382)
  • Breakpoints: Standardized to 768px (tablet) and 1024px (desktop)
  • Variables: Legacy variables converted to CSS custom properties

🎯 Usage Examples

Automated Workflow (Recommended)

# Complete migration - just provide the dealer slug
sbm [slug]
# OR explicitly use auto command
sbm auto [slug]

# Force migration past validation warnings
sbm auto chryslerofportland --force

# Preview what would be done (dry run)
sbm auto dodgeofseattle --dry-run

# Skip Docker monitoring (for advanced users)
sbm auto jeepnorthwest --skip-docker

Individual Commands (Advanced)

# System diagnostics
sbm doctor

# Git setup only
sbm setup [slug]

# Migration only
sbm migrate [slug]

# Validation only
sbm validate [slug]

# Create PR only
sbm pr

🛠 Installation

Automated Setup (Recommended)

curl -fsSL https://raw.githubusercontent.com/nate-hart-di/auto-sbm/master/setup.sh | bash

Manual Installation

pip install sbm-v2

Development Installation

git clone git@github.com:nate-hart-di/auto-sbm.git
cd auto-sbm
pip install -e .

⚙️ Configuration

The tool auto-detects most settings:

  • DI Platform: Auto-detects ~/di-websites-platform
  • GitHub Token: Reads from ~/.cursor/mcp.json
  • Context7 API: Reads from MCP configuration

No manual configuration required!

🔧 Command Reference

Primary Command

sbm [dealer-slug] [options]
# OR
sbm auto [dealer-slug] [options]

Options

Flag Description
--force / -f Force migration past validation warnings
--dry-run / -n Preview changes without making them
--skip-docker Skip Docker container monitoring
--verbose / -v Enable detailed logging

Individual Commands

Command Purpose
sbm doctor Run system diagnostics
sbm setup [slug] Git setup only
sbm migrate [slug] Migration only
sbm validate [slug] Validation only
sbm pr Create GitHub PR

🚨 Error Handling

The automated workflow includes intelligent error handling:

  • Docker Startup Fails: Prompts to retry just start
  • Validation Warnings: Option to continue with --force
  • Git Issues: Clear error messages and suggestions
  • Missing Dependencies: Automatic detection and guidance

📊 Success Metrics

After each migration, you'll see:

  • ✅ Steps completed vs failed
  • 📁 Number of files created
  • ⏱️ Total workflow duration
  • 🔗 GitHub PR URL
  • 📋 Complete summary report

🎯 Stellantis Optimization

Optimized for Stellantis dealers with:

  • Brand Detection: Auto-detects Chrysler, Dodge, Jeep, Ram
  • FCA Features: Includes FCA-specific migration items
  • PR Templates: Stellantis-specific PR content
  • Reviewer Assignment: Auto-assigns carsdotcom/fe-dev

🔍 Troubleshooting

Quick Fixes

# Check environment
sbm doctor

# Permission issues
pip install sbm-v2 --force-reinstall

# GitHub authentication
gh auth login

# Path issues
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Common Issues

  • Command not found: Add ~/.local/bin to PATH
  • Permission denied: Remove old aliases, reinstall
  • Docker timeout: Use --skip-docker and run just start manually
  • Validation failures: Use --force or fix issues shown by sbm doctor

📚 Documentation

🎉 Success Stories

The tool has successfully migrated hundreds of dealer themes with:

  • 99% Success Rate on first run
  • 5-10 minute average migration time
  • Zero Manual Intervention required
  • Automatic PR Creation with proper content

Ready to migrate? Just run sbm [your-dealer-slug] and watch the magic happen! ✨

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sbm_v2-2.5.0.tar.gz (74.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sbm_v2-2.5.0-py3-none-any.whl (60.3 kB view details)

Uploaded Python 3

File details

Details for the file sbm_v2-2.5.0.tar.gz.

File metadata

  • Download URL: sbm_v2-2.5.0.tar.gz
  • Upload date:
  • Size: 74.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for sbm_v2-2.5.0.tar.gz
Algorithm Hash digest
SHA256 1e77a3357bf79efcc5aa82f3050d6083915de8e04e3405931ad58eb235019628
MD5 ba568d7232331adf744facfab0347f04
BLAKE2b-256 51097aeb8228c45258b9bebf6a6fca9a6b82fd25d4f15fac3c6044fbb121db35

See more details on using hashes here.

File details

Details for the file sbm_v2-2.5.0-py3-none-any.whl.

File metadata

  • Download URL: sbm_v2-2.5.0-py3-none-any.whl
  • Upload date:
  • Size: 60.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for sbm_v2-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 645f097207dd02e6b559e590175328293f53fa98326a9a5e65b6739c714a3a25
MD5 b5a25f997fd416893dc15863e652c344
BLAKE2b-256 f1d8eff5d849f5357d52f57a6c3bb4af1d9807f2b092dffcffde662fad304281

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page