opm

The Odin Package Manager

A fast CLI tool for managing Odin projects, packages, and compiler versions. Built with Bun for maximum performance.

Terminal
$ opm init my-project
 Created opm.json
 Created project structure

$ opm add odin-lang/raylib-odin
 Adding package: raylib
 Added raylib to dependencies

$ opm build
 odin build src -out:bin/my-project
 Build complete

Features

🔧

Version Management

Install, switch, and manage multiple Odin compiler versions effortlessly.

opm install latest
opm use dev-2025-12
opm versions
📦

Package Management

Add dependencies from GitHub with a lockfile for deterministic, reproducible builds.

opm add user/repo
opm install --frozen  # CI mode
opm update
🚀

Project Management

Initialize, build, run, and test Odin projects with built-in commands.

opm init my-app
opm build
opm run

Fast & Lightweight

Built with Bun for instant startup times and minimal resource usage.

# Single binary
# No runtime dependencies
# Cross-platform

Installation

curl -L https://github.com/biswas08433/opm/releases/latest/download/opm-linux-x64 -o opm
chmod +x opm
sudo mv opm /usr/local/bin/
curl -L https://github.com/biswas08433/opm/releases/latest/download/opm-macos-arm64 -o opm
chmod +x opm
sudo mv opm /usr/local/bin/
# Download from GitHub Releases
# https://github.com/biswas08433/opm/releases/latest
# Download opm-windows-x64.exe and add to PATH
git clone https://github.com/biswas08433/opm.git
cd opm
bun install
bun run build
sudo mv opm /usr/local/bin/

After installation, set up the Odin compiler path:

export PATH="$HOME/.opm/current:$PATH"

Quick Start

1

Install the Odin Compiler

opm install latest
opm use latest
2

Create a New Project

opm init my-project
cd my-project
3

Add Dependencies

opm add odin-lang/raylib-odin
opm add some-user/cool-library@v1.0.0
4

Build & Run

opm build
opm run

Commands Reference

Command Description
opm versions List available Odin versions
opm install <version> Install Odin version
opm use <version> Switch to version
opm current Show current version
opm init [name] Initialize project
opm build Build project
opm run Run project
opm test Run tests
opm add <pkg> Add dependency
opm remove <pkg> Remove dependency
opm update Update dependencies
opm update --check Preview available updates
opm install --frozen Install from lockfile (CI)
opm search <query> Search packages

Project Configuration

Projects use an opm.json file:

{
  "name": "my-project",
  "version": "0.1.0",
  "description": "My Odin project",
  "odinVersion": "dev-2025-12",
  "dependencies": {
    "raylib": "odin-lang/raylib-odin"
  },
  "scripts": {
    "deploy": "scp bin/my-project user@server:/app/"
  },
  "build": {
    "src": "src",
    "out": "bin",
    "flags": ["-debug"]
  }
}

Note: Commands build, run, test, and check are automatically generated from the build config. Use scripts for custom commands only.