3.5 KiB
CLI Commands
devx provides a CLI with three command groups: ci, tools, and molecule.
CI Commands
devx ci auto-merge
Auto-merge a PR when all CI checks pass. Validates PR title, checks Vikunja task, squash-merges.
devx ci check-translations
Check translation files for gaps, dead keys, and missing languages.
devx ci classify-changes
Classify git changes as user-facing or workflow-only. Used to skip releases for infrastructure-only changes.
devx ci detect-release-commit
Detect whether the latest git commit is a release commit (release: vX.Y.Z [skip ci]).
devx ci discover-runners
Discover available Gitea Actions runners for dynamic job distribution.
devx ci distribute-files
Distribute files across parallel runners (round-robin). Used for splitting test suites or workloads across CI runners.
devx ci doc-coverage
Check documentation coverage for CLI commands and major modules.
devx ci integration-guard
Run pytest with cross-runner failure detection and JUnit XML output. Monitors other runners for failures and aborts early if a critical failure is detected.
devx ci merge-junit
Merge multiple JUnit XML reports from parallel runners into a single consolidated report.
devx ci notify-failure
Create a Gitea issue when a CI workflow fails.
devx ci post-merge
Update Vikunja task after a merge to master.
devx ci pr-review
Run automated PR review: check architecture compliance, best practices, and quality.
devx ci publish
Build package, publish to Gitea PyPI registry, and create Gitea release.
devx ci push-badges
Generate badge SVG files and push them to the badges branch.
devx ci release
Automated release: calculate next version, update files, tag, and push.
devx ci sync-wiki
Sync documentation from docs/ to the Gitea wiki.
devx ci validate-commit-msg
Validate commit messages for conventional commit format.
Tools Commands
devx tools check-test-speed
Run unit tests and enforce execution-time budgets:
- Total suite time must not exceed
--max-seconds(default: 10s). - Per-test time — no individual test may exceed
--max-single-seconds(default: 0.5s, 0 to disable).
python3 -m devx.tools.check_test_speed --max-seconds 10 --max-single-seconds 0.5
devx tools configure-repo
Configure repository: branch protection + labels via Gitea API.
devx tools generate-badges
Generate self-contained SVG badge files from project metrics.
devx tools generate-cliff-config
Generate a cliff.toml configuration file with the correct task ID prefix.
Eliminates the need to manually duplicate and maintain cliff.toml across
repos that use devx.
python -m devx.tools.generate_cliff_config --prefix GRM
python -m devx.tools.generate_cliff_config --prefix GRM --force # overwrite existing
devx tools install-checkmake
Install checkmake (Makefile linter) if not already present.
devx tools install-tools
Install CI/CD development tools: actionlint, git-cliff, act_runner, tea.
devx tools setup
Project setup: install Python deps and pre-commit hooks.
Molecule Commands
devx molecule distribute
Distribute molecule test pairs across parallel runners.
devx molecule discover-runners
Discover available Gitea Actions runners for molecule tests.
devx molecule guard
Run molecule tests sequentially with CI failure polling.
devx molecule all
Run all molecule scenarios on all supported OS platforms.