Overview
"One command installs everything. Skip the installer clicking and get your perfect development environment in just 5 minutes."The app is completely transparent — it doesn't run anything on your machine, it simply generates the exact shell script using the official package managers (winget on Windows, brew on macOS, apt on Linux), which you paste into your own terminal. Source code is open on GitHub under the MIT License.
Key Features
- 500+ Package Catalog: A curated library of developer tools organized across 8 categories (Browsers, Development Tools, Communication, Media, Utilities, and more) — all sourced from official publishers via Microsoft's Winget, Apple's Homebrew, and Linux repositories.
- Cross-Platform Script Generation: Select your OS (Windows / macOS / Linux) and the app instantly generates the correct native script — PowerShell for Windows, Bash for macOS and Linux — with the exact package identifiers for each manager.
- One-Click Copy: The generated script is displayed in a styled terminal preview window and copied to clipboard with a single button. Paste it into any terminal and watch everything install automatically.
- AI-Assisted Selection: Use AI to describe your role or project type and get a smart package recommendation. A backend developer gets Node.js, Docker, and Postman. A designer gets Figma, Chrome, and VS Code.
- Shareable Presets: Selections are encoded directly into URL parameters so you can share your perfect setup with your whole team via a single link. Everyone gets the same environment, instantly.
- Save & Restore: Create named presets for your team configuration. Restore your complete environment on any new machine without remembering what you had before.
- Blazing Fast, No Server Required: All package data lives in static JSON files. The entire script generation happens client-side with zero server roundtrips — making it instantaneous even on slow connections.
Architecture & Technical Decisions
How "One Command" Works
- Browse — Package data (packages.json, mac-packages.json, linux-packages.json) is maintained as static JSON files, making the catalog fast to load and trivially extensible.
- Select — A Zustand store tracks the selected OS and the user's chosen packages reactively. Selections persist in the URL via encoded query parameters.
- Generate — When the user clicks "Generate", utility functions in lib/utils.ts iterate over the selected package IDs and format them as native package manager commands — winget install --id X for Windows, brew install X for macOS, apt install X for Linux.
- Install — The user copies the output and pastes it into their own terminal. Installora never executes code — it only generates it.
Tech Stack
| Technology | Role |
|---|---|
| Next.js 15 (App Router) | Framework and routing |
| React 19 | UI component layer |
| TypeScript 5 | End-to-end type safety |
| Tailwind CSS v4 | Utility-first styling with CSS-first config |
| Zustand v5 | Lightweight, reactive global state for OS selection and package selections |
| Lucide React | Icon library |
| Vercel | Hosting and CI/CD |
State Management Design
- store/os.ts — Tracks the selected operating system (Windows / macOS / Linux), which drives which package catalog is shown and which script format is generated.
- store/selection.ts — Tracks all user-selected package IDs as a Set. Adding and removing packages updates the generated command in real time with no re-renders of the full list.
