Contributing to Automax
Automax is a clean SSH job automation engine. Keep changes small, explicit and covered by tests.
Setup
python -m venv .venv
. .venv/bin/activate
pip install -e '.[dev]'
Checks
python -m compileall -q src tests scripts
python -m pytest -q
bash -n scripts/ssh-smoke.sh scripts/package-smoke.sh scripts/runtime-evidence.sh
scripts/release-check.sh
Release checks
Before tagging a release, run:
scripts/release-check.sh
The release check verifies changelog coverage for the package version, generated plugin documentation, plugin smoke runbook indexes, plugin coverage gates, tests, strict documentation builds and package smoke.
Rules
- keep job, inventory, variables and secrets external to the source tree;
- expose only canonical plugin names in public docs and CLI output;
- add tests for every new plugin or engine behavior;
- prefer idempotent remote operations;
- do not add ambiguous plugin aliases, duplicate manager layers or undocumented utilities.