Contribution guide
Thanks for considering contributing to this extension! Since it is an open source product, its successful further development depends largely on improving and optimizing it together.
The development of this extension follows the official TYPO3 coding standards. To ensure the stability and cleanliness of the code, various code quality tools are used and most components are covered with test cases. In addition, we use DDEV for local development. Make sure to set it up as described below. For continuous integration, we use GitHub Actions.
Preparation
# Clone repository
git clone https://github.com/eliashaeussler/typo3-sitemap-robots.git
cd typo3-sitemap-robots
# Install dependencies
composer install
Development workflow
A typical contribution workflow looks like this:
-
Apply automatic fixes
Use the following commands to normalize and format the code base:
# Apply all automatic fixes composer fix # Apply specific fixes composer fix:composer composer fix:editorconfig composer fix:phpCopied! -
Run checks
Use
composer checkto run the full code quality pipeline locally. This command bundles dependency analysis, static analysis, coding style checks, and Rector in dry-run mode so that potential refactorings can be reviewed without changing files.# Run all checks composer check # Run specific checks composer check:deps composer check:refactor composer check:static composer check:style # Run specific style checks composer check:style:composer composer check:style:editorconfig composer check:style:phpCopied! -
Run refactorings
Refactorings are intentionally separated from regular checks because they may change the code base.
# Run all configured refactorings composer refactor # Run specific refactorings composer refactor:phpCopied! -
Run tests
Run the full test suite before opening a pull request:
# Run all tests composer test composer test:coverage # Run functional tests composer test:functional composer test:functional:coverage # Run unit tests composer test:unit composer test:unit:coverage # Merge coverage reports composer test:merge-coverageCopied!
Coverage reports
Code coverage reports are written to Build/. Open the latest merge
HTML report with:
open Build/tests/coverage/html/_merged/index.html
Pull requests
Once the changes are ready, please submit a pull request and describe what was changed and why. Ideally, the pull request references an issue that describes the problem being solved.
All documented code quality tools are executed automatically for pull requests across the currently supported PHP versions. For details, refer to the GitHub Actions workflows.