Thank you for contributing to Workflow Bundle.
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold it. Please report unacceptable behavior to hectorfranco@nowo.tech.
git clone https://github.com/nowo-tech/WorkflowBundle.git
cd WorkflowBundle
make up
make installDemos: make -C demo up-symfony8 (FrankenPHP + PostgreSQL).
make cs-check
make phpstan
make test
make test-coverage
make release-checkOr inside the container: composer qa runs cs-check + tests.
PHPStan includes nowo-tech/phpstan-frankenphp rulesets (classic + worker) as a require-dev maintainer tool only (REQ-CS-005) — it is not a runtime dependency of consumer apps.
- PHP 8.2+,
declare(strict_types=1); - PSR-12 via PHP-CS-Fixer
- PHPDoc on public classes and methods (English)
- New behavior requires PHPUnit coverage
- Update
docs/CHANGELOG.mdfor user-visible changes - Run
make release-checkbefore opening the PR - Use the PR template in
.github/PULL_REQUEST_TEMPLATE.md
See SPEC-DRIVEN-DEVELOPMENT.md for product scope and REQ-* traceability.
Open an issue or contact hectorfranco@nowo.tech.
Do not add Co-authored-by: Cursor or cursoragent@cursor.com trailers to commit messages.
make setup-hooks
make check-no-cursor-coauthormake setup-hooks installs .githooks/commit-msg (or sets core.hooksPath to .githooks). Run it once per clone before your first commit.
If CI fails because trailers are already on the remote, see GITHUB_CI.md (REQ-GIT-001) and run make strip-cursor-coauthor-from-history before git push --force-with-lease.