# Local Test Harness All verification runs through the wrapper scripts under `run/`, ensuring every command executes in Docker. ## Devtools checks Use `./run/dev.sh` for linting and documentation updates: ```bash ./run/dev.sh python scripts/lint_repo.py --slug apache-apisix --strict ./run/dev.sh python scripts/generate_status.py --preserve-timestamp ``` ## Packaging shell Invoke `./run/packager.sh` (optionally with `BUILD=1`) when you need the Cloudron CLI to build, install, or push packages. ## CI parity The Gitea workflow calls the same commands via the devtools image. To mimic it locally, run the lint/status commands above followed by any smoke tests inside the packager shell.