Sane C++ Libraries

Cross-platform C++ libraries for coding agents.

✅ Agent-ready✅ Fast compile times✅ Easy to integrate✅ Bloat-free⛔️ No external dependencies⛔️ No hidden allocations⛔️ Not a framework
Library and platform map for Sane C++ Libraries
600+ GitHub stars Still growing
27 Libraries Cross-platform building blocks
1 Skill Repo skill available now
3 Platforms macOS, Windows, Linux
Built with Sane C++

A web server in one native executable

AsyncWebServer serves static files, accepts streamed uploads, upgrades WebSocket connections, and keeps a shared canvas in sync. It is built from SC.cpp and the application's own code, with no external libraries, runtime, or framework.

SC.cpp + application code No external libraries One native executable
Philosophy

The Sane way

Sane C++ Libraries are built to be compact, efficient, inspectable, and careful about side effects. The design consistently encourages explicit resource ownership and error handling across the API surface. Coding agents can use the included skills to find the right constraints quickly and build useful software without guessing.

Dependency map for Sane C++ Libraries
The reasons

Why should you care?

Sane C++ Libraries blends the compactness of single-file libraries with the convenience of a small runtime. You can start with one library, a unity-build checkout, or the full SC::Build workflow without turning your project into a framework.

Independent libraries

A small amount of code duplication is accepted in order to keep many libraries isolated.

Working like a runtime

It brings ready-to-use runtime pieces that C++ projects often miss, closer to what developers expect from JavaScript or Python.

Composable by design

Libraries stay useful on their own, but their explicit boundaries make them easy to combine when a project grows.

Libraries

Not a framework

The project is not a framework. The libraries try to stay as independent as possible, even at the cost of some internal duplication, while still working smoothly together. You can use one or two of them without pulling in the whole codebase.