Ensures compliance with rsyslog's strict commit message and branching policies.
This skill standardizes the final step of the development workflow: committing and contributing.
devtools/format-code.sh --git-changed to rewrite formatting when needed.devtools/format-code.sh --git-changed if
any .c or .h files were modified and formatting may need to be applied.
This is mandatory for C source changes before commit. For a read-only local
validation gate, agents MUST run
devtools/format-code.sh --git-changed --check --check-if-available; this
skips with a warning if the exact configured clang-format executable is not
installed. CI will not pass with improperly formatted C/H code; a missing
local formatter is only a local tooling limitation, not permission to skip
formatting.pycodestyle is installed, run devtools/format-python.sh <changed-python-files>. Use devtools/format-python.sh --fix <changed-python-files> only when you intentionally want autopep8 rewrites. If the tools are missing, suggest installing them (sudo apt-get install -y pycodestyle python3-autopep8 on Debian/Ubuntu) but do not block unrelated build or test validation. The shared 120-column style configuration lives in setup.cfg; review autopep8 output carefully for legacy Python-2-style scripts.shellcheck for changed
*.sh, checkbashisms -p for changed scripts that claim POSIX sh
portability, devtools/format-python.sh --check-if-available for changed
Python, actionlint and pinned zizmor for changed workflows, hadolint
for changed Dockerfiles, trivy config for changed infrastructure/config
files, and jscpd for larger changed source/test sets. Guard optional
commands with command -v; if a tool is missing, suggest installing it but
do not block unrelated build or test validation. On Debian/Ubuntu,
checkbashisms is provided by devscripts. Do not run cppcheck routinely
unless requested; it is too noisy for the rsyslog tree.cubic is installed and reachable, especially for
non-trivial code, test, workflow, build, or tooling changes. It is not a
required validation gate. Hosted Cubic/Gemini PR comments likewise provide
supplemental review feedback and must be considered when present.rsyslog_local_container_testing skill's PR-ready change-gated local
container sequence when container tooling is available. Focused
run-ci.sh TEST=... commands are targeted container tests, not PR-ready
local container validation unless that skill explicitly permits the reduced
lane.make distcheck TEST_RUN_TYPE=MOCK-OK -j$(nproc) as a final distribution check.Rsyslog requires rich, structured commit messages (plain ASCII).
<component>: <action> (Max 62 characters).https://github.com/rsyslog/rsyslog/issues/883) instead of shorthand #883.With the help of AI-Agents: <agent-name>ai/rsyslog_commit_assistant/base_prompt.txt.main.i-<issue-number> or <agent-name>-i-<issue-number>.rsyslog/rsyslog directly.rsyslog_build: To verify the code before committing.rsyslog_test: To provide validation metrics for the commit message.