Quickstart¶
Add the quality workflows to a repo with the standard-ci CLI. It has no dependencies and supports Python 3.8 and newer. You need push access and, for C++ analysis, a Docker image with your build tools.
1. Install and generate¶
pip install git+https://github.com/PavelGuzenfeld/standard.git
cd your-repo
standard-ci init --preset recommended
It detects languages from CMakeLists.txt, package.xml and pyproject.toml, and writes:
.github/workflows/cpp-quality.yml.github/workflows/python-quality.ymland.github/workflows/sast-python.yml.github/workflows/infra-lint.yml.standard.yml, which the compliance bot reads
Each ref is pinned to the commit SHA of the latest tag, with the tag as a comment. standard-ci fills in <sha> and <tag>. Use --pin TAG to pick another tag:
2. Pick a preset¶
| Preset | Enabled beyond defaults | Use case |
|---|---|---|
minimal |
Python SAST: Semgrep, pip-audit | Fast CI, essential checks |
recommended |
+ clang-format, file naming, flawfinder, infra-lint | Coverage and speed balanced |
full |
+ banned patterns, doctest, SARIF, sanitizers, IWYU, more infra-lint, CodeQL | Everything |
The inputs per preset are in src/standard_ci/presets.py.
3. Commit and push¶
The next PR runs the checks. To copy a workflow by hand instead, use the starter workflows.
4. Keep the pins current¶
With .standard.yml in the repo, the compliance bot also opens a PR for outdated pins. Compliance covers setup.