When you want full control over your C++ project without fighting with CMake boilerplate or inconsistent dependency setups, meet Zyn β a powerful tool designed for modern C++ workflows with Git-level dependency tracking, semantic versioning, and a clean project structure.
π§ Quick Start
Create your project in seconds:
zyn new my_project
cd my_project
Add dependencies directly from Git:
zyn install https://github.com/fmtlib/fmt.git@9.1.0
Run it fast, run it clean:
zyn run --release
π§ Why Zyn?
Unlike legacy build systems, Zyn keeps things predictable, clean, and modular:
Git-based dependencies with version locking
Semantic versioning support
Clean project layout with predictable src/, include/, and .zyn/ folders
C++ standards support out of the box
Automatic compiler flag generation
π οΈ Commands
Command What it does
zyn new <name>
Create a new project
zyn install <url>
Install dependency from Git
zyn add <path>
Add a local dependency
zyn run [--debug/--release]
Run app
zyn update
Update all dependencies
zyn clean
Wipe build artifacts
π Project Structure
Zyn generates a structure that makes sense:
project/
βββ .zyn/
β βββ deps/ # Git dependencies
β βββ build/ # Compiled outputs
β βββ lock/ # Version locks
βββ src/ # C++ source files
βββ include/ # C++ headers
βββ zyn.toml # Central project config
π© Configuration Example
` [project]
name = "my_app"
version = "1.0.0"
language = "cpp"
standard = "c++20"
compiler = "clang++"
[directories]
sources = "src"
include = "include"
build = ".zyn/build"
[dependencies]
fmt = { git = "https://github.com/fmtlib/fmt.git", tag = "9.1.0" }
boost = { path = "/opt/boost" }
[libraries]
lib_dirs = ["/usr/local/lib"]
libraries = ["pthread", "dl"] `
π Dependency Management
Add a Git repo directly:
[dependencies]
json = { git = "https://github.com/nlohmann/json.git", tag = "v3.11.2" }
Or use a local path:
[dependencies]
mylib = { path = "../mylib" }
Zyn will lock versions, build automatically, and ensure reproducibility.
β Best Practices
- Always commit zyn.toml and .zyn/lock/
- Use tagged releases instead of branches
- Run zyn update regularly to keep deps fresh
- Prefer minimal, focused dependencies β Zyn makes it easy
𧨠Conclusion
Zyn is what happens when you combine modern package management with low-level power. If you're serious about C++, and want a real workflow, try Zyn.
Forget clutter.
Forget hacks.
Just build.
Zyn β When Control Begins.
Top comments (0)