-
Notifications
You must be signed in to change notification settings - Fork 0
Development and Contribution
Leonard Ramminger edited this page Aug 10, 2026
·
2 revisions
Beez is a C++20 application built with CMake, Conan 2, and Clang. This chapter covers how to set up a dev environment, navigate the repository, run tests and quality checks, and land changes.
- Building and Setup - dependencies, build, install, local run
- Repository Layout - source tree, modules, where to add code
- Testing - unit, integration, system, performance, fuzzer
- Code Quality - format, lint, analysis, security, coverage, sanitizers
-
Feature Development Workflow - vertical TDD from user story to
make all - Submitting Changes - PR expectations, CI, definition of done
make setup CONAN_PROFILE=conan/profiles/clang-release # Conan install + CMake configure (Release)
make build # Compile release binary
make test # Run all test suites
./build/build/Release/bin/beez --helpFull quality pipeline before opening a PR:
make allIncludes line coverage ≥ 85% on src/. User-visible features require wiki and CHANGELOG.md updates. See Feature Development Workflow and repo docs/README.md.
Beez is licensed under Apache-2.0. By contributing, you agree that your contributions are licensed under the same terms.
- Project Layout - how end users organize Beez projects (different from this repo layout)
- CLI - CLI behavior contributors may need to extend
- Lua DSL - DSL surface area for plugin work
Quick Reference · Glossary · FAQ
- Fundamentals
- Core Concepts
- Project Layout
- First Pipeline
- Phases and Scopes
- How Phases and Scopes Work
- Selecting with Phases and Scopes
- Designing Phases and Scopes
- Parallel Execution and Dependencies
- Configuration
- Configuration Overview
- Global User Config
- Project Config
- Environment Variables
- Performance Settings
- Cache Settings
- Config Reference
- CLI
- CLI Overview
- Running Targets
- Filtering by Phase
- Running a Single Step
- Listing Entities
- Output and Logging Flags
- Cache and Maintenance Flags
- Meta and Utility Commands
-
Project Scaffolding —
beez --init(embedded Tempify) - CLI Flag Reference
- Lua DSL
- DSL Overview
- Plugin System — Plugins, Config DSL, Standard-Workflows
- Step Declaration
- Task Declaration
- Workflow Declaration
- Order Declaration
- Configure Step
- ReqPack Declaration
- Beez API
- Step Context
- DSL Patterns
- Caching
- Caching Overview
- Step Cache
- Success Cache
- Glob Metadata Cache
- Artifact Patterns
- Cache Keys and Invalidation
- Cache Storage and Maintenance
- Caching Troubleshooting
- UI and Output
- Output Modes
- Progress and Animation
- Colors and Themes
- Run Summaries
- Logging and Log Files
- Development and Contribution
- Building and Setup
- Repository Layout
- Testing
- Code Quality
- Feature Development Workflow
- Submitting Changes