ION ⚡
The C++ toolchain
you actually want.

One CLI for packaging, building, and linting C++ projects. Declare deps in ion.toml. Ship with confidence.

Why Ion?

EVERYTHING A C++ PROJECT NEEDS

Packaging, building, linting — one tool, one config file.

Cargo-style manifest

Declare every dependency in ion.toml. One lockfile, reproducible builds everywhere.

Multi-registry resolution

Resolve from the Ion registry, GitHub, ConanCenter, vcpkg, git URLs, or local paths — all in the same project.

Built in Rust

Lightning-fast resolution, caching, and build orchestration. No Python, no JVM, no warm-up.

Built-in linter

ion check catches memory leaks, use-after-free, null deref, and modern C++ anti-patterns before they ship.

LSP editor integration

ion lsp delivers diagnostics, code actions, and go-to-definition in any editor that speaks LSP.

Cross-platform

Linux, macOS, and Windows — one installer, same behaviour.

INSTALL IN SECONDS

curl -fsSL https://ion.cybergenii.com/install.sh | sh

The installer auto-detects your platform. Optional env vars: ION_INSTALL_DIR, ION_VERSION, ION_INSTALL_DEPS=0 to skip dependency bootstrapping. Full options →

60 seconds to your first build

FROM ZERO TO RUNNING IN 60 SECONDS

STEP 1

Create a project

$ ion new my-app --std 23

Scaffolds src/, include/, tests/, ion.toml, and CMakeLists.txt.

STEP 2

Add dependencies

$ ion add fmt spdlog

Resolves and locks versions in ion.lock. Conan/vcpkg names also work.

STEP 3

Build & run

$ ion build && ion run

Generates CMake, compiles with your system compiler, runs the binary.

STEP 4

Check code quality

$ ion check --fix

Static analysis with optional auto-fix. Use ion lsp for in-editor diagnostics.

WORKS WITH THE ENTIRE
C++ ECOSYSTEM

Resolve from the Ion registry, GitHub, ConanCenter, vcpkg, git URLs, or local paths — all in the same project. No Python or JVM required.

Ion registry
ion add fmt@10.2.1
ConanCenter
ion add conan:fmt/10.2.1@
vcpkg
ion add vcpkg:openssl
GitHub releases
ion add github:fmtlib/fmt
Git / local path
ion add git:https://...
Dependency tree
toml
[dependencies]
fmt     = "10.2.1"
logging = { conan = "spdlog/1.13.0@" }
zlib    = { vcpkg = "zlib" }
mylib   = { git = "https://github.com/org/mylib", tag = "v2.0.0" }
local   = { path = "../local-lib" }

CATCH BUGS BEFORE THE COMPILER DOES

Memory leaks, use-after-free, null derefs, and modern C++ anti-patterns — caught instantly via ion check or in your editor via LSP.

src/engine.cpp
#include <memory>
void Engine::initialize(int count) {
auto data = new int[count];
int* ptr = NULL;
process_data(data);delete[] data;
}
ion check
$ ion check --fix
Scanning 12 files...
memory/leaksrc/engine.cpp:3failed
modern/nullptrsrc/engine.cpp:4fixed
use-after-freesrc/engine.cpp:7failed
1 issue fixed, 2 pending
memory/leakmemory/use-after-freememory/double-freemodern/nullptrmodern/c-castmemory/smart-getmemory/raw-from-smartmemory/shared-cycle-hint

HOW ION STACKS UP

CapabilityIonConanvcpkgFetchContent
Single manifest + lockfilePartial
Built-in linter
LSP editor integration
ConanCenter / vcpkg nativeVia adaptersNativeNativeManual
Rust-speed CLI
CMake auto-generationPartialPartial

ROADMAP

Follow Ion's journey to v1.0 and enterprise readiness.

Full roadmap details →
Phase 1

Foundation

  • Scaffold
  • manifest
  • CMake
  • CLI
Phase 2

Package Manager

  • Lockfile
  • multi-registry
  • build/run/test
Phase 3

Linting

  • ion check
  • --fix
  • --watch
  • SARIF
  • AST rules
Phase 4

Advanced

  • LSP
  • go-to-definition
  • smart-pointer analysis
  • dataflow
Phase 5

Production

  • Public beta
  • 200+ packages
  • enterprise
  • v1.0

OPEN SOURCE.
BUILT IN PUBLIC.

5 Stars
1 Forks

Ion is MIT-licensed and developed openly on GitHub. Issues, discussions, and pull requests are welcome. If you're building something with Ion, we'd love to hear about it.