README.md

August 13, 2026 ยท View on GitHub

Utoo Logo

Utoo

Unified Toolchain: Open & Optimized

license PRs Welcome Ask DeepWiki

npm npm npm

downloads downloads downloads

PM CI Pack CI


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?

FeatureDescription
UnifiedOne tool for package management, building, and workflow automation.
PerformanceCore logic in Rust + Turbopack for extreme speed.
CompatibleSeamless migration with Webpack compatibility mode.
UniversalRun anywhere: Local, CI, or Browser (via WASM).

๐Ÿ“ฆ Core Components

  • utoo (alias ut): High-performance Rust package manager (Fast, Parallel, npm compatible).
  • @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 run up commands โ€” up is a shortcut alias for utoopack.
  • @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.