dev is a blazing-fast, interactive Terminal User Interface (TUI) tool written in Go. It is designed to automate the tedious tasks of setting up and managing web development environments on Arch Linux (with Zsh).
The Philosophy: Zero subcommands to memorize. Forget install, update, or doctor arguments. Just type dev and let the unified interactive dashboard handle the rest.
- One-Command Dashboard: Run
devto open a centralized control panel for your entire dev machine. - Smart Diagnostics: Instantly see installed tools, their versions, paths, and
$PATHmisconfigurations in a beautiful auto-sizing table. - Package Management: Install, update, or uninstall dev tools using a keyboard-driven checklist. Automatically detects and uses AUR helpers (
yayorparu) if available. - Service Manager: Start, stop, enable, or disable background services (
systemctl) like Docker or PostgreSQL directly from the UI. - Project Scaffolding: Spin up new projects in seconds (Next.js, React, Vue, Express, Laravel, Django, Spring Boot, Go API) with automated dependency isolation.
- Automated
$PATH: Automatically injects necessary environment variables into your~/.zshrc.
- Runtimes/Langs: Node.js (via
fnm), Bun, Go, PHP, Python, Java (JDK). - Package Managers: Composer, Maven.
- Databases/Cache: PostgreSQL, MariaDB, Redis.
- DevOps/Servers: Docker, Nginx.
- OS: Arch Linux.
- Shell: Zsh.
- Go: Version 1.21+ (to build from source).
git clone https://github.com/mttk2004/dev.git
cd dev
go mod tidy
go build -o dev
sudo mv dev /usr/local/bin/Drop the CLI arguments. Just run:
devFrom the interactive menu, you can navigate using your arrow keys and Enter to:
- 📦 Install packages (Smartly filters out already installed tools).
- 🔄 Update packages (Updates Arch packages & standalone tools).
- 🧹 Uninstall / Clean packages
- 🔍 Search for a package (Queries Pacman/AUR directly).
- ⚙️ Manage Services (Toggle running states of local databases & servers).
- ✨ Create New Project (Scaffold boilerplate for 9+ different frameworks).
This project follows a clean Go architecture separating the UI from system logic:
cmd/root.go: The single entrypoint launching the TUI.internal/tui/: Interactive UI components built withcharmbracelet/huh.internal/pkgmanager/: Arch-native package installation and AUR routing.internal/scaffold/: Project template generation logic.internal/system/: OS-level utilities (Zsh configs, systemctl, command detection).internal/doctor/: System diagnostic and health reporting.