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)