Utoo
Unified Toolchain: Open & Optimized
[](./LICENSE)
[](./CONTRIBUTING.md)
[](https://deepwiki.com/utooland/utoo)
[](https://www.npmjs.com/package/utoo)
[](https://www.npmjs.com/package/@utoo/pack)
[](https://www.npmjs.com/package/@utoo/web)
[](https://www.npmjs.com/package/utoo)
[](https://www.npmjs.com/package/@utoo/pack)
[](https://www.npmjs.com/package/@utoo/web)
[](https://github.com/utooland/utoo/actions/workflows/pm-ci.yml)
[](https://github.com/utooland/utoo/actions/workflows/pack-ci.yml)
---
Utoo is a modern, high-performance frontend toolchain designed to provide a unified and optimized experience. It combines a fast package manager, a powerful bundler, and a flexible command system into a single, cohesive ecosystem.
## 💡 Why Utoo?
| Feature | Description |
| :--- | :--- |
| **Unified** | One tool for package management, building, and workflow automation. |
| **Performance** | Core logic in Rust + Turbopack for extreme speed. |
| **Compatible** | Seamless migration with Webpack compatibility mode. |
| **Universal** | Run anywhere: Local, CI, or Browser (via WASM). |
## 📦 Core Components
- **[`utoo`](crates/pm)** (alias **`ut`**): High-performance Rust package manager (Fast, Parallel, `npm` compatible).
- **[`@utoo/pack`](packages/pack)**: Next-gen bundler powered by **Turbopack** (HMR, TS/JSX, Less/Sass, and more).
- **[`@utoo/pack-cli`](packages/pack-cli)**: Command-line interface for the bundler (dev server, build). A lightweight wrapper to run `up` commands — `up` is a shortcut alias for `utoopack`.
- **[`@utoo/web`](packages/utoo-web)**: Web-compatible version of the toolchain (WASM, Browser-based bundling).
## 🚀 Quick Start
### 1. Install
```bash
# Install the core toolchain (pick one)
brew install utooland/tap/utoo # macOS / Linux via Homebrew
npm install -g utoo # cross-platform via npm
cargo install utoo-pm # build from source via Cargo
# Install the bundler in nodejs environment
ut install @utoo/pack --save-dev
# Install the bundler cli in nodejs environment(Optional)
ut install @utoo/pack-cli --save-dev
# Install the web version
ut install @utoo/web --save
```
### 2. Use
#### Package Management
```bash
ut install # Install dependencies (or use `ut install`)
ut add lodash # Add a package (or use `ut add`)
ut x create-react # Execute a package (npx style, or use `ut x`)
ut pm-pack --pack-destination ./.tarballs # Collect a package tarball in one directory
```
`pm-pack` writes the tarball into the package directory by default. Use
`--pack-destination