docs: Add comprehensive dev branch setup and workflow guide

- Add quick start: 3 options to get the dev branch
- Document dev branch setup and isolation
- Add complete development workflow examples (4 steps)
- Include common dev commands and usage
- Add troubleshooting guide for dev branch
- Explain isolation features (cache, code, visual, version, git)
- Guide for merging dev to production
This commit is contained in:
Developer
2026-03-19 19:44:35 -04:00
parent adcb3b04d6
commit ef16e309cb
+181
View File
@@ -9,6 +9,47 @@
--- ---
## 🚀 Quick Start: How to Get the Dev Branch
### Option 1: Clone the Dev Branch from Remote
```bash
# Clone the entire repository and check out dev branch
git clone https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit.git /root/server-toolkit-beta
cd /root/server-toolkit-beta
git checkout dev
# Verify you're on dev branch
git branch -vv
# Output should show: * dev adcb3b0 [origin/dev] dev: Add BETA branding...
# Run the dev launcher
./launcher.sh
# You'll see the YELLOW ⚠️ banner with "2.1.0-BETA"
```
### Option 2: Switch Existing Toolkit to Dev Branch
```bash
# If you already have the toolkit cloned
cd /root/server-toolkit
git fetch origin
git checkout dev
# Verify
git branch -vv
```
### Option 3: Use the Pre-Configured Dev Instance (This Directory)
```bash
# If you're already in /root/server-toolkit-beta/
git pull origin dev # Get latest dev changes
./launcher.sh # Run the dev version
```
---
## 📍 Quick Navigation ## 📍 Quick Navigation
**For Production**: Visit the `main` branch or `/root/server-toolkit/` **For Production**: Visit the `main` branch or `/root/server-toolkit/`
@@ -26,6 +67,146 @@
--- ---
## 🔧 Dev Branch Setup & Workflow
### Understanding the Dev Branch Structure
**Repository**: `https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit.git`
- **`main` branch** → Production (stable, tested code)
- **`dev` branch** → Development (testing, new features, experiments)
Both branches exist in the same remote repository but are completely isolated.
### Development Workflow
#### 1️⃣ Get the Latest Dev Code
```bash
# Update your local dev branch with latest remote changes
cd /root/server-toolkit-beta
git fetch origin # Fetch all remote changes
git pull origin dev # Pull latest dev branch code
```
#### 2️⃣ Make Changes & Test
```bash
# Edit files in the dev branch
nano /root/server-toolkit-beta/launcher.sh
nano /root/server-toolkit-beta/modules/security/malware-scanner.sh
# Test your changes with the dev launcher
/root/server-toolkit-beta/launcher.sh
# You'll see YELLOW banner: "⚠️ 2.1.0-BETA"
```
#### 3️⃣ Commit Changes to Dev Branch
```bash
cd /root/server-toolkit-beta
# See what you changed
git status
git diff
# Stage and commit
git add modules/security/malware-scanner.sh
git commit -m "dev: Added feature XYZ to malware scanner"
# Push to remote dev branch
git push origin dev
```
#### 4️⃣ When Ready: Merge to Production
```bash
# First ensure dev is stable and tested
cd /root/server-toolkit-beta
git log --oneline -5 # View recent commits
# Switch to production
cd /root/server-toolkit
git checkout main
# Get latest dev changes
git fetch origin
# Merge dev into main
git merge origin/dev
# Review the merge carefully!
# Push to production
git push origin main
```
### Common Dev Commands
```bash
# Check your current branch
git branch -vv
# Shows: * dev adcb3b0 [origin/dev] ...
# See what's different from production
cd /root/server-toolkit-beta
git log --oneline main..dev # Commits in dev not in main
# See what's different from last push
git log --oneline origin/dev..dev
# Revert unwanted changes
git reset --hard origin/dev # Discard local changes, match remote
# View recent dev commits
git log --oneline -10
# Check if dev is up to date with remote
git status
# Should show: "Your branch is up to date with 'origin/dev'"
```
### Isolation Features (Why Dev is Safe)
**Cache Isolation**: Uses `.sysref.beta` (separate from production `.sysref`)
**Code Isolation**: Changes only in `dev` branch until explicitly merged
**Visual Warning**: YELLOW banner with "BETA" label (can't accidentally think it's production)
**Version Distinction**: `2.1.0-BETA` vs `2.1.0` (easy to identify)
**Git Isolation**: `dev` branch tracked separately from `main`
### Troubleshooting
**"I'm on the wrong branch"**
```bash
git branch -a # See all branches
git checkout dev # Switch to dev
git branch -u origin/dev # Track origin/dev
```
**"Dev is behind remote"**
```bash
git pull origin dev # Get latest changes
```
**"I made a mistake and want to start over"**
```bash
git reset --hard origin/dev # Revert to last pushed state
git clean -fd # Remove untracked files
```
**"Production (main) got updates, sync dev with main"**
```bash
# Get latest main changes
git fetch origin main
# See difference
git log --oneline origin/main..dev
# Merge main into dev
git merge origin/main
git push origin dev # Push merged result
```
---
## Full Documentation Below ## Full Documentation Below
Comprehensive multi-panel server management suite supporting cPanel, InterWorx, Plesk, and standalone Apache with modular architecture and intelligent security features. Comprehensive multi-panel server management suite supporting cPanel, InterWorx, Plesk, and standalone Apache with modular architecture and intelligent security features.