NxtSoftLabs
CGRAPH DOCS — CONTENTS
CGRAPH

Contributor Guide

CGraph is open source and built from source. This guide covers the build, the tests, and what a good contribution looks like.

Build from source

CGraph uses CMake and vcpkg. The full prerequisites and commands are on the Installation page; the short version:

build and test
export VCPKG_ROOT="/path/to/your/vcpkg"
cmake --preset default
cmake --build --preset default
ctest --preset default

Tests

The repository carries two test layers:

tests/smoke/   CTest smoke coverage (run by ctest --preset default)
tests/fuzz/    optional libFuzzer targets

Run the smoke suite with ctest --preset default before opening a PR; it's the fast gate that a change hasn't broken the core paths.

What a good contribution looks like

01
Pick an issue

Browse open issues; good-first-issue labels mark friendly entry points.

02
Fork and build

Clone, configure with CMake + vcpkg, and run the smoke suite to verify your setup.

03
Open a PR

Keep extraction deterministic, add smoke coverage for new behavior, and the review will move quickly.

Warning

The most important invariant to preserve is determinism: the same tree must produce the same graph. A change that makes extraction non-deterministic breaks incremental updates and background persistence — add smoke coverage that would catch it.

Where the code lives

See Architecture for the repository layout — src/cli, src/daemon, src/client, src/mcp, and the src/engine core.