Welcome to the DevStackBox contributor and Copilot guide!
This file will help you develop for the modern Tauri + Vite + React + Tailwind CSS + shadcn/ui + Framer Motion stack, and use GitHub Copilot in Visual Studio Code for efficient, maintainable development.
Author: Nomad Programmer
Contact: shiv@srapsware.com
Repository: ProgrammerNomad/DevStackBox
Documentation & Issues: GitHub Issues and GitHub Wiki
Auto-updates: Managed via GitHub Releases with Tauri’s updater.
DevStackBox is a lightweight, portable, open-source local development environment for PHP developers.
It is built with Tauri for a smaller, faster, and more native experience, using a modern, maintainable frontend stack.
All documentation, project management, and bug reporting are via GitHub.
Key stack points:
- All backend/service management runs in Rust via Tauri.
- The frontend is a Vite-powered React app, styled with Tailwind CSS and shadcn/ui, using Framer Motion for animations.
- No custom CSS unless absolutely necessary; dark/light mode is required everywhere.
- Primary OS: Windows 11 (development and primary testing)
- Editor: Visual Studio Code (with Copilot extension)
- Frontend: Vite + React + Tailwind CSS + shadcn/ui + Framer Motion
- Backend: Tauri (Rust)
- No custom CSS: Use only Tailwind and shadcn/ui, document any CSS exceptions.
- Dark/Light Mode: All UI must fully support both (Tailwind/shadcn/ui patterns).
- Auto-update: App is auto-updated from GitHub Releases.
Install:
git clone https://github.com/ProgrammerNomad/DevStackBox.git
cd DevStackBox
pnpm install # or npm/yarn
cargo install tauri-cli
pnpm tauri dev # or npm run tauri devDevStackBox/
├── src-tauri/ # Rust backend (service mgmt, config, IPC, updater)
├── src/ # Frontend: Vite + React + Tailwind + shadcn/ui + Framer Motion
├── mysql/ # Portable MySQL setup
├── php/ # PHP 8.3 binaries (default)
├── apache/ # Apache setup (planned)
├── phpmyadmin/ # phpMyAdmin
├── apps/ # One-click app installers (planned)
├── config/ # Config files (php.ini, my.cnf, httpd.conf, etc.)
├── config-backups/ # Config backups
├── logs/ # Service/app logs
├── www/ # Web root (planned)
├── locales/ # i18next translations (EN, HI)
└── package.json
| Feature | Status | Description |
|---|---|---|
| MySQL Database | ✅ Available | Embedded MySQL with GUI control |
| phpMyAdmin Integration | ✅ Available | Built-in database management |
| Modern Tailwind/shadcn/ui/Framer UI | ✅ Available | Responsive, animated, utility-first UI |
| Config Management (Backup/Restore) | ✅ Available | Syntax highlighting, backup/restore |
| Multilanguage UI (i18next, EN/HI) | ✅ Available | English & Hindi, Unicode correct |
| Clean Semantic Versioning | ✅ Available | MSI-compatible version format (v0.1.6) |
| GitHub Actions CI/CD | ✅ Available | Automated builds with MSI & NSIS installers |
| Project Structure Cleanup | ✅ Available | Organized codebase with proper file locations |
| Build Optimization | ✅ Available | 288.9MB MSI, 147.7MB NSIS installers |
| Crash & Bug Reporting via GitHub | 🔄 In Progress | Report bugs/crashes via GitHub Issues |
| Logs Viewer | 🔄 In Progress | Real-time log viewing with filter/search |
| System Tray Integration | ✅ Available | Minimize to tray/quick actions |
| Auto-Update | 🔄 In Progress | Via GitHub Releases |
| Apache HTTP Server | 🕓 Planned | Portable Apache, vhost & HTTPS |
| Multiple PHP Versions | 🕓 Planned | Download via in-app installer |
| One-Click App Installers | 🕓 Planned | WordPress, Laravel, etc. |
| PHP Extensions Management | 🕓 Planned | Enable/disable per version |
| Security Analyzer | 🕓 Planned | Scan configs/code for issues |
| Mail Testing Tools | 🕓 Planned | Mailhog, etc. |
| Portable Mode | 🕓 Planned | All data in app folder |
| Database/User Management | 🕓 Planned | Manage users, backup/restore, SSL |
| Database Backup/Restore (One-Click) | 🕓 Planned | UI to export/import MySQL databases |
| Quick Launch Tools | 🕓 Planned | Terminal (PHP/MySQL CLI), copy connection string, etc. |
| Full App/Data Backup/Restore | 🕓 Planned | Backup configs, databases, logs in one click |
| Automatic Virtual Host Management | 🕓 Planned | Pretty URLs like myapp.test |
| HTTPS/SSL for Local Sites | 🕓 Planned | One-click SSL for local domains and phpMyAdmin |
| Project Templates/Cloning | 🕓 Planned | Clone from Git or use templates for new projects |
| Composer Integration | 🕓 Planned | Global/per-project Composer support |
| PHP INI & Apache Config Editors | 🕓 Planned | User-friendly config editing |
| PHP Error Display Toggle | 🕓 Planned | Enable/disable display_errors from UI |
| Service Status & Tray Notifications | 🕓 Planned | Tray notifications for service events |
| Portable PHP CLI | 🕓 Planned | Terminal with PHP version selector |
| Bundled Tools (curl, git, node, npm, etc.) | 🕓 Planned | Optionally bundle common CLI tools |
| Log Viewer Enhancements | 🕓 Planned | Real-time, filterable, tabbed log viewer for all services/apps |
| Project Full Backup/Restore | 🕓 Planned | Backup/restore www files, configs, databases |
Legend:
✅ Available 🔄 In Progress 🕓 Planned
-
Backend (Rust, src-tauri):
"Write a Tauri command to start MySQL and return its status to the frontend."
"Add a Tauri command to download additional PHP binaries via an in-app installer." -
Frontend (React, src/):
"Create a MySQL control panel using shadcn/ui, Tailwind, Framer Motion; support dark/light mode."
"Add a modal for backup/restore using shadcn/ui and Tailwind."
"Implement a language switcher with i18next and Unicode support for Hindi." -
Config & Logs:
"Show a real-time logs viewer with tabs for MySQL, Apache, PHP logs using Tailwind and xterm.js."
"Add config editor with Monaco and backup/restore UI using shadcn/ui." -
General:
"All UI must support dark/light mode and be styled only with Tailwind/shadcn/ui."
- Default PHP: Only PHP 8.3 is bundled by default.
- Other Binaries: Downloadable on demand via the in-app distribution installer—do not bundle extra binaries by default.
- "Add a config editor with Monaco and backup/restore, styled with Tailwind and shadcn/ui, supporting dark/light mode."
- "Implement a logs viewer in React using xterm.js, with tabs for each service, filter and search, and animated transitions with Framer Motion."
- "Write a Tauri command in Rust to download and extract a PHP version into the php/ directory and notify the frontend on completion."
- "Create a modal with shadcn/ui for reporting bugs, which opens a GitHub Issue link with prefilled content."
- "Implement a multilanguage language switcher with i18next and Unicode support for Hindi, styled for header consistency."
- Use i18next for all user-facing text (English & Hindi)
- Use Tailwind and system fonts for perfect Unicode/Devanagari rendering
- Language switcher must use Unicode names ("English", "हिन्दी") and consistent header styling
- All UI styled only with Tailwind and shadcn/ui; do not use custom CSS unless essential and well-documented.
- All components must support both dark and light mode via Tailwind/shadcn/ui.
- Animations and transitions must use Framer Motion (not CSS keyframes or raw JS).
- Responsive, accessible, and visually consistent.
- Use shadcn/ui dialogs, modals, menus everywhere possible.
DevStackBox uses a combination of modern, desktop-inspired navigation patterns for clarity and usability:
-
Sidebar Navigation (Primary):
Use shadcn/ui'sNavigationMenuor a custom sidebar for main sections (Dashboard, Projects, Services, Logs, Settings, About).- Supports icons, labels, section grouping, and collapsible "rail" mode.
- Copilot prompt:
"Create a sidebar menu with shadcn/ui and Tailwind, supporting dark/light mode and collapsible icons."
-
Top Bar (Secondary):
Place global actions (theme switcher, language selector, user menu, updates) in a sticky top bar above or beside the sidebar.- Copilot prompt:
"Implement a top bar with theme and language switchers, using shadcn/ui and Tailwind."
- Copilot prompt:
-
Tabs (Sub-navigation):
Use shadcn/ui'sTabsfor sub-sections within a page (e.g., "Overview | Logs | Settings" for a given service).- Copilot prompt:
"Add tabs for logs and settings in a service detail view, using shadcn/ui Tabs."
- Copilot prompt:
-
Context Menus:
Use shadcn/ui'sContextMenufor right-click/“more” actions on project, database, or service items.- Copilot prompt:
"Add a context menu for each database row with edit/delete options using shadcn/ui."
- Copilot prompt:
-
Command Palette:
Add a command palette (Ctrl+P/Cmd+P) with shadcn/ui'sCommandfor fast search, navigation, and command execution (power user feature).- Copilot prompt:
"Create a command palette using shadcn/ui Command for quick actions and navigation."
- Copilot prompt:
-
Floating Action Buttons:
For quick “add” actions (e.g., new project/database), use floating shadcn/uiButtonwith fixed positioning (optional, desktop only).
Guidelines:
- All navigation must be accessible (keyboard, screen readers).
- Sidebar and command palette are primary navigation for all major DevStackBox features.
- Always use Tailwind and shadcn/ui components for styling and transitions (no custom CSS unless needed).
✅ Major Fixes Completed:
- MSI Compatibility: Fixed version format from
0.1.0-alpha.6to0.1.6for MSI bundler - File Structure: Resolved accidental deletion of critical files (
globals.css,main.tsx,index.html) - GitHub Actions: Fixed emoji encoding issues causing PowerShell parsing errors
- CSS Pipeline: Restored complete Tailwind CSS compilation (27.60 kB output)
- Build System: Successfully generating both MSI (288.9MB) and NSIS (147.7MB) installers
🎓 Key Lessons:
- Always use clean semantic versioning for MSI compatibility (no hyphens, no text)
- Avoid emoji characters in PowerShell scripts for GitHub Actions
- Verify file locations before deletion - check if files are truly duplicates
- Root-level files may be the correct ones in Vite projects
- Test build output to ensure CSS is being compiled correctly
🔧 Technical Improvements:
- GitHub Actions workflow is now emoji-free and stable
- Proper project structure following Vite + React + Tauri best practices
- All source files correctly organized with proper import paths
- Build artifacts cleaned up for release preparation
- Releases and all auto-updates are via GitHub Releases.
- All bug/crash reporting and documentation is managed via GitHub Issues and Wiki.
- Fork, branch, code, and PR as usual.
- Use Copilot for both Rust (backend) and React (frontend) code.
- Comment/refactor Copilot suggestions as needed.
- Keep code linted, typed, and documented.
- Test on all platforms (Windows 11 is primary).
- Contact: shiv@srapsware.com
Let’s build the most modern, beautiful, and lightweight PHP dev stack together!
Author: Nomad Programmer • Email: shiv@srapsware.com • Project on GitHub
and never use any emojis anywhere and don't use any such character that does not exist on the keyboard. also never use any custom css and always use tailwind and shadcn/ui for styling. also all ui must support dark and light mode.