README.md
August 13, 2026 ยท View on GitHub
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(aliasut): High-performance Rust package manager (Fast, Parallel,npmcompatible).@utoo/pack: Next-gen bundler powered by Turbopack (HMR, TS/JSX, Less/Sass, and more).@utoo/pack-cli: Command-line interface for the bundler (dev server, build). A lightweight wrapper to runupcommands โupis a shortcut alias forutoopack.@utoo/web: Web-compatible version of the toolchain (WASM, Browser-based bundling).
๐ Quick Start
1. Install
# 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
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`)
Pin the project to an exact Utoo release so every contributor and CI runner uses the same package-manager implementation:
{
"packageManager": "utoo@1.1.8"
}
When a local dependency command runs with another Utoo version, Utoo downloads
the matching supported platform package, verifies the registry checksum, caches
it under ~/.cache/nm.utoo-self-pin/<platform>/<version>, and hands the command
off with the same arguments, working directory, and exit behavior. Warm caches
work offline. An invalid cached release is never executed and is reprovisioned
from the registry when available. This applies to local install/add, uninstall,
update, rebuild, and deps commands; scripts, ut x, query commands, and global
installs keep using the current executable. Set UTOO_SELF_PIN=0 to bypass the
handoff temporarily. These entries can be removed with, for example,
utoo clean _utoo-self-darwin-arm64@1.1.8.
Bundling via @utoo/pack-cli
utx up dev # Start dev server with HMR
utx up build # Production build
utx up build --webpack # Build using webpack.config.js
โจ Key Features
- โก Rust Powered: Maximum performance for dependency resolution and bundling.
- ๐ ๏ธ Turbopack Inside: Incremental builds and instant HMR.
- ๐ Webpack Friendly: Partial support for existing Webpack configurations.
- ๐ฆ Monorepo First: Built-in workspace management.
- ๐ Web Ready: Run the entire toolchain in the browser via WASM.
๐ Project Structure
- crates/: Rust core (Package Manager, Bundler Core, WASM/NAPI bindings).
- packages/: TypeScript packages (CLI, Web version, Shared utilities).
- next.js/: Turbopack source integration (Git submodule).
- examples/: Demo projects (React, Ant Design, Webpack-compat, etc.).
๐ค Contributing
We love contributions! Check out CONTRIBUTING.md to get started.
๐ License
Utoo is licensed under the MIT License.