- No boilerplate — one config file, predictable structure
- Cargo-like workflow —
build,run,clean,test,add - Cross-compilation — full target triple support with short names
- IDE integration — VS Code, CLion,
compile_commands.jsonout of the box - Dependencies — path, git, and registry-based with lock file
| Arch Linux (AUR) |
yay -S dcr |
| macOS/Linux(GNU) (Homebrew) |
brew tap dexoron/dexoron
brew install dcr |
| Cargo (crates.io) |
cargo install dcr |
| Linux / macOS (script) |
curl -fsSL https://dcr.dexoron.su/install.sh | bash |
| Windows (PowerShell) |
irm https://dcr.dexoron.su/install.ps1 | iex |
| From source |
git clone https://github.com/dexoron/dcr.git
cd dcr && cargo build --release
ln -sf "$PWD/target/release/dcr" ~/.local/bin/dcr |
dcr new hello
cd hello
dcr runProject structure:
hello/
├── dcr.toml # project config
└── src/
└── main.c
[package]
name = "hello"
version = "0.1.0"
[build]
language = "c"
standard = "c11"
compiler = "clang"
kind = "bin"
[dependencies]| Command | Description |
|---|---|
dcr new <name> |
Create a new project |
dcr init |
Initialize current directory |
dcr build [--release] |
Build the project |
dcr run [--release] |
Build and run |
dcr clean |
Remove build artifacts |
other in docs/ and dcr --help
| OS | x86_64 | aarch64 | armv7 | i686 | riscv64 | GNU | Musl | MSVC | MinGW |
|---|---|---|---|---|---|---|---|---|---|
| Linux | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| macOS | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Windows | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| FreeBSD | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |||
| OpenBSD | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | |||
| NetBSD | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
✅ officially supported ·
Full docs at dcr.dexoron.su or in the docs/ directory.
| Name | Role | GitHub | |
|---|---|---|---|
| 👤 | Dexoron (Bezotechestvo Vladimir) | Maintainer, Creator | @dexoron |
| 👤 | Kai | Maintainer | @peoplemiau1 |
See CONTRIBUTING.md. Before a PR:
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test