DEV Community

Zyntraxis
Zyntraxis

Posted on

πŸš€ Zyn: Modern C++ Project Management Made Effortless

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)