Scripts Documentation
All automation scripts for the moko-cassiopeia project are written in Python for cross-platform compatibility and support both Joomla and Dolibarr extensions.
Quick Reference
# Run all validations
make validate
python3 scripts/run/validate_all.py
# Run specific validations
python3 scripts/validate/manifest.py
python3 scripts/validate/xml_wellformed.py
# Create distribution package (auto-detects Joomla or Dolibarr)
make package
python3 scripts/release/package_extension.py dist
Platform Support
All scripts automatically detect and support:
- Joomla Extensions: Templates, Components, Modules, Plugins, Packages
- Dolibarr Modules: Automatic detection and packaging
Available Scripts
Validation Scripts (scripts/validate/)
manifest.py- Validate extension manifests (Joomla/Dolibarr)xml_wellformed.py- Validate XML syntaxworkflows.py- Validate GitHub Actions workflowstabs.py- Check for tab characters in YAMLno_secrets.py- Scan for secrets/credentialspaths.py- Check for Windows-style pathsphp_syntax.py- Validate PHP syntax
Release Scripts (scripts/release/)
package_extension.py- Create distributable ZIP packages
Run Scripts (scripts/run/)
validate_all.py- Run all validation scriptsscaffold_extension.py- Create new extension scaffolding
Library Scripts (scripts/lib/)
common.py- Common utilitiesjoomla_manifest.py- Joomla manifest parsingdolibarr_manifest.py- Dolibarr module parsingextension_utils.py- Unified extension detection
Requirements
- Python 3.6+
- Git
- PHP (for PHP syntax validation)
Migration from Shell Scripts
All shell scripts have been converted to Python. Use Python equivalents:
# Old (removed) # New
./scripts/validate/manifest.sh → python3 scripts/validate/manifest.py
./scripts/release/package.sh → python3 scripts/release/package_extension.py
For detailed documentation, see individual script help:
python3 scripts/validate/manifest.py --help
python3 scripts/release/package_extension.py --help
License
GPL-3.0-or-later - See LICENSE