Automatically checks and fixes coding conventions across OpenAEC-Foundation repositories.
- Fetches conventions from
OpenAEC-Foundation/conventions - Checks repositories for convention violations
- Automatically fixes violations where possible (with
--fix-*flags) - Flags complex cases for manual review
- Creates/updates a pinned GitHub issue in
.githubrepo tracking all violations (check mode only)
- Repository naming conventions (kebab-case, max 3 segments)
- License management (LGPL 3.0)
- String case conversion utility
Check conventions:
./repo_conventions_enforcer.py --repo-naming # Check all repos
./repo_conventions_enforcer.py --repo-naming --single-repo RepoCleaner # Check one repo
./repo_conventions_enforcer.py --licenses # Check licensesFix violations (
./repo_conventions_enforcer.py --fix-repo-naming # Rename repos to fix naming
./repo_conventions_enforcer.py --fix-licenses # Apply/update licensesWarning: --fix-* flags modify repositories directly. Always run check-only mode first and review the changes carefully before using fix mode.
Convert strings:
./repo_conventions_enforcer.py --string-naming kebab-case "OpenPDFStudio"- Python 3.11+
- GitHub CLI: https://cli.github.com/
- Dependencies:
pip install pyyaml - Authenticated:
gh auth login
LGPL 3.0