English | 简体中文
The default package index for the
mcppbuild tool. Browse every package online: https://mcpplibs.github.io/mcpp-index/
The C++23 packages mcpp can add directly: modular libraries ready to import, and third-party C/C++ libraries
built from upstream sources in compat form. Each package is one pkgs/<initial>/<name>.lua descriptor.
Requires mcpp 2026.9.18.3 or later (
min_mcppinindex.toml). Older engines silently misbuild[c-abi]packages such asopenkal-musl. Upgrade:xlings install mcpp --force.
mcpp add ftxui@6.1.9 # add the dependency to mcpp.toml
mcpp build # fetch sources and build; dependencies propagate along the chain
mcpp search <keyword> # search and refresh the index
mcpp self config --mirror CN # switch to the CN mirror; GLOBAL upstream is the default- Native mcpp module libraries (Form A): upstream carries its own
mcpp.toml; the descriptor only declares metadata and a download address.mcpplibs.*,nlohmann.json,imgui,opencv,tensorvia-cpu, … - Third-party C/C++ libraries (
compat, Form B): upstream has no mcpp support, so the descriptor inlines the build. Header-only, C/C++ sources, or a C++23 module wrapper; optional parts sit behindfeatures; a GitCode CN mirror serves the same bytes.
One descriptor per common shape:
| Shape | Example |
|---|---|
| Native module library (Form A) | mcpplibs.tinyhttps · gzj-creator.galay |
C sources + features |
compat.cjson |
| C++ sources, several versions | compat.yaml-cpp |
| Header-only | compat.gtl |
| Generated config header | compat.c-ares |
| C++23 module wrapper | nlohmann.json |
| C++23 module shipped by upstream | khronos.vulkan-hpp |
External build system (install()) |
compat.openssl |
Every other shape, and why each descriptor is written the way it is, is in Descriptor examples by shape.
The procedure is the agent skill add-mcpp-index-package. Hand an
agent (Claude Code, for example) this instruction:
Following this repo's skill `.agents/skills/add-mcpp-index-package`, add <library name / repo URL> @<version> to
mcpp-index: determine the shape; configure the CN mirror (use a plain-string upstream url when you have no mcpp-res
access); write pkgs/<initial>/<name>.lua; add a tests/examples/<lib>/ test project and register it as a workspace
member; verify locally with the same mcpp version CI pins by running `mcpp test -p <member>`; update the README and
the online index; open a PR and confirm CI is green.
A PR runs lint and tests only the workspace members that depend on the changed descriptors; after the merge,
deploy-site publishes the site.
- Library shapes and descriptor templates
- Descriptor examples by shape
- The CN mirror loop
- openkal compatibility: the
openkal-ecosystem/openkal-compatlabels on the site - Repository layout, schema and CI
- The authoritative check of a field is
mcpp xpkg parse, which CI runs; semantics are in mcpp'sdocs/spec/.
| Project | Description |
|---|---|
| mcpp | Modern C++23 build and package management tool |
| xlings | The package installation engine and sandbox environment underneath mcpp |
| xpkg V1 spec | Package descriptor specification |
| mcpplibs | The collection of modular C++23 libraries in the mcpp ecosystem |
| mcpp-res | The CN mirror organization for package resources (gitcode) |
The package descriptors are CC0; each upstream library keeps its own license.