Thank you for your interest in contributing to nr-vault! This document provides guidelines and information for contributors.
Please be respectful and constructive in all interactions. We welcome contributions from everyone.
- PHP 8.2 or higher
- Composer 2.x
- TYPO3 v13.4 or v14
- Docker and DDEV (recommended for local development)
-
Clone the repository:
git clone https://github.com/netresearch/t3x-nr-vault.git cd nr-vault -
Install dependencies:
composer install
-
Start the development environment (if using DDEV):
ddev start ddev composer install
Use descriptive branch names with prefixes:
feature/- New featuresfix/- Bug fixesdocs/- Documentation updatesrefactor/- Code refactoringtest/- Test additions or fixes
Follow Conventional Commits:
feat: add secret rotation support
fix: resolve memory leak in encryption service
docs: update installation instructions
test: add unit tests for VaultService
refactor: simplify access control logic
This project follows PER-CS 2.0 coding standards. Run the fixer before committing:
composer cs-fixCheck for code style issues:
composer cs-checkWe use PHPStan at the maximum level (10). Run analysis:
composer phpstanRun all tests:
composer testRun specific test suites:
# Unit tests
composer ci:test:php:unit
# Functional tests
composer ci:test:php:functional-
Fork and branch: Create a feature branch from
main -
Make changes: Implement your changes following the coding standards
-
Test: Ensure all tests pass and add new tests for your changes
-
Commit: Use conventional commit messages
-
Push: Push your branch to your fork
-
Open PR: Create a pull request with:
- Clear description of changes
- Link to any related issues
- Screenshots for UI changes
- All tests pass
- PHPStan reports no errors
- Code style is correct
- Documentation is updated (if applicable)
- CHANGELOG.md is updated
When reporting bugs, please include:
- TYPO3 version
- PHP version
- Steps to reproduce
- Expected behavior
- Actual behavior
- Error messages (if any)
For feature requests, please describe:
- The problem you're trying to solve
- Your proposed solution
- Alternative solutions considered
DO NOT create public issues for security vulnerabilities.
Use GitHub's private security reporting feature: Report a vulnerability
See SECURITY.md for details.
- Update documentation for any user-facing changes
- Use RST format in
Documentation/directory - Keep README.md synchronized with documentation
By contributing, you agree that your contributions will be licensed under the GPL-2.0-or-later license.
If you have questions about contributing, please open a discussion on GitHub.
Thank you for contributing to nr-vault!