Skip to content

Getting Started

Welcome to Zuno Framework! This guide will help you set up your first Zuno project in just a few minutes. Whether you’re building a REST API, a secure microservice, or just exploring modern C++ web development—you’re in the right place.


Before you begin, make sure you have the following installed:

  • C++20 or newer (Zuno uses modern C++ features)
  • CMake 3.16+
  • A C++ compiler (GCC, Clang, or MSVC)
  • Git (for cloning the starter repo)

Optional but recommended:

  • OpenSSL (for TLS support)

The fastest way to get started is by cloning the official starter project:

Terminal window
git clone https://github.com/ZunoFramework/zuno-starter.git
cd zuno-starter
cmake -B build
cmake --build build
./build/zuno-app

You should see:

Terminal window
Zuno server running on http://localhost:3000

Prefer to build it yourself? Here’s how to set up a minimal Zuno project manually.

Terminal window
mkdir my-zuno-app
cd my-zuno-app
cmake_minimum_required(VERSION 3.16)
project(my_zuno_app)
set(CMAKE_CXX_STANDARD 17)
add_executable(zuno-app main.cpp)
# Link Zuno (assuming it's installed via vcpkg or system-wide)
find_package(Zuno REQUIRED)
target_link_libraries(zuno-app PRIVATE Zuno::Zuno)
#include <zuno/zuno.hpp>
int main() {
zuno::App app;
app.get("/", [](auto& req, auto& res) {
res.send("Hello from Zuno!");
});
app.listen(3000);
}
Terminal window
cmake -B build
cmake --build build
./build/zuno-app

If you want to serve over HTTPS, Zuno makes it easy:

zuno::App app;
app.get("/", [](auto& req, auto& res) {
res.send("Hello from Zuno!");
});
app.useTLS({"server.crt", "server.key"});
app.listen(443);

Make sure your certificate and key files are valid and accessible.


Now that your server is running, you can:


Welcome to the flock. 🦜