Files
devx/docs/user/cli-commands.md
T
emil c20dfd185a
Post-merge / detect-type (push) Successful in 12s
Post-merge / validate-commit-msg (push) Successful in 10s
Post-merge / configure-repo (push) Successful in 26s
Post-merge / release (push) Successful in 43s
Post-merge / vikunja (push) Successful in 16s
Post-merge / sync-wiki (push) Successful in 48s
Post-merge / badges (push) Successful in 58s
DEVX-13: feat: add per-test timing quality gate to check_test_speed
2026-06-23 16:25:50 +00:00

135 lines
3.5 KiB
Markdown

# 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).
```bash
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.
```bash
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.