php artisan boost:add-skill nowo-tech/wallet-qr-bundle
Save this content to: .cursor/rules/10-php-symfony-bundle.mdc
Target this bundle compatibility by default: PHP >=8.2 <8.6 and Symfony 7.4 / 8.x (see `composer.json`).
Code must parse on PHP 8.2: write `(new Foo())->bar()`, never `new Foo()->bar()`.
Prefer:
- modern PHP with strict typing and explicit return types
- PSR-12 coding style (`make cs-check` / `make cs-fix`)
- final classes by default, readonly where appropriate
- constructor injection; PSR-20 `Psr\Clock\ClockInterface` for time and PSR-3 `Psr\Log\LoggerInterface` for logs (see `docs/PSR.md`)
- small focused services (`src/GoogleWallet`, `src/AppleWallet`, `src/Service`, `src/Twig`)
- keeping `NowoWalletQrExtension`, `Configuration` and the Twig functions backward compatible
- an English PHPDoc block on every public class and public method in `src/`
- never logging private keys, JWTs, save URLs or pass payloads
Before finishing a PHP change run `make cs-check`, `make phpstan`, `make rector-dry` and `make test`.
Do not introduce BC breaks unless explicitly requested.
Do not rename public services, configuration keys, or Twig functions without a deprecation path.
Do not touch unrelated namespaces or files.
Target this bundle compatibility by default: PHP >=8.2 <8.6 and Symfony 7.4 / 8.x (see composer.json).
Code must parse on PHP 8.2: write (new Foo())->bar(), never new Foo()->bar().
Prefer:
make cs-check / make cs-fix)Psr\Clock\ClockInterface for time and PSR-3 Psr\Log\LoggerInterface for logs (see docs/PSR.md)src/GoogleWallet, src/AppleWallet, src/Service, src/Twig)NowoWalletQrExtension, Configuration and the Twig functions backward compatiblesrc/Before finishing a PHP change run make cs-check, make phpstan, make rector-dry and make test.
Do not introduce BC breaks unless explicitly requested. Do not rename public services, configuration keys, or Twig functions without a deprecation path. Do not touch unrelated namespaces or files.
How can I help you explore Laravel packages today?