Development¶
How to set up, test, and release occystrap.
Install for development¶
Pre-commit hooks¶
This project uses pre-commit hooks to validate code before commits. Install them with:
The hooks run:
actionlint- GitHub Actions workflow validationshellcheck- Shell script lintingcheck-log-levels- Enforces max LOG.info() calls per filetox -eflake8- Python code style checkstox -epy3- Unit tests
To run the hooks manually:
Running tests¶
Unit tests are in occystrap/tests/ and can be run with:
Functional tests are in deploy/occystrap_ci/tests/ and are run in CI.
Releasing¶
Releases are automated via GitHub Actions. Push a version tag to trigger the pipeline:
The workflow builds the package, signs the tag with Sigstore, publishes to PyPI, and creates a GitHub Release. See RELEASE-SETUP.md for one-time configuration steps.
Developer automation¶
This project supports automated CI helpers via PR comments. To use these commands, comment on a pull request with one of the following:
@shakenfist-bot please retest- Re-run the functional test suite@shakenfist-bot please attempt to fix- Have Claude Code attempt to fix test failures@shakenfist-bot please re-review- Request another automated code review@shakenfist-bot please address comments- Have Claude Code address the automated review comments
These commands are only available to repository collaborators with write access.
Claude Code skills¶
The .claude/skills/ directory contains guidance for AI agents working on
this codebase, covering documentation updates, testing discipline, and PR
preparation.