zillowe/zoi
3
7
Fork
You've already forked zoi
0
Universal Package Manager & Environment Setup Tool, GitLab Mirror https://gitlab.com/zillowe/zillwen/zusty/zoi
  • Rust 94.7%
  • Shell 2.5%
  • Lua 1%
  • PowerShell 1%
  • Just 0.3%
  • Other 0.4%
2026年07月13日 16:53:08 +03:00
.github Build(setup): Consolidate shell configuration 2025年09月15日 07:47:14 +03:00
.gitlab/issue_templates Docs: Update gitlab issue templates 2025年09月18日 18:14:56 +03:00
app Style: Update banners to use Zeno Sans font 2026年06月27日 00:24:23 +03:00
crates Release: Bump dev version to 1.23.0 2026年07月13日 12:14:30 +03:00
docs Feat(lua): Update LOCATION table to reflect staging directory paths 2026年07月12日 12:48:50 +03:00
packages Build: Fix rpm spec 2026年07月13日 16:53:08 +03:00
scripts CI: Add fedora copr package 2026年07月08日 13:58:54 +03:00
.cliffignore CI(release): Add automated changelog generation 2025年09月15日 22:57:14 +03:00
.dockerignore Docs: Update PACKAGING.md 2025年09月18日 22:13:14 +03:00
.env.example Refactor(build): Refactor build script and reorganize builtin asset paths 2026年05月22日 22:14:44 +03:00
.gitignore Build: Remove incremental build number tracking 2026年07月13日 12:09:26 +03:00
.gitlab-ci.yml Release: Bump prod version to 1.22.1 2026年07月12日 13:58:19 +03:00
about.hbs CI: Add dependency scanning and license reporting 2026年06月27日 18:55:13 +03:00
about.toml CI: Add dependency scanning and license reporting 2026年06月27日 18:55:13 +03:00
AGENTS.md Refactor(build): Unify workspace linting and crate structure 2026年06月26日 14:56:54 +03:00
Cargo.lock Release: Bump dev version to 1.23.0 2026年07月13日 12:14:30 +03:00
Cargo.toml Release: Bump dev version to 1.23.0 2026年07月13日 12:14:30 +03:00
CHANGELOG.md Docs: Docs update 2026年07月12日 13:38:34 +03:00
cliff.toml Refactor: Transition to workspace-based CI and linting 2026年06月26日 15:45:34 +03:00
CODE_OF_CONDUCT.md Docs: Update Code of Conduct 2025年10月17日 13:42:42 +03:00
configure Build: Add Clang as a dep 2026年07月08日 13:49:58 +03:00
CONTRIBUTING.md Build: Fix Zoi packages 2026年07月12日 13:34:27 +03:00
deny.toml Deps: Fix cargo-deny 2026年07月08日 23:01:54 +03:00
Dockerfile Build: Add Clang as a dep 2026年07月08日 13:49:58 +03:00
gct.yaml CI(gitlab): Migrate release notes generation to GCT 2026年05月26日 23:05:07 +03:00
Justfile Build: Remove incremental build number tracking 2026年07月13日 12:09:26 +03:00
LICENSE Docs: Update 2026年02月17日 17:24:43 +03:00
PACKAGING.md Build: Add Clang as a dep 2026年07月08日 13:49:58 +03:00
README.md Build: Fix Zoi packages 2026年07月12日 13:34:27 +03:00
RELEASE.md Style: Format markdown files 2026年06月28日 12:57:45 +03:00
renovate.json Feat: Add registry type field, local sync, semver ranges, and platform lockfiles 2026年07月01日 16:48:16 +03:00
rust-toolchain.toml Build(tools): Add CLI completion and man page generation 2025年09月15日 23:14:12 +03:00
SECURITY.md Docs: Docs update 2026年07月09日 08:58:59 +03:00
zoi.lock Build: Add zoi.lock 2026年07月08日 00:09:42 +03:00
zoi.lua Build: Add zoi.lock 2026年07月08日 00:09:42 +03:00

Zoi Banner

Advanced Package Manager & Environment Orchestrator







Table of Contents

Zoi is an advanced package manager and environment orchestrator, designed to simplify package management and environment configuration across multiple operating systems.

Features

  • Cross-Platform: Works seamlessly on Linux, macOS, and Windows.
  • Dynamic Package Definitions: Define packages with dynamic Lua scripts (.pkg.lua) for maximum flexibility.
  • Extensive Dependency Management: Integrates with over 40 system and language package managers (apt, brew, cargo, npm, pip, go, bun, etc.).
  • Project Environments: Manage project-specific commands and environments using a local zoi.yaml or a zoi.lua file.
  • Repository-Based: Use official, community, or your own private/public Git-based repositories. Manage multiple registries.
  • Secure & Verifiable: Verifies package integrity with checksums and authenticity with GPG signatures. Supports Git commit signature verification for entire registries (Chain of Trust) and includes a built-in PGP keyring for out-of-the-box security.
  • Decentralized Security Advisories: Automated vulnerability tracking via .sec.yaml files co-located with packages. Zoi proactively warns you during installation or upgrades if a package has known security issues.
  • Compliance & Audit Logging: Maintain a persistent, tamper-evident audit log of all package operations (install, uninstall, upgrade), viewable via the zoi history command.
  • Advanced Dependencies: Supports virtual packages (provides) and package replacement (replaces).
  • Versatile Package Types: Supports different types of packages:
    • Package: A standard software package.
    • Collection: A meta-package that groups other packages together.
    • App: A template for bootstrapping new projects (zoi create).
    • Extension: A package to extend Zoi's own functionality or configuration.
  • Local Package Development: A dedicated zoi package command set (build, install) to streamline creating and testing packages locally.
  • Advanced CLI Tools:
    • zoi search: Interactive TUI mode with result sorting and rich metadata.
    • zoi audit: Scan installed packages for known security vulnerabilities.
    • zoi doctor: Proactive system health checks, including orphaned package detection and broken symlink scanning.
    • zoi man: Read package manuals in the terminal.
    • zoi rollback: Revert a package to its previous version or rollback the entire last transaction.
  • Zoi Mini: A lightweight, zero-sync version for quick, one-off installations via zm.sh or zm.ps1. Supports install, update, uninstall, and list commands.
  • Library Support: Core functionality is available as a Rust library to be integrated into other applications.

Special Thanks

Thanks you all for helping with developing Zoi.

Getting Started

Getting started with Zoi is simple. Just follow these three steps:

  1. Install Zoi: Choose one of the installation methods below.

  2. Sync Repositories: Before you can install packages, you need to sync the package repositories.

    zoi sync
    
  3. Install a Package: Now you can install any package you want. For example, to install hello:

    zoi install @zillowe/hello
    

Zoi Mini

Zoi Mini is a lightweight, zero-sync version of Zoi that allows you to install packages from the official Zoidberg registry without installing the full Zoi suite. It's designed for quick, one-off installations and supports basic management commands: install, update, uninstall, and list.

Quick Start (Zero-Install)

You can install any package from the Zoidberg registry using a single command:

Linux / macOS :

curl -fsSL https://zillowe.pages.dev/zm.sh | sh -s -- i @zillowe/hello

Windows (amd64):

powershell -c "irm zillowe.pages.dev/zm.ps1 | iex" -args "i @zillowe/hello"

This will download the zoi-mini binary to a temporary location, resolve the package metadata dynamically, and perform the installation.

Installation

You can install Zoi using a package manager, an installer script, or by building it from source.

Scripts

You can also use our installer scripts for a quick setup.

Linux / macOS :

curl -fsSL https://zillowe.pages.dev/scripts/zoi/install.sh | bash

Or if you want a truly safe way to run this script use ZSM.

curl -fsSL https://zillowe.pages.dev/scripts/zoi/install.zsm | zsm

Windows:

powershell -c "irm zillowe.pages.dev/scripts/zoi/install.ps1|iex"

Package Managers

Linux

Install Zoi on Linux distros.

Arch Linux (AUR)

Install zoi-bin (Pre-compiled binary) or zoi (built from source) from the AUR using your favorite helper (e.g. yay, paru):

paru -S zoi-bin

Or manually without any helpers:

git clone https://aur.archlinux.org/zoi-bin.git
cd zoi-bin
makepkg -si
Debian / Ubuntu (.deb)

Download the .deb package for your architecture from the latest release and install it using apt or dpkg:

# Using apt (recommended, handles dependencies)
sudo apt install ./zoi-*.deb
# Using dpkg
sudo dpkg -i zoi-*.deb
Fedora / RHEL (.rpm)

Download the .rpm package for your architecture from the latest release and install it using dnf or rpm:

# Using dnf (recommended)
sudo dnf install ./zoi-*.rpm
# Using rpm
sudo rpm -i zoi-*.rpm
Fedora (COPR)

Install zoi from Fedora COPR (Supports Fedora 43, 44, Rawhide, CentOS Stream 9/10, EPEL 9, and openSUSE Tumbleweed):

sudo dnf copr enable zillowez/zoi
sudo dnf install zoi
Fedora (Terra)

Install zoi-rs on Fedora from Terra repo (not maintained by us so updates can be late, uses Crates.io version):

# add terra repo
dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
# install Zoi
sudo dnf install zoi-rs

More information and instructions for using Terra are available here.

macOS

Install Zoi on macOS.

Homebrew

Install Zoi using Homebrew (Also supports linux):

brew install zillowe/tap/zoi

Windows

Install Zoi on Windows.

Scoop

Install Zoi using Scoop:

scoop bucket add zillowe https://github.com/zillowe/scoop.git
scoop install zoi

Crates.io

You can install zoi directly from crates.io using cargo:

cargo install zoi-rs

NPM

You can install @zillowe/zoi from npm also.

npx @zillowe/zoi
bunx @zillowe/zoi
pnpm dlx @zillowe/zoi
yarn dlx @zillowe/zoi

Build from Source

If you prefer, you can build Zoi from source. You'll need Rust installed.

Build the release binary:

# For Linux/macOS
./scripts/build-release.sh
# For Windows
./scripts/build-release.ps1

Install it locally:

./configure
just build
sudo just install

Zoi integrates with over 40 system and language package managers (apt, brew, cargo, npm, pip, go, bun, and many more). See the full list on the Dependencies docs.

Usage

Here are some common commands to get you started.

  • Install a package:

    zoi install <package_name>
    
  • Uninstall a package:

    zoi uninstall <package_name>
    
  • Update packages:

    # Update all installed packages
    zoi update --all
    # Update specific packages
    zoi update <package1> <package2>
    
  • Search for a package:

    # Standard search
    zoi search <term>
    # Interactive TUI mode
    zoi search <term> -i
    
  • View operation history:

    zoi history
    
  • Show package details:

    zoi show <package_name>
    
  • Run a project command:

    # Run a command defined in zoi.yaml
    zoi run <command_alias>
    
  • Run a command without installing the package:

    zoi exec <package_name> -- <command>
    
  • Enter a shell with a package:

    zoi shell -p <package_name>
    
  • Add a new repository:

    # Interactively
    zoi repo add
    # By name from the default registry
    zoi repo add <repo_name>
    # From a git repo URL
    zoi repo add https://github.com/<user_name>/<repo_name>.git
    
  • Update Zoi to the latest version:

    zoi upgrade
    

For more detailed information, please refer to the Docs.

Packaging Status

Packaging status

Contributing

We welcome contributions from the community! If you'd like to contribute, please read our Contributing Guidelines for more information.

New features, enhancements and bug reports are welcome.

Repositories & Mirrors

Zoi is hosted on multiple forges. The primary locations and mirrors are:

Repository tiers

Repository tiers for Zoidberg, Zoi's official packages repo.

  • Core: Essential packages, libraries and very common/maintained packages.
  • Main: Packages that don't fit in Core but are essential for most people.
  • Extra: Packages that are new, not very common or maintained, not preferable.
  • Community: User submitted packages that are new, can be upgraded to a higher repo.
  • Test: Testing repo for new Zoi features and for new packages before release.
  • Archive: Archived packages that are no longer maintained.
  • Zillowe: Zillowe's own official packages.

For details and CLI usage examples, see the docs page: Repositories.

License

Zoi is licensed under the Apache 2.0 License.


Zoi is developed by Zusty < Zillowe Foundation
Part of the Zillowe Development Suite (ZDS)