| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A generic CMake-first C++ project frame for agentic development.
It packages a buildable example library and CLI together with repo-local agent skills, deterministic tests, docs, analyzers, release scripts, and GitHub workflows that are meant to be copied and adapted into a real project.
This frame is designed for projects that want:
Defaults:
Using CMake presets (recommended):
cmake --preset dev
cmake --build build/dev -j"$(nproc)"
ctest --test-dir build/dev --output-on-failure
./build/dev/frame_cli --helpOr manually:
BUILD_DIR="$(mktemp -d /tmp/cpp-frame-build-XXXXXX)"
cmake -S . -B "$BUILD_DIR" -G Ninja
cmake --build "$BUILD_DIR" -j"$(nproc)"
ctest --test-dir "$BUILD_DIR" --output-on-failure
"$BUILD_DIR/frame_cli" --helpAvailable presets: dev (debug + sanitizers), release (optimized + LTO), ci (matches GitHub Actions), coverage (gcov instrumentation).
Human-readable state flow:
start work complete + verify
+-----------+ ----------> +----------+ -----------------> +--------+
| planned/ | | active/ | | done/ |
+-----------+ +----------+ +--------+
|
| replace with newer record
v
+---------------+
| superseded/ |
+---------------+
rule: records in `superseded/` must set `Superseded by` to the replacement record
How to read it:
Use the helper to move records safely:
bash scripts/set-feature-record-lifecycle.sh feature_records/planned/<record>.md active
bash scripts/set-feature-record-lifecycle.sh feature_records/active/<record>.md done
bash scripts/set-feature-record-lifecycle.sh \
--superseded-by feature_records/done/<replacement>.md \
feature_records/active/<record>.md superseded.agents/skills/ Project-local agent skills
config/change-contract-policy.sh
Repo-local change-contract policy
.github/workflows/ Generic CI and release workflow templates
benchmarks/ Optional micro-benchmark harness
cmake/ Analyzer helper scripts
contrib/ Optional service/desktop integration examples
docs/ Doxygen config and API-focused docs
scripts/ Hygiene, release, diagnostics, and init helpers
src/ Example library and CLI
tests/ Deterministic example tests and frame_test.h
feature_records/ Root template, README, and lifecycle subdirectories
Optional local tooling:
Useful targets when the tools are installed:
cmake --build "$BUILD_DIR" --target format # auto-format sources
cmake --build "$BUILD_DIR" --target format-check # CI formatting check
cmake --build "$BUILD_DIR" --target clang-tidy
cmake --build "$BUILD_DIR" --target cppcheck
cmake --build "$BUILD_DIR" --target clazy
cmake --build "$BUILD_DIR" --target docs
cmake --build "$BUILD_DIR" --target lint # aggregates analyzers
cmake --build "$BUILD_DIR" --target valgrind
cmake --build "$BUILD_DIR" --target coverage # tests + gcov reportINSTALL_DIR="$(mktemp -d /tmp/cpp-frame-install-XXXXXX)"
cmake --install "$BUILD_DIR" --prefix "$INSTALL_DIR"
test -x "$INSTALL_DIR/bin/frame_cli"Typical first steps:
./scripts/init-project.sh --name "Your Project Name" # dry-run
./scripts/init-project.sh --name "Your Project Name" --applyMIT. See LICENSE.
| Back | FazBrowse Home | New Git URL |