Docs/projects & cli
PROJECTS & CLI

From folder to executable.

Project manifests and every implemented CHUD command.

One project. One manifest.

chud.toml
[project]
name = "HelloCHUD"
version = "0.1.0"
type = "executable"
entry = "src/Program.chud"

[build]
target = "windows-x64"
optimization = "debug"

[dependencies]

The CLI validates TOML, project names, semantic versions, the executable project type, and an entry inside src/. All regular .chud files under src are compiled. Symbolic links are skipped. Dependencies are rejected until package support exists.

Commands you can use today.

CommandWhat it does
chud new Name [--empty]Creates a console or empty executable project.
chud build [--release]Compiles and links the project.
chud run [--release]Compiles, then executes on success.
chud checkChecks project syntax and types without producing an executable.
chud test [--release]Compiles and runs standalone CHUD test programs.
chud cleanRemoves the project’s .chud build directory.
chud --help / --versionShows supported commands or the tool version.

Formatting, add/remove/restore, and publish commands are not available.

Keep builds out of source.

Intermediate IR, native objects, and executables live under .chud/debug/ or .chud/release/. Release requests optimization; debug is currently unoptimized code, without source-level debugging metadata. Every invocation rebuilds.

Test with native programs.

tests/Arithmetic.chud
public func Main() -> int
{
    if 2 + 2 != 4 { return 1; }
    return 0;
}

chud test builds each tests/**/*.chud file as its own executable. Each needs a Main. Return zero for success. The command fails if no tests exist. Shared library fixtures and an attribute-based test framework are future work.

Covers the implemented 0.1.0-alpha subset · Windows x64

Search language syntax, setup, Studio, and more.

CHUD DOCUMENTATION↑ ↓ to navigate · Enter to open