Bootstrap CLI aims to be the standard tool for setting up development environments across Linux, macOS, and WSL. It provides an interactive, guided experience for installing and configuring development tools, making it easy for developers to replicate their preferred environment across different machines.
-
Guided Setup Experience
- Interactive CLI interface for selecting tools and configurations
- Clear categorization of tools (essential, modern CLI, system tools)
- Step-by-step wizard with progress tracking
- Validation at each step
-
Cross-Platform Compatibility
- Support for Ubuntu/Debian, Fedora, Arch Linux
- macOS support via Homebrew
- WSL2 compatibility
- Consistent experience across platforms
-
Modular Architecture
- Package manager abstraction
- Pluggable tool definitions
- Template-based configurations
- Extensible shell support
-
Reproducible Environments
- Config export/import
- Version-controlled dotfiles (GitHub-only for MVP)
- Validation and verification
- Idempotent operations
- GUI application development
- System-wide configuration management
- Container orchestration
- Remote system management
-
Usability
- Complete setup in under 10 minutes
- No manual intervention needed
- Clear error messages and recovery
- Comprehensive help documentation
-
Reliability
- 100% success rate for supported platforms
- Validation for all installed tools
- No system corruption possible
- Clean rollback on failure
-
Performance
- Parallel installation where possible
- Caching of downloaded assets
- Minimal memory footprint
- Quick startup time
- OS type, distro, architecture, kernel, RAM, disk
- Package manager detection (
apt,dnf,pacman,brew, etc.)
- Default tool detection (git, curl, etc.)
- Modern CLI tools (bat, fzf, lsd, ripgrep, etc.)
- Shell selection (zsh, bash, fish)
- Prompt configuration (Starship)
- Font install (JetBrains Mono, Nerd Fonts)
- Node (nvm), Python (pyenv), Go (goenv), Rust (rustup)
- GitHub clone only (MVP scope)
- No local sync/restore in MVP
- Templates (minimal, dev, sysadmin, data sci)
- Syntax validation and testing
- Custom overrides and export
- Interactive CLI with:
- spinners
- progress bars
- step indicators
- validation prompts
promptuiorsurveyin MVPBubbleteaand styling enhancements in v2
- Launch → detect system
- Choose tools → install
- Select shell + setup config
- Clone dotfiles + fonts
- Install languages
- Validate config + complete
- Runs the entire journey in sequence
- Optionally supports
--configfor non-interactive setup
- Welcome Screen
- Package Manager Select
- Core Tools
- Shell + Fonts
- Language Versions
- Dotfiles
- Config Templates
- Install Progress
- Validation & Finish
- Config syntax check
- Tool availability after install
- Dotfile path + symlink check
- Minimal (bare essentials)
- Developer (git, nvm, zsh, tools)
- System Admin (network tools, tmux, btop)
- Data Scientist (Python, Jupyter, etc.)
- Plugin system
- Remote sync and backup
- Notification/logging layer
- GUI launcher wrapper
See docs/WIREFRAMES.md for screen-by-screen layout.