A complete, cross-device development setup for Frontend, AI Engineering, and Algorithm Trading that works on any device: Android, iPhone, MacBook, laptop, etc.
- Local-First Development - All processing on your device
- Cross-Device Consistency - Same experience on any device
- Zero Manual Setup - Connect and start coding immediately
- Keyboard-First Mobile - External keyboard required for mobile
- No External Dependencies - Works offline, syncs when online
- GitHub Integration - Secure, reliable sync via Git
- Platform Detection - Automatic platform-specific setup
- Mobile Support - Android (Termux) and iOS (iSH) optimized
- Backup System - Complete backup before any sync operation
- Exclude Patterns - Smart filtering for efficient sync
- SSH Authentication - Secure GitHub access across devices
- Android/Termux - Full development with external keyboard
- iOS/iSH - Limited development with external keyboard
- Platform Detection - Automatic mobile platform detection
- Mobile Aliases - Keyboard-first mobile shortcuts
- Storage Permissions - Automatic Termux storage setup
- Package Managers - Platform-specific package management
- Terminal access on target device
- Git configured
- Internet connection (for initial setup)
# Clone this repository
git clone <your-repo-url> ~/dev-env
cd ~/dev-env
# Run the setup script
./setup.sh
# Start development
dev start| Device | Terminal | Package Manager | Development | Status |
|---|---|---|---|---|
| MacBook/Laptop | Built-in Terminal | Homebrew | β Full | Primary |
| Android | Termux | pkg | β Full | Secondary |
| iOS | iSH | apk | β Limited | Tertiary |
- Neovim with LSP (TypeScript, JavaScript, Python)
- Custom dashboard (Lazygit-style interface)
- Auto-shows on startup with no arguments
- Quick access to all development tools
- Git with Lazygit
- Node.js with NVM (multiple versions)
- Python with pip
- SFCC - Node.js 14, dwupload CLI, Prophet-like functionality
- Next.js - Node.js 18, React, TypeScript
- Modern Frontend - Vue, Angular, Svelte
- Docker Environment - Insulated development containers
- Jupyter Notebooks - Data science
- ML Frameworks - TensorFlow, PyTorch, scikit-learn
- AI Tools - OpenAI, Anthropic, LangChain
- Data Visualization - Matplotlib, Seaborn, Plotly
- Docker Environment - Insulated AI/ML containers
- Financial Data - yfinance, pandas-datareader
- Backtesting - backtrader, zipline
- Real-time Data - ccxt, websockets
- Technical Analysis - ta-lib, talib
- Docker Environment - Insulated data visualization containers
- Taskwarrior - Task management
- HTTPie - API testing
- LeetCode CLI - Coding practice
- Cursor CLI - AI assistance
- Purpose: Auto-setup development environment
- Usage: Clone once, setup once per device
- Updates: Only when you update this repo
- Sync: Git-based sync of environment configs
- When you use it: Initial setup, environment updates
- Purpose: Your actual development work
- Usage: Clone from GitHub/GitLab, work locally
- Updates: Regular development workflow
- Sync: Standard Git workflow (push/pull)
- When you use it: Daily development work
- What syncs: Dotfiles, scripts, configurations
- What doesn't sync: Code projects (separate repos)
- How it works: Git repository for environment configs
- When it syncs: On connect, on change, on demand
- Each project: Own Git repository on GitHub/GitLab
- Local development: All work happens locally
- Sync method: Git push/pull to GitHub/GitLab
- Offline development: Works without internet
dev-env/
βββ setup.sh # Main setup script
βββ configs/ # All configurations
β βββ nvim/ # Neovim config
β βββ zsh/ # Shell configs
β βββ git/ # Git configs
βββ scripts/ # Automation scripts
β βββ daily.sh # Daily workflow
β βββ mobile.sh # Mobile optimizations
β βββ sync.sh # Cross-device sync
β βββ backup-system.sh # Enhanced backup system
β βββ setup-git-repo.sh # Git repository setup
β βββ validate-sync.sh # Sync system validation
β βββ project-sfcc.sh # SFCC development
β βββ project-nextjs.sh # Next.js development
β βββ install-ai-tools.sh # AI tools
β βββ uninstall.sh # Safe uninstall
β βββ restore.sh # Restore from backup
βββ tools/ # Custom tools
βββ docs/ # Documentation
βββ .cursor/rules/ # Cursor rules
βββ universal-dev-env.mdc
- β Initial setup on new device
- β Environment updates when repo changes
- β Configuration changes you want to sync
- β Daily development (use your code projects instead)
# Clone and setup dev environment
git clone <your-repo-url> ~/dev-env
cd ~/dev-env
./setup.sh
# This installs everything you need for development
# You only need to do this once per device# Work on your actual projects
cd ~/code/your-project
dev start
# Or use project-specific scripts
./scripts/project-sfcc.sh start
./scripts/project-nextjs.sh start# Clone your projects from GitHub/GitLab
git clone https://github.com/yourusername/your-project.git ~/code/your-project
cd ~/code/your-project
# Start development (uses your dev environment)
dev start# Update dev environment when repo changes
cd ~/dev-env
./scripts/update-env.sh update
# Or manually
git pull
./setup.sh # Only if new tools/configs added
# Sync environment changes across devices
./scripts/sync.sh sync# Install Termux from F-Droid
pkg update && pkg upgrade
pkg install git
git clone <your-repo> ~/dev-env
cd ~/dev-env && ./setup.sh# Install iSH from App Store
apk update && apk upgrade
apk add git
git clone <your-repo> ~/dev-env
cd ~/dev-env && ./setup.shdev start- Start development workflowdev mobile- Mobile optimizationsdev sync- Sync across devices
./setup.sh- Run main setup script./scripts/validate.sh- Validate environment./scripts/uninstall.sh- Safe uninstall./scripts/restore.sh- Restore from backup
sync setup- Setup cross-device synchronizationsync sync- Sync to remote repositorysync pull- Pull from remote repositorysync backup- Create backup onlysync validate- Validate sync configurationbackup create- Create comprehensive backupbackup list- List available backupsbackup restore- Restore from backupbackup info- Show backup information
mobile setup- Setup mobile development environmentmobile dev- Start mobile development workflowmobile sync- Setup mobile syncmobile validate- Validate mobile support
g s- Git statusg a- Git add allg c "msg"- Git commitg p- Git pushlg- Lazygit
- Auto-start: Shows automatically when opening Neovim with no arguments
- Manual access:
<leader>dto show dashboard anytime - Quick actions: Press any key shown to execute action
- Sections:
- π Quick Start (files, grep, buffers, explorer)
- π File Operations (new, open, recent, save)
- π§ Development (terminal, Lazygit, AI, LeetCode)
- π SFCC Development (clean, upload, status)
- π€ AI & Data Science (Jupyter, Python REPL, plots)
- βοΈ System (help, quit, update, health)
- Testing:
./scripts/test-dashboard.shto verify functionality
<leader>sfcc-all- Clean and upload all cartridges<leader>sfcc-clean- Clean cartridges only<leader>sfcc-upload- Upload cartridges only<leader>sfcc-status- Show project status<leader>sfcc-config- Create dw.json template
docker-manager build- Build all Docker environmentsdocker-manager start-dev- Start main development environmentdocker-manager start-sfcc- Start SFCC development environmentdocker-manager start-ai- Start AI/ML development environmentdocker-manager start-data- Start data visualization environmentdocker-manager stop- Stop all environmentsdocker-manager status- Show environment status
./scripts/test-dashboard.sh- Test Neovim dashboard functionality./scripts/test-edge-cases.sh- Test edge cases and error handling./scripts/validate-sync.sh- Validate cross-device sync setup./scripts/validate-mobile.sh- Validate mobile support setup
lc- LeetCode CLItk- Task management
# Setup Git repository for sync
./scripts/setup-git-repo.sh
# Setup cross-device synchronization
./scripts/sync.sh setup
# Create initial backup
./scripts/backup-system.sh create# Sync to remote (push changes)
./scripts/sync.sh sync
# Sync from remote (pull changes)
./scripts/sync.sh pull
# Validate sync system
./scripts/validate-sync.sh# Create comprehensive backup
./scripts/backup-system.sh create
# List available backups
./scripts/backup-system.sh list
# Restore from backup
./scripts/backup-system.sh restore backup-name
# Show backup information
./scripts/backup-system.sh info backup-name# Setup Android/Termux environment
./configs/mobile/android-termux.sh setup
# Start mobile development
./configs/mobile/android-termux.sh dev
# Setup mobile sync
./configs/mobile/android-termux.sh sync# Setup iOS/iSH environment
./configs/mobile/ios-ish.sh setup
# Start mobile development
./configs/mobile/ios-ish.sh dev
# Setup mobile sync
./configs/mobile/ios-ish.sh sync# Validate mobile support
./scripts/validate-mobile.sh# Uninstall without breaking changes
./scripts/uninstall.shThis will:
- Backup everything - All configs, history, SSH keys, custom scripts
- Remove packages - Optional removal of all installed tools
- Remove Node.js - Optional removal of NVM and Node.js
- Restore originals - Restore your original configurations
- Clean directories - Remove all dev-env related files
- Validate uninstall - Ensure everything is properly removed
# Restore from backup (interactive)
./scripts/restore.sh
# Restore from specific backup
./scripts/restore.sh -b ~/dev-env-backup-20241201_143022This will:
- Find backups - List all available backups
- Restore configs - Restore all configurations
- Restore history - Restore shell history
- Restore SSH - Restore SSH keys and configs
- Validate restore - Ensure everything is restored correctly
- Permission denied: Run
chmod +x scripts/*.sh - Command not found: Check PATH in ~/.zshrc
- Git not configured: Run
git config --global user.name "Your Name"
- Termux not working: Install from F-Droid, not Play Store
- iSH limitations: Some features may not work in iSH
- Touch not working: Check Neovim mobile config
- SSH key not working: Add public key to GitHub
- Remote not found: Check git remote URL
- Permission denied: Check SSH key permissions
# Backup current state
./scripts/sync.sh backup
# Reset to clean state
rm -rf ~/.config/nvim
rm -rf ~/.zshrc
rm -rf ~/.zsh_aliases
# Reinstall
./setup.sh# Android/Termux
pkg update && pkg upgrade
rm -rf ~/.config/nvim
./scripts/mobile.sh
# iOS/iSH
apk update && apk upgrade
rm -rf ~/.config/nvim
./scripts/mobile.sh# Reset sync
rm -rf ~/dev-sync
./scripts/sync.sh setup# Validate environment
./scripts/validate.sh
# Check sync status
./scripts/sync.sh validate- Documentation: See
docs/directory - Issues: Check
IMPLEMENTATION_PLAN.mdfor detailed setup - Validation: Run
./scripts/validate.shfor health checks