The Modern Project Manager for C++

Leaf is a fast, intuitive, and dependency-aware tool for building your C++ projects with ease. Stop wrestling with complex build systems and start coding.

$ leaf create my-awesome-project

Why Choose Leaf?

Everything you need to build and manage C++ projects efficiently.

Modern C++ Focus

Built with modern C++ for modern C++ developers. Embraces the latest standards for maximum performance and readability.

Intuitive CLI

A simple, memorable command structure that just makes sense. `create`, `build`, `run`, `clean` — it's that easy.

Blazing Fast

Leverages modern techniques for rapid dependency resolution and incremental builds, saving you valuable time.

Zero-Config & Extensible

Leaf auto-generates `CMakeLists.txt` and `conanfile.py` for you. Get started instantly with zero configuration, while retaining full power to customize.

Robust Package Management

The core of Leaf. Seamlessly consume and publish C/C++ packages without breaking builds. It just works, no matter the OS.

Consistent Cross-Platform Builds

Get reliable builds everywhere. Leaf enforces the Clang compiler across Linux, macOS, Windows, and even embedded systems.

Get Started in Seconds

A quick look at the simple and powerful workflow of Leaf.

1. Create a New Project

Generate a new "Hello World" project with a single command.

$ leaf create my_app

2. Build Your Code

Navigate into your project and compile it. Leaf handles the backend.

$ cd my_app $ leaf build

3. Run the Executable

Execute your compiled application instantly.

$ leaf run

Autogenerated Project Structure

Running `leaf create` generates a professional, scalable project structure.

my_app/ ├── conanfile.py # Root conanfile ├── CMakeLists.txt # Root CMakeLists ├── apps/ # Executable applications │ └── my_app/ │ ├── src/main.cpp │ └── CMakeLists.txt ├── libs/ # Shared/static libraries │ └── my_lib/ │ ├── src/ │ └── CMakeLists.txt └── .gitignore

Install Leaf

Get up and running with Leaf on your machine.

Build From Source

Clone the repository and build Leaf yourself using CMake.

$ git clone https://github.com/vishal-ahirwar/leaf.git $ cd leaf $ cmake -B build $ cmake --build build