@dreezdev/cli
v1.1.8
Published
A blazing-fast developer CLI to update and manage your dev tools
Maintainers
Readme
⚡ dreez
A blazing-fast developer CLI built on Bun
Update, manage, and configure your dev tools — with style.
✨ Features
- 🚀 Animated spinners — real-time progress feedback, bun/npm style
- 📦 Multi package manager support —
bun,npm,pnpm,deno - 🔧 Tool updates made easy — one command to uninstall, reinstall, and configure
- 💬 Interactive prompts — asks before making permanent changes (e.g. setting default PM)
- 🎨 Colorful, clean output — powered by picocolors
📦 Installation
Requires Bun v1.0+
Install globally (recommended)
bun install -g dreez-cliOr clone and link locally
git clone https://github.com/DreezDev/dreez-cli.git
cd dreez-cli
bun install
bun link🚀 Usage
dreez [options] <command> <tool>Global options
| Flag | Alias | Default | Description |
| ---------------- | ----- | ------- | ----------------------------------------------------- |
| --pm <manager> | -p | bun | Package manager to use (bun, npm, pnpm, deno) |
| --version | -V | — | Print the current version |
| --help | -h | — | Display help information |
📖 Commands
update
Updates a supported developer tool to its latest version.
dreez update <tool> [--pm <manager>]Supported tools
| Tool | Command | Description |
| ----------- | ---------------------- | -------------------------------------------------------- |
| Angular CLI | dreez update angular | Reinstalls @angular/cli globally to the latest version |
Examples
# Update Angular CLI using bun (default)
dreez update angular
# Update Angular CLI using npm
dreez update angular --pm npm
# Update Angular CLI using pnpm
dreez update angular --pm pnpmWhat happens during update angular
- 🔄 Removes the current global
@angular/cli - 📦 Installs
@angular/cli@latestvia the selected package manager - 💬 Asks if you want to set the selected PM as Angular's default (only for
bunornpm) - ✅ Prints the installed Angular CLI version
⠙ Removing current Angular CLI via bun...
✔ Angular CLI removed
⠹ Installing latest Angular CLI via bun...
✔ Angular CLI updated to latest
? Set bun as the default Angular package manager? (y/N) y
✔ bun set as default Angular package manager
✅ Angular CLI updated successfully!🗂️ Project Structure
dreez-cli/
├── src/
│ ├── index.ts # CLI entry point (Commander setup)
│ └── commands/
│ ├── shared/
│ │ └── utils.ts # Spinner, confirm prompt, shared helpers
│ └── update/
│ └── angular.ts # `dreez update angular` implementation
├── package.json
└── tsconfig.json🛠️ Development
# Install dependencies
bun install
# Run locally (without building)
bun run src/index.ts update angular
# Type-check
bun run tsc --noEmit
# Run with a specific package manager flag
bun run src/index.ts update angular --pm npm🗺️ Roadmap
dreez is designed to be extended. Planned commands and tools:
- [ ]
dreez update node— update Node.js via a version manager - [ ]
dreez update bun— self-update Bun runtime - [ ]
dreez update nx— update Nx workspace tooling - [ ]
dreez install— scaffold common project setups - [ ]
dreez config— manage global dreez preferences - [ ] Plugin system for community-contributed tools
🚢 Releasing
Este proyecto usa GitHub Actions para CI/CD automático:
| Trigger | Workflow | Acción |
| ------------------------------ | ------------- | --------------------- |
| Push / PR a main | ci.yml | Type-check + Build |
| Crear un Release en GitHub | publish.yml | Build + Publish a npm |
Cómo publicar una nueva versión
# 1. Commitea todos tus cambios a main
git push origin main
# 2. Ve a GitHub → Releases → Draft a new release
# Tag: v1.1.0 (el workflow sincroniza el package.json automáticamente)
# Title: v1.1.0 - <descripción>
# Click "Publish release" → GitHub Actions publica a npm 🚀⚙️ Requisito: Agrega tu
NPM_TOKENcomo secret enGitHub repo → Settings → Secrets → Actions → New repository secretNombre:NPM_TOKEN| Valor: token de npmjs.com/settings/tokens (tipo Automation)
🤝 Contributing
Contributions are welcome! To add support for a new tool:
- Create
src/commands/update/<tool>.ts - Implement and export an
update<Tool>(pm: string)function - Register the tool in
src/index.tsunder theupdatecommand action - Add an entry to the Supported tools table in this README
📄 License
MIT © andry
