Project Flow aims at being a one-stop tool for C++ projects, from creating new project, though building and verifying, all the way to publishing releases to the repository. It will run a set of known steps and will happily consult your project what do you want to call any subset of those steps.
Currently, it will make use of Conan for external dependencies, CMake presets for config and build and GitHub CLI for releases.
To create a new project with Project Flow, first install it using pip:
(.venv) $ pip install proj-flowEvery project created with Project Flow has a self-bootstrapping helper script,
which will install proj-flow if it is needed, using either current virtual
environment or switching to a private virtual environment (created inside
.flow/.venv directory). This is used by the GitHub workflow in the generated
projects through the bootstrap command.
On any platform, this command (and any other) may be called from the root of the project with:
python .flow/flow.py bootstrapFrom Bash with:
./flow bootstrapFrom PowerShell with:
.\flow bootstrapA fresh C++ project can be created with a
proj-flow init cxxThis command will ask multiple questions to build Mustache context for the project template. For more information, see the documentation.