yoo supports Windows, Linux, and macOS. Choose one installation method and avoid installing the executable through multiple package managers at the same time.
The installer supports Linux x86-64 and Apple Silicon macOS. It downloads the raw binary from the latest GitHub release, verifies it against the published SHA256SUMS file, and installs it to ~/.local/bin/yoo.
curl --proto '=https' --tlsv1.2 -LsSf \
https://yo-cli.vercel.app/yo-setup | shEnsure the installation directory is on PATH:
export PATH="$HOME/.local/bin:$PATH"Add that line to ~/.bashrc, ~/.zshrc, or the appropriate shell startup file to make it permanent.
curl --proto '=https' --tlsv1.2 -LsSf \
https://yo-cli.vercel.app/yo-setup |
YOO_VERSION=1.1.3 shcurl --proto '=https' --tlsv1.2 -LsSf \
https://yo-cli.vercel.app/yo-setup |
YOO_INSTALL_DIR="$HOME/bin" shcurl --proto '=https' --tlsv1.2 -LsSf \
https://yo-cli.vercel.app/yo-setup \
--output yoo-install.sh
less yoo-install.sh
sh yoo-install.shUse a prebuilt release binary without compiling locally:
cargo binstall yooInstall Cargo Binstall first if necessary:
cargo install cargo-binstallBuild and install from crates.io:
cargo install yoo --lockedThe JavaScript wrapper downloads the matching prebuilt binary during installation:
npm install -g @nihit_dev/yoopnpm add -g @nihit_dev/yoobun add -g @nihit_dev/yoowinget source update
winget install --id Nihitdev.yoo --exactAdd the official nihitdev bucket:
scoop bucket add nihitdev https://github.com/nihitdev/scoop-nihitdevscoop install nihitdev/yooThe bucket has its own hourly manifest updater. A new release may take time to appear there after its GitHub assets are published.
choco install yooChocolatey and WinGet community review can delay availability of a new version.
Supports Apple Silicon macOS and Linux x86_64 through the nihitdev/tap
community tap:
brew tap nihitdev/tap
brew install yooThe formula verifies SHA-256. Linux release binaries are built on Ubuntu 22.04; older glibc systems should use Cargo or Nix.
Install the yoo-bin package from the AUR with either helper:
yay -S yoo-bin
# or
paru -S yoo-binYou can build it now from this checkout:
cd packaging/aur
makepkg -siIt verifies the release archive, installs /usr/bin/yoo, documentation,
license and Bash/Zsh/Fish completions. Git is an optional dependency.
Binary packaging reuses the release binary and avoids a Rust compilation.
The flake builds from Rust source with Cargo.lock and pinned Nixpkgs.
Linux x86_64/ARM64 and Apple Silicon macOS are exposed:
nix run github:nihitdev/yo-cli
nix profile install github:nihitdev/yo-cli
# From a checkout:
nix build
nix flake checkEnable Nix's nix-command and flakes experimental features if needed.
Host Git, development tools and editors are detected from PATH.
Install or refresh the hosted repository and its trusted signing key with:
curl -fsSL https://yo-cli.vercel.app/apt/setup.sh | sudo sh
sudo apt install yooWhen the repository signing key is rotated, existing installations must rerun
the setup command before their next apt update. APT continues to trust the
old key already installed on the machine; it does not switch to the new key
automatically. The setup script verifies the downloaded key fingerprint,
replaces the installed keyring, and runs apt-get update.
Download yoo_<version>-1_amd64.deb and SHA256SUMS from the same release:
sha256sum --check --ignore-missing SHA256SUMS
sudo dpkg -i yoo_*.deb
# If dpkg reports missing dependencies:
sudo apt-get -f installBuild on Debian/Ubuntu with dpkg-dev installed so library dependencies can be
detected (other host distributions lack Debian package ownership information):
cargo install cargo-deb --locked
cargo debOutput is in target/debian/. Runtime library dependencies are generated from
the binary. Release packages target x86_64, built on Ubuntu 22.04; native builds
on other Linux architectures use the local toolchain.
Add https://yo-cli.vercel.app/alpine to /etc/apk/repositories, then install:
sudo apk add yoosudo dnf config-manager addrepo --from-repofile=https://yo-cli.vercel.app/rpm/yoo.repo
sudo dnf install yooDownload yoo-<version>-1.x86_64.rpm and verify the release's SHA256SUMS:
sha256sum --check --ignore-missing SHA256SUMS
sudo rpm -i yoo-*.rpmOr use sudo dnf install ./yoo-*.rpm to resolve dependencies. Build locally:
cargo install cargo-generate-rpm --locked
cargo build --release --locked
cargo generate-rpmOutput is in target/generate-rpm/. Runtime library requirements are automatically
detected. Standalone release RPMs are signed; Fedora users can also use the
hosted DNF repository at https://yo-cli.vercel.app/rpm/. The openSUSE-specific
repository is documented below. The release baseline is Ubuntu 22.04's glibc;
older distributions may need a native source build.
The hosted repository targets x86_64 Tumbleweed and keeps both package and repository GPG verification enabled:
sudo zypper ar -f https://yo-cli.vercel.app/opensuse yoo
sudo zypper refresh
sudo zypper install yooFuture releases are picked up with sudo zypper refresh && sudo zypper update yoo.
The repository metadata and RPM are signed with the yoo RPM key exposed at
https://yo-cli.vercel.app/opensuse/RPM-GPG-KEY-yoo. Do not disable GPG checks.
Build the package locally on Tumbleweed with the spec in
packaging/opensuse/yoo.spec:
sudo zypper install cargo cargo-packaging createrepo_c rpm-build gpg2
rpmbuild -ba packaging/opensuse/yoo.specRepository maintenance, signing-key setup, and the required release secrets are documented in packaging/opensuse/README.md.
.xbps packages are built and tested in CI and attached to GitHub Releases.
There is no hosted XBPS repository.
Snap builds are attached to GitHub Releases; Snap Store publication is disabled.
After the maintainer registers the name and publishes a stable channel:
sudo snap install yooFor a downloaded release artifact (locally built snaps are unsigned):
sudo snap install --dangerous ./yoo_*.snap
snap run yoo --versionThe snap uses strict confinement. home provides access to non-hidden home
projects; removable-media is optional and must be explicitly connected to
inspect projects under mounted media:
sudo snap connect yoo:removable-mediaThere is no network interface. Hidden home paths, arbitrary system directories,
host toolchains, and host editors are unavailable. Git is bundled for repository
inspection, but user-level Git configuration outside the sandbox may be absent.
Configuration lives in the snap's own home. doctor, environment reporting and
edit do not represent the full host environment. Choose a native package for
complete functionality. No classic-confinement approval is needed.
Build with snapcraft from the repository root. The version comes from
Cargo.toml through adopt-info; the manifest supports amd64 and arm64, with
amd64 built automatically by CI.
Flatpak is an imperfect fit for this terminal CLI. The manifest grants broad read-only host filesystem access to inspect local projects. Flatpak still masks some system paths and does not expose host executable toolchains through the sandbox PATH. Git/tool detection and launching host editors are limited; configuration is stored under the app's sandbox directory. It does not grant host execution, network access or general host write access.
There is no Flathub listing. Use the self-hosted repository:
flatpak remote-add --user yoo https://yo-cli.vercel.app/flatpak/yoo.flatpakrepo
flatpak install --user yoo io.github.nihitdev.yooOr install the release bundle locally:
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.freedesktop.Platform//25.08
flatpak install --user ./yoo-*.flatpak
flatpak run io.github.nihitdev.yoo --version
flatpak run --cwd="$PWD" io.github.nihitdev.yoo projectFor source builds, install flatpak-builder, the matching Freedesktop SDK and
Rust SDK extension, then:
flatpak install --user flathub org.freedesktop.Sdk//25.08 org.freedesktop.Sdk.Extension.rust-stable//25.08
bash scripts/flatpak-source.sh
flatpak-builder --user --disable-rofiles-fuse --repo=target/flatpak-repo target/flatpak-build packaging/flatpak/io.github.nihitdev.yoo.yml
flatpak build-bundle target/flatpak-repo target/yoo.flatpak io.github.nihitdev.yooThe preparation step vendors locked Cargo dependencies; compilation is offline inside Flatpak. No network permission is granted to the installed application.
git clone https://github.com/nihitdev/yo-cli.git
cd yo-cli
cargo install --path .yoo --version
yoo doctorIf the shell cannot find yoo, restart the terminal and confirm the installation directory appears in PATH.
Repeat the command for the installation method originally used. Examples:
cargo install yoo --force
npm update -g @nihit_dev/yoowinget upgrade --id Nihitdev.yoo --exact
scoop update yooUse the matching package manager:
cargo uninstall yoo
npm uninstall -g @nihit_dev/yooFor an installer-script installation:
rm "$HOME/.local/bin/yoo"Removing the executable does not delete the optional configuration file. Run yoo config before uninstalling if you need to locate it.