mirror of
https://github.com/thecyberlearn/quantum-ai.git
synced 2026-08-18 09:53:00 +00:00
- Create protected branch strategy: main (production) ← staging ← development - Configure Railway deployment controls with environment-specific settings - Add GitHub branch protection setup script with automated configuration - Implement comprehensive deployment control documentation: - Complete deployment control guide with Railway configuration - Quick reference development workflow guide - Detailed deployment checklist for all phases - Pull request template with quality gates 🛡️ Safety Features: - main branch: Protected, requires PR approval, auto-deploys to production - staging branch: Optional pre-production testing environment - development branch: Safe zone for all development work, no auto-deploy - Emergency procedures: Hotfix and rollback processes documented 🚀 Workflow Benefits: - Prevents accidental production deployments - Maintains development velocity on safe branches - Clear promotion path: development → staging → production - Automated quality gates and approval processes 📋 Setup Instructions: - Run ./scripts/setup_branch_protection.sh for GitHub protection - Configure Railway to deploy only from designated branches - Use DEVELOPMENT_WORKFLOW.md for daily development guide Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
3.7 KiB
3.7 KiB
🚀 Development Workflow - Quick Reference
Current Branch Strategy
main (production) ← Railway Auto-Deploy ON
│
├── staging (pre-production) ← Railway Staging Environment
│ │
│ └── development (active development) ← Railway Auto-Deploy OFF
📋 Daily Development Workflow
1. Start New Work
# Always start from development branch
git checkout development
git pull origin development
# Create feature branch (optional but recommended)
git checkout -b feature/your-feature-name
2. Make Changes & Test
# Make your changes
# Test locally
python manage.py runserver
# Use subagents for specialized tasks:
# - "Create new agent" → agent-architect subagent
# - "Fix Django error" → django-debugger subagent
# - "Security review" → security-auditor subagent
# - "Optimize template" → template-optimizer subagent
3. Commit to Development
# Commit your changes
git add .
git commit -m "✨ Add your feature description"
# Push to development (safe - no auto-deploy)
git push origin development
4. Test on Staging (When Ready)
# Merge to staging for testing
git checkout staging
git merge development
git push origin staging
# This deploys to Railway staging environment
# Test at: https://staging-quantumtaskai.railway.app
5. Deploy to Production (Manual Approval Required)
# Only when staging tests pass
# Create Pull Request: staging → main
# Requires approval before merging
# Auto-deploys to production after merge
🛡️ Safety Features
✅ What's Protected
- main branch: Requires PR approval, auto-deploys to production
- Railway production: Only deploys from main branch
- Accidental deployments: Prevented by branch protection
✅ What's Safe
- development branch: No auto-deployment, safe for experimentation
- feature branches: No auto-deployment, safe for testing
- Local testing: Always safe with
python manage.py runserver
🚨 Emergency Procedures
Hotfix Critical Production Bug
git checkout main
git checkout -b hotfix/critical-fix
# Make minimal fix
git checkout main
git merge hotfix/critical-fix
git push origin main # Deploys immediately
Rollback Production
# Option 1: Git rollback
git checkout main
git reset --hard HEAD~1
git push --force-with-lease origin main
# Option 2: Railway dashboard rollback
# Use Railway UI to rollback to previous deployment
📞 Quick Commands
Development Server
./run_dev.sh # Quick start with migrations
python manage.py runserver # Manual start
Testing
python manage.py check --deploy # Production readiness
python tests/test_agent_name.py # Test specific agent
Documentation
./scripts/update_docs_manual.sh # Update documentation
/update-docs # Claude Code slash command
Branch Protection
./scripts/setup_branch_protection.sh # Setup GitHub protections
🎯 Key Points
- Development branch = Safe zone - No auto-deployment
- Staging branch = Test environment - Deploys to staging
- Main branch = Production - Requires approval, auto-deploys
- All new work should start on development branch
- Subagents available for specialized development tasks
- Auto-documentation updates with each commit
🔗 Related Documentation
- Complete Deployment Control Guide
- Subagents Guide
- Auto-Documentation System
- Railway Deployment Guide
Remember: development branch is your safe space - experiment freely! 🧪