cluaupp
v1.5.0
Published
Cluaupp toolchain — compile CL++ to Luau with Rojo and CluauppLibs.
Maintainers
Readme
Cluaupp
CL++ games on Roblox. You write CL++. Cluaupp runs clpp, wires Rojo, and copies CluauppLibs.
Cluaupp is the toolchain, not the language compiler. KartzRbx/CLPP owns syntax, IntelliSense (clpp setup), and Luau codegen. This CLI finds .clpp / .clp / .clh (and .flare / .mint / .bloom / .helm / .shift / .hive / .axiom), runs clpp api compile, rewrites ClppLibs → ReplicatedStorage.CluauppLibs, and writes out/ for Rojo.
Native PascalCase CluauppLibs: Flare net, Sweep zelador, Spark signal, Keep data, Mint numbers, Axiom math, Roster tables, Gleam UI, Bloom effects, Lens debug UI, Crest topbar, Pin billboard, Stage viewport 3D, Coil spring, Helm commands, Shift states, Hive ECS, Ward anti-cheat, Ember VFX, Echo replication, Guide tutorials, Trace pretty-print. Schemas pack u8 ids / ColorSequence / tables — never JSON on the hot path. Name map: runtime/SOURCES.md.
#include <clpp/roblox.clh>
struct HelloServer {
void Greet(Player player);
};
void HelloServer::Greet(Player player) {
post("Player name: " .: player.Name);
}
void init() {
HelloServer hello;
Players players = GetService<Players>();
for (Player player in players.GetPlayers()) {
hello.Greet(player);
}
players.PlayerAdded~>Connect(func (Player playerEntered) {
hello.Greet(playerEntered);
});
}Install
- Node.js 18+
- Rojo 7.7.0
clpp0.3.2 on PATH from CL++ (clpp-setup.exeorclpp setup). Do not leave a cargoclpp 0.1.0first on PATH.
npm install -g cluaupp@latest
clpp setup
npx cluaupp init my-game
cd my-game
rokit install
cluaupp build
rojo serve| Source | Output | Rojo |
| --- | --- | --- |
| *.server.clpp | *.server.luau | Script |
| *.client.clpp | *.client.luau | LocalScript |
| *.clp / untagged .clpp | *.luau | ModuleScript |
| *.clh | *.luau | ModuleScript |
CLI
cluaupp init [folder]
cluaupp build [folder]
cluaupp watch [folder]
cluaupp language # clpp api manifest
cluaupp intellisense # Flare extension + clpp setupclpp missing? Set CLPP / CLPP_PATH or install CL++ 0.3.2.
Language
Course and reference: kartzrbx.github.io/CLPP. Write Player player (never Player*). Default listen is ~>Connect. Fire with .Fire. @this only inside Class::Method.
Exclusive CL++ (guard, match, signal, observable, .:, ::, Fusion) is compiled by clpp. Samples: examples/game. Old C++ games: migration. Toolchain docs (Starlight): npm run site:dev.
License
MIT
