mcpp is een moderne build-tool voor C++ die volledig is geschreven in C++23-modules en self-hosted is. De tool richt zich op het wegnemen van complexiteit rondom modules (import std), biedt geïntegreerd afhankelijkheidsbeheer via mcpplibs en beheert eigen toolchains (GCC/LLVM) in een geïsoleerde sandbox om het systeem schoon te houden. Met functies zoals incrementele builds, workspace-ondersteuning en brede platformondersteuning voor Linux, macOS en Windows, streeft mcpp naar een gestroomlijnde ontwikkelervaring vergelijkbaar met moderne package managers.
mcpp: Een moderne build-tool voor C++ met focus op modules
Belangrijkste kenmerken
- Ingebouwde ondersteuning voor C++23-modules: Automatische afhandeling van
import std, incrementele builds op bestandsniveau, automatische analyse van module-afhankelijkheden en nul handmatige configuratie.
- Pure modulaire self-hosting: mcpp bestaat zelf uit meer dan 43 C++23-modules en bouwt zichzelf; de module-pipeline is uitvoerig getest.
- Direct klaar voor gebruik: Installatie met één commando. Gebundelde GCC 16 / LLVM 20 toolchains worden gedownload in een geïsoleerde sandbox, waardoor je systeem schoon blijft.
- Geïntegreerd afhankelijkheidsbeheer: SemVer-resolutie van restricties, lockfile, cross-project BMI-cache en aangepaste pakketindexen.
- Multi-pakket workspaces: Eén centrale lockfile en versiebeheer voor grotere projecten.
Waarom mcpp?
mcpp is specifiek gebouwd voor ontwikkeling waarbij C++23-modules centraal staan. Voor wie import std, module interface units (.cppm), module partitions en andere moderne C++-functies wil gebruiken, biedt mcpp een soepele ervaring op Linux, macOS ARM64 en Windows x86_64.
- Standaard modulair: Projecten die zijn aangemaakt met
mcpp new maken direct gebruik van C++23-modules; import std werkt simpelweg direct.
- Incrementele builds op bestandsniveau: Een drie-laags optimalisatie gebaseerd op P1689 dyndep (front-end dirty check + per-bestand scannen + BMI restat). Alleen modules die daadwerkelijk zijn gewijzigd, worden opnieuw gecompileerd.
- Aanmaken en bouwen in één keer: Met
mcpp new hello && cd hello && mcpp build worden toolchains automatisch geïnstalleerd zonder dat er handmatige configuratie van de compiler of het build-systeem nodig is.
- Een modulair ecosysteem:
mcpplibs biedt een groeiende set direct importeerbare C++ module-bibliotheken, naast ondersteuning voor eigen pakketindexen.
Let op: mcpp bevindt zich in een vroeg stadium van ontwikkeling; interfaces en gedrag kunnen veranderen in toekomstige releases. Ontwikkelaars die geïnteresseerd zijn in moderne build-tools voor C++ modules zijn welkom om bij te dragen. Vragen, feedback of ideeën kunnen worden ingediend via de issues.
Aan de slag
Installatie
Via xlings (aanbevolen)
xlings install mcpp -y
Mocht je xlings nog niet hebben:
- Linux / macOS:
curl -fsSL https://d2learn.org/xlings-install.sh | bash
- Windows (PowerShell):
irm https://d2learn.org/xlings-install.ps1.txt | iex
Optioneel: Korte commando's (mp, mbuild, mrun, …)
Installeer de shims via: xlings install mcpp-short-cmd -y
Dit registreert 30 aliassen zodat bijvoorbeeld mcpp build wordt mbuild. De naamgevingsregel is: de beginletter van elk woord behalve het laatste, plus het volledige laatste woord (bijv. mcpp self doctor → msdoctor). mp staat voor het basiscommando mcpp.
| Kort commando | Volledig commando | Kort commando | Volledig commando |
mp | mcpp | mexpkg | mcpp emit xpkg |
mnew | mcpp new | mxparse | mcpp xpkg parse |
mbuild | mcpp build | mtinstall | mcpp toolchain install |
mrun | mcpp run | mtlist | mcpp toolchain list |
mtest | mcpp test | mtdefault | mcpp toolchain default |
mclean | mcpp clean | mcdir | mcpp cache dir |
madd | mcpp add | mclist | mcpp cache list |
mremove | mcpp remove | mcinfo | mcpp cache info |
mupdate | mcpp update | mcgc | mcpp cache gc |
msearch | mcpp search | milist | mcpp index list |
mpublish | mcpp publish | miadd | mcpp index add |
mpack | mcpp pack | miremove | mcpp index remove |
msdoctor | mcpp self doctor | miupdate | mcpp index update |
msenv | mcpp self env | msconfig | mcpp self config |
msversion | mcpp self version | msexplain | mcpp self explain |
Andere installatie-opties
- Optie 1: One-line installer (Linux x86_64/aarch64, macOS ARM64)
curl -fsSL https://github.com/mcpp-community/mcpp/releases/latest/download/install.sh | bash Installeert in ~/.mcpp/ en voegt dit toe aan de shell PATH. Verwijderen van deze map verwijdert de tool volledig. (Niet ondersteund op Windows).
- Optie 2: Homebrew (macOS / Linux)
brew install mcpp-community/mcpp/mcpp-m Vereist Apple Silicon + macOS 14 voor macOS gebruikers. Gebruikt de formule mcpp-m om verwarring met een andere C-preprocessor genaamd mcpp te voorkomen.
- Optie 3: Arch Linux (AUR)
yay -S mcpp-bin (voorbebouwde binary) of yay -S mcpp-m (bouwen uit bronnen).
- Optie 4: Installatie via AI-assistent
Kopieer de volgende prompt naar je AI-coding assistant (Claude Code, Cursor, Copilot, etc.): "Read the README of https://github.com/mcpp-community/mcpp, then install mcpp for me and create a C++23 module project, build and run it."
Een project maken, bouwen en uitvoeren
mcpp new hello
cd hello
mcpp build
mcpp run
Let op: De eerste build initialiseert de omgeving en haalt de toolchain op, wat enige tijd kan duren.
Projectstructuur
hello/
├── mcpp.toml ← project manifest
├── src/
│ └── main.cpp ← import std; werkt direct
└── tests/
└── test_smoke.cpp ← wordt automatisch gevonden door `mcpp test`
Voorbeeld mcpp.toml:
[package]
name = "hello"
version = "0.1.0"
description = "A modular C++23 package"
license = "Apache-2.0"
De ingebouwde scaffold vertrouwt op conventies: src/main.cpp wordt herkend als het binary target en tests/test_smoke.cpp wordt automatisch gedetecteerd door mcpp test.
Gebruik van module-bibliotheken
Voeg een afhankelijkheid toe aan mcpp.toml om een community module-bibliotheek uit mcpplibs te importeren:
[dependencies]
cmdline = "0.0.2"
Importeer deze vervolgens direct in je code:
import mcpplibs.cmdline;
Overzicht van functies
Build-systeem
- Ondersteuning voor C++20/23/26 modules (interface units, implementation units, module partitions), inclusief experimentele
c++latest / c++fly modi.
- Volledig automatische precompilatie en caching van
import std / import std.compat.
- Drie-laags incrementele optimalisatie: front-end dirty check + per-bestand P1689 dyndep + BMI copy-if-different restat.
- Fingerprinted BMI-cache: gehasht op basis van compiler/flags/standaardbibliotheek, deelbaar tussen projecten.
- Ninja backend: automatisch gegenereerde
build.ninja voor parallelle compilatie.
- Automatische generatie van
compile_commands.json (geschikt voor clangd / ccls).
- Eersteklas C-ondersteuning:
.c-bestanden worden automatisch gedetecteerd; ondersteuning voor gemengde C/C++ projecten.
- Gebruikersdefinieerbare
cflags, cxxflags, ldflags en c_standard.
Toolchain-beheer
- Gebundelde GCC 16.1.0 + LLVM/Clang 20.1.7, installatie via één commando.
- Host-bewuste standaardwaarden: native glibc GCC op Linux x86_64, musl GCC op andere Linux-architecturen, LLVM op macOS en Windows (met MSVC), MinGW-w64 GCC op 'bare' Windows.
- Meerdere versies naast elkaar:
mcpp toolchain install gcc 16 / mcpp toolchain install llvm 20.
- Geïsoleerde sandbox: alle toolchains staan in
~/.mcpp/registry/, waardoor het systeem ongewijzigd blijft.
- Per platform selectie:
linux = "gcc@16", macos = "llvm@20".
- Gelijkwaardige compile-pipelines voor GCC en Clang via de BmiTraits abstractielaag.
Pakket- & afhankelijkheidsbeheer
- SemVer restrictie-resolutie:
^, ~, ranges, exacte versies.
- Drie-traps resolutie: constraint merging → multi-version mangling fallback → exact match.
- Lockfile
mcpp.lock (v2 formaat: index snapshot + namespaces).
- Namespace systeem:
[dependencies.myteam] foo = "1.0".
- Aangepaste pakketindexen:
[indices] acme = "git@..." / { path = "..." }.
- Project-specifieke index isolatie via de
.mcpp/ directory.
- Bronnen voor afhankelijkheden: index, Git of lokaal pad.
Workspaces
- Configuratie via
[workspace] members = ["libs/", "apps/"].
- Gedeelde lockfile en gedeelde target-directory.
- Centraal versiebeheer via
[workspace.dependencies] + .workspace = true.
- Selectieve builds:
mcpp build -p member-name.
- Configuratie-overerving: toolchains, build-flags en indexen cascaderen van de root naar de members.
Packaging & Publishing
mcpp pack: Vier Linux release-modi — system / vendored (standaard) / self-contained / static.
- Volledig statische musl binaries: distributie in één enkel bestand zonder glibc-afhankelijkheid.
mcpp publish: genereert xpkg.lua en publiceert naar een pakketindex.
- Automatische RPATH fix-up via patchelf (Linux).
Developer Experience
mcpp new: Maak een modulair project; gebruik --template <pkg>[@ver][:<tmpl>] voor bibliotheek-templates (bijv. --template imgui).
mcpp run [-- args]: Bouwen en uitvoeren.
mcpp test [pattern] [-- args]: Automatische detectie en uitvoering van tests.
mcpp search: Zoeken in pakketindexen.
mcpp add / remove / update: Beheer van afhankelijkheden.
mcpp why [toolchain|runtime|deps]: Uitleg over gemaakte build-beslissingen.
mcpp --offline: Gebruik enkel lokaal beschikbare staat.
mcpp explain E0001: Gedetailleerde uitleg van foutcodes.
mcpp self doctor: Zelfdiagnose van de omgeving.
Platformondersteuning
Een toolchain wordt gedefinieerd als familie@versie (gcc | llvm | msvc) en een target als een triple arch-os[-env]. Cross-compiling gebeurt via mcpp build --target <triple>.
Hosts (waar mcpp op draait): Linux x8664 / aarch64, macOS arm64, Windows x8664.
Targets:
| Target | Conventionele Toolchain | Status |
x86_64-linux-gnu | gcc (Linux default) of llvm | � |
|
x86_64-linux-musl | gcc 16, volledig statisch | � |
|
aarch64-linux-musl | gcc 16, volledig statisch | � |
|
x86_64-windows-gnu | gcc 16 MinGW-w64 (Windows default zonder VS) | � |
|
x86_64-windows-msvc | msvc@system of llvm (Windows default met VS) | � |
|
aarch64-macos | llvm (macOS default) | � |
|
riscv64-linux-musl | — | 🔄 |
aarch64-linux-gnu | — | 🔄 |
x86_64-macos | — | 🔄 |
� Geverifieerd (CI bouwt en executeert end-to-end) $\mid$ 🔄 Gepland.
Opmerking over Windows: Op Windows target LLVM de MSVC ABI en vereist dus MSVC BuildTools of Visual Studio. Indien mcpp geen bruikbare MSVC vindt, schakelt het automatisch over naar x86_64-windows-gnu (winlibs MinGW-w64), wat volledig self-contained is en geen externe installatie vereist.
Projecten die mcpp gebruiken
| Project | Beschrijving |
| mcpp | mcpp zelf — 43+ C++23 modules, volledig self-hosted |
| xlings | De fundering voor toolchain- en pakketbeheer waarop mcpp bouwt |
| tinyhttps | Minimale C++23 HTTP/HTTPS client met SSE streaming |
| llmapi | Moderne C++ LLM API client (OpenAI-compatibel) |
| imgui-m | Dear ImGui als een C++23 module pakket |
| cmdline | Bibliotheek voor command-line parsing (wordt door mcpp gebruikt) |
Bijdragen
Bijdragen via issues en PR's zijn welkom, inclusief bijdragen ontwikkeld met AI-agents.
Basis workflow
- Open een issue: Start een discussie over bugfixes of nieuwe functies.
- Implementeer de wijziging: Fork het repo, maak een branch en verifieer de wijzigingen (
mcpp build + tests).
- Submit een PR: Gebruik
gh pr create en zorg dat de CI slaagt.
- Commit conventie: Gebruik prefixes zoals
feat:, fix:, test:, docs:, refactor:.
Voor AI-agents is er een specifieke workflow beschikbaar in .agents/skills/mcpp-contributing/SKILL.md.
Community & Ecosysteem
- Community Forum: Chatgroep (QQ: 1067245099).
- mcpp-index: De standaard pakketindex.
- mcpplibs: Collectie van modulaire C++ bibliotheken.
Erkenningen
Inspiratie en afhankelijkheden:
- xlings: Fundering voor toolchain/pakketbeheer.
- mcpplibs.cmdline: CLI framework.
- ninja: Onderliggende build engine.
- xmake: Cross-platform build tool.
- cargo: Rust package manager.
mcpp: Een moderne build-tool voor C++ met focus op modules
Belangrijkste kenmerken
- Ingebouwde ondersteuning voor C++23-modules: Automatische afhandeling van
import std, incrementele builds op bestandsniveau, automatische analyse van module-afhankelijkheden en nul handmatige configuratie.
- Pure modulaire self-hosting: mcpp bestaat zelf uit meer dan 43 C++23-modules en bouwt zichzelf; de module-pipeline is uitvoerig getest.
- Direct klaar voor gebruik: Installatie met één commando. Gebundelde GCC 16 / LLVM 20 toolchains worden gedownload in een geïsoleerde sandbox, waardoor je systeem schoon blijft.
- Geïntegreerd afhankelijkheidsbeheer: SemVer-resolutie van restricties, lockfile, cross-project BMI-cache en aangepaste pakketindexen.
- Multi-pakket workspaces: Eén centrale lockfile en versiebeheer voor grotere projecten.
Waarom mcpp?
mcpp is specifiek gebouwd voor ontwikkeling waarbij C++23-modules centraal staan. Voor wie import std, module interface units (.cppm), module partitions en andere moderne C++-functies wil gebruiken, biedt mcpp een soepele ervaring op Linux, macOS ARM64 en Windows x86_64.
- Standaard modulair: Projecten die zijn aangemaakt met
mcpp new maken direct gebruik van C++23-modules; import std werkt simpelweg direct.
- Incrementele builds op bestandsniveau: Een drie-laags optimalisatie gebaseerd op P1689 dyndep (front-end dirty check + per-bestand scannen + BMI restat). Alleen modules die daadwerkelijk zijn gewijzigd, worden opnieuw gecompileerd.
- Aanmaken en bouwen in één keer: Met
mcpp new hello && cd hello && mcpp build worden toolchains automatisch geïnstalleerd zonder dat er handmatige configuratie van de compiler of het build-systeem nodig is.
- Een modulair ecosysteem:
mcpplibs biedt een groeiende set direct importeerbare C++ module-bibliotheken, naast ondersteuning voor eigen pakketindexen.
Let op: mcpp bevindt zich in een vroeg stadium van ontwikkeling; interfaces en gedrag kunnen veranderen in toekomstige releases. Ontwikkelaars die geïnteresseerd zijn in moderne build-tools voor C++ modules zijn welkom om bij te dragen. Vragen, feedback of ideeën kunnen worden ingediend via de issues.
Aan de slag
Installatie
Via xlings (aanbevolen)
xlings install mcpp -y
Mocht je xlings nog niet hebben:
- Linux / macOS:
curl -fsSL https://d2learn.org/xlings-install.sh | bash
- Windows (PowerShell):
irm https://d2learn.org/xlings-install.ps1.txt | iex
Optioneel: Korte commando's (mp, mbuild, mrun, …)
Installeer de shims via: xlings install mcpp-short-cmd -y
Dit registreert 30 aliassen zodat bijvoorbeeld mcpp build wordt mbuild. De naamgevingsregel is: de beginletter van elk woord behalve het laatste, plus het volledige laatste woord (bijv. mcpp self doctor → msdoctor). mp staat voor het basiscommando mcpp.
| Kort commando | Volledig commando | Kort commando | Volledig commando |
mp | mcpp | mexpkg | mcpp emit xpkg |
mnew | mcpp new | mxparse | mcpp xpkg parse |
mbuild | mcpp build | mtinstall | mcpp toolchain install |
mrun | mcpp run | mtlist | mcpp toolchain list |
mtest | mcpp test | mtdefault | mcpp toolchain default |
mclean | mcpp clean | mcdir | mcpp cache dir |
madd | mcpp add | mclist | mcpp cache list |
mremove | mcpp remove | mcinfo | mcpp cache info |
mupdate | mcpp update | mcgc | mcpp cache gc |
msearch | mcpp search | milist | mcpp index list |
mpublish | mcpp publish | miadd | mcpp index add |
mpack | mcpp pack | miremove | mcpp index remove |
msdoctor | mcpp self doctor | miupdate | mcpp index update |
msenv | mcpp self env | msconfig | mcpp self config |
msversion | mcpp self version | msexplain | mcpp self explain |
Andere installatie-opties
- Optie 1: One-line installer (Linux x86_64/aarch64, macOS ARM64)
curl -fsSL https://github.com/mcpp-community/mcpp/releases/latest/download/install.sh | bash Installeert in ~/.mcpp/ en voegt dit toe aan de shell PATH. Verwijderen van deze map verwijdert de tool volledig. (Niet ondersteund op Windows).
- Optie 2: Homebrew (macOS / Linux)
brew install mcpp-community/mcpp/mcpp-m Vereist Apple Silicon + macOS 14 voor macOS gebruikers. Gebruikt de formule mcpp-m om verwarring met een andere C-preprocessor genaamd mcpp te voorkomen.
- Optie 3: Arch Linux (AUR)
yay -S mcpp-bin (voorbebouwde binary) of yay -S mcpp-m (bouwen uit bronnen).
- Optie 4: Installatie via AI-assistent
Kopieer de volgende prompt naar je AI-coding assistant (Claude Code, Cursor, Copilot, etc.): "Read the README of https://github.com/mcpp-community/mcpp, then install mcpp for me and create a C++23 module project, build and run it."
Een project maken, bouwen en uitvoeren
mcpp new hello
cd hello
mcpp build
mcpp run
Let op: De eerste build initialiseert de omgeving en haalt de toolchain op, wat enige tijd kan duren.
Projectstructuur
hello/
├── mcpp.toml ← project manifest
├── src/
│ └── main.cpp ← import std; werkt direct
└── tests/
└── test_smoke.cpp ← wordt automatisch gevonden door `mcpp test`
Voorbeeld mcpp.toml:
[package]
name = "hello"
version = "0.1.0"
description = "A modular C++23 package"
license = "Apache-2.0"
De ingebouwde scaffold vertrouwt op conventies: src/main.cpp wordt herkend als het binary target en tests/test_smoke.cpp wordt automatisch gedetecteerd door mcpp test.
Gebruik van module-bibliotheken
Voeg een afhankelijkheid toe aan mcpp.toml om een community module-bibliotheek uit mcpplibs te importeren:
[dependencies]
cmdline = "0.0.2"
Importeer deze vervolgens direct in je code:
import mcpplibs.cmdline;
Overzicht van functies
Build-systeem
- Ondersteuning voor C++20/23/26 modules (interface units, implementation units, module partitions), inclusief experimentele
c++latest / c++fly modi.
- Volledig automatische precompilatie en caching van
import std / import std.compat.
- Drie-laags incrementele optimalisatie: front-end dirty check + per-bestand P1689 dyndep + BMI copy-if-different restat.
- Fingerprinted BMI-cache: gehasht op basis van compiler/flags/standaardbibliotheek, deelbaar tussen projecten.
- Ninja backend: automatisch gegenereerde
build.ninja voor parallelle compilatie.
- Automatische generatie van
compile_commands.json (geschikt voor clangd / ccls).
- Eersteklas C-ondersteuning:
.c-bestanden worden automatisch gedetecteerd; ondersteuning voor gemengde C/C++ projecten.
- Gebruikersdefinieerbare
cflags, cxxflags, ldflags en c_standard.
Toolchain-beheer
- Gebundelde GCC 16.1.0 + LLVM/Clang 20.1.7, installatie via één commando.
- Host-bewuste standaardwaarden: native glibc GCC op Linux x86_64, musl GCC op andere Linux-architecturen, LLVM op macOS en Windows (met MSVC), MinGW-w64 GCC op 'bare' Windows.
- Meerdere versies naast elkaar:
mcpp toolchain install gcc 16 / mcpp toolchain install llvm 20.
- Geïsoleerde sandbox: alle toolchains staan in
~/.mcpp/registry/, waardoor het systeem ongewijzigd blijft.
- Per platform selectie:
linux = "gcc@16", macos = "llvm@20".
- Gelijkwaardige compile-pipelines voor GCC en Clang via de BmiTraits abstractielaag.
Pakket- & afhankelijkheidsbeheer
- SemVer restrictie-resolutie:
^, ~, ranges, exacte versies.
- Drie-traps resolutie: constraint merging → multi-version mangling fallback → exact match.
- Lockfile
mcpp.lock (v2 formaat: index snapshot + namespaces).
- Namespace systeem:
[dependencies.myteam] foo = "1.0".
- Aangepaste pakketindexen:
[indices] acme = "git@..." / { path = "..." }.
- Project-specifieke index isolatie via de
.mcpp/ directory.
- Bronnen voor afhankelijkheden: index, Git of lokaal pad.
Workspaces
- Configuratie via
[workspace] members = ["libs/", "apps/"].
- Gedeelde lockfile en gedeelde target-directory.
- Centraal versiebeheer via
[workspace.dependencies] + .workspace = true.
- Selectieve builds:
mcpp build -p member-name.
- Configuratie-overerving: toolchains, build-flags en indexen cascaderen van de root naar de members.
Packaging & Publishing
mcpp pack: Vier Linux release-modi — system / vendored (standaard) / self-contained / static.
- Volledig statische musl binaries: distributie in één enkel bestand zonder glibc-afhankelijkheid.
mcpp publish: genereert xpkg.lua en publiceert naar een pakketindex.
- Automatische RPATH fix-up via patchelf (Linux).
Developer Experience
mcpp new: Maak een modulair project; gebruik --template <pkg>[@ver][:<tmpl>] voor bibliotheek-templates (bijv. --template imgui).
mcpp run [-- args]: Bouwen en uitvoeren.
mcpp test [pattern] [-- args]: Automatische detectie en uitvoering van tests.
mcpp search: Zoeken in pakketindexen.
mcpp add / remove / update: Beheer van afhankelijkheden.
mcpp why [toolchain|runtime|deps]: Uitleg over gemaakte build-beslissingen.
mcpp --offline: Gebruik enkel lokaal beschikbare staat.
mcpp explain E0001: Gedetailleerde uitleg van foutcodes.
mcpp self doctor: Zelfdiagnose van de omgeving.
Platformondersteuning
Een toolchain wordt gedefinieerd als familie@versie (gcc | llvm | msvc) en een target als een triple arch-os[-env]. Cross-compiling gebeurt via mcpp build --target <triple>.
Hosts (waar mcpp op draait): Linux x8664 / aarch64, macOS arm64, Windows x8664.
Targets:
| Target | Conventionele Toolchain | Status |
x86_64-linux-gnu | gcc (Linux default) of llvm | � |
|
x86_64-linux-musl | gcc 16, volledig statisch | � |
|
aarch64-linux-musl | gcc 16, volledig statisch | � |
|
x86_64-windows-gnu | gcc 16 MinGW-w64 (Windows default zonder VS) | � |
|
x86_64-windows-msvc | msvc@system of llvm (Windows default met VS) | � |
|
aarch64-macos | llvm (macOS default) | � |
|
riscv64-linux-musl | — | 🔄 |
aarch64-linux-gnu | — | 🔄 |
x86_64-macos | — | 🔄 |
� Geverifieerd (CI bouwt en executeert end-to-end) $\mid$ 🔄 Gepland.
Opmerking over Windows: Op Windows target LLVM de MSVC ABI en vereist dus MSVC BuildTools of Visual Studio. Indien mcpp geen bruikbare MSVC vindt, schakelt het automatisch over naar x86_64-windows-gnu (winlibs MinGW-w64), wat volledig self-contained is en geen externe installatie vereist.
Projecten die mcpp gebruiken
| Project | Beschrijving |
| mcpp | mcpp zelf — 43+ C++23 modules, volledig self-hosted |
| xlings | De fundering voor toolchain- en pakketbeheer waarop mcpp bouwt |
| tinyhttps | Minimale C++23 HTTP/HTTPS client met SSE streaming |
| llmapi | Moderne C++ LLM API client (OpenAI-compatibel) |
| imgui-m | Dear ImGui als een C++23 module pakket |
| cmdline | Bibliotheek voor command-line parsing (wordt door mcpp gebruikt) |
Bijdragen
Bijdragen via issues en PR's zijn welkom, inclusief bijdragen ontwikkeld met AI-agents.
Basis workflow
- Open een issue: Start een discussie over bugfixes of nieuwe functies.
- Implementeer de wijziging: Fork het repo, maak een branch en verifieer de wijzigingen (
mcpp build + tests).
- Submit een PR: Gebruik
gh pr create en zorg dat de CI slaagt.
- Commit conventie: Gebruik prefixes zoals
feat:, fix:, test:, docs:, refactor:.
Voor AI-agents is er een specifieke workflow beschikbaar in .agents/skills/mcpp-contributing/SKILL.md.
Community & Ecosysteem
- Community Forum: Chatgroep (QQ: 1067245099).
- mcpp-index: De standaard pakketindex.
- mcpplibs: Collectie van modulaire C++ bibliotheken.
Erkenningen
Inspiratie en afhankelijkheden:
- xlings: Fundering voor toolchain/pakketbeheer.
- mcpplibs.cmdline: CLI framework.
- ninja: Onderliggende build engine.
- xmake: Cross-platform build tool.
- cargo: Rust package manager.