Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
10 Php Symfony Bundle
nowo-tech/manual-kit-bundle
cursor
symfony
documentation
i18n
markdown
bundle
translations
help
manual
symfony-bundle
commonmark
frankenphp
nowo

PHP and Symfony rules for ManualKitBundle

Install
php artisan boost:add-skill nowo-tech/manual-kit-bundle

Save this content to: .cursor/rules/10-php-symfony-bundle.mdc

Targets: PHP `>=8.4 <8.6` and Symfony `^7.4 || ^8.0` (composer.json). Every PHP file declares `strict_types=1`.

Prefer:
- `final` (or `final readonly`) classes, typed properties and explicit return types, PSR-12 / Symfony style
  (`make cs-check`, `make cs-fix`)
- constructor injection; services are wired in `src/Resources/config/services.php` and `NowoManualKitExtension`
- a strict `Configuration` tree: `cannotBeEmpty()`, `enumNode`, `validate()` with messages that name the path and the
  allowed values (REQ-SF-006); document every key in `docs/CONFIGURATION.md`
- explicit `timeout` / `max_duration` on every HttpClient request (REQ-RUNTIME-001) and the injected PSR-3 logger
  for network failures, never logging API keys or chapter texts (REQ-OBS-001)
- no per-request state in services (FrankenPHP worker mode; `make igor`)
- English PHPDoc on every class and public method (`make validate-phpdoc`)

Keep the security invariants: only manifest chapters are served (no request path reaches the filesystem), admin
content answers 404 and `<!-- audience -->` markers fail closed, rendered Markdown always goes through the HTML
sanitiser.

Do not rename public services, config keys, routes, Twig functions or the `NowoManualKitBundle` Twig namespace /
translation domain without a BC layer and a `docs/UPGRADING.md` entry.

Targets: PHP >=8.4 <8.6 and Symfony ^7.4 || ^8.0 (composer.json). Every PHP file declares strict_types=1.

Prefer:

  • final (or final readonly) classes, typed properties and explicit return types, PSR-12 / Symfony style (make cs-check, make cs-fix)
  • constructor injection; services are wired in src/Resources/config/services.php and NowoManualKitExtension
  • a strict Configuration tree: cannotBeEmpty(), enumNode, validate() with messages that name the path and the allowed values (REQ-SF-006); document every key in docs/CONFIGURATION.md
  • explicit timeout / max_duration on every HttpClient request (REQ-RUNTIME-001) and the injected PSR-3 logger for network failures, never logging API keys or chapter texts (REQ-OBS-001)
  • no per-request state in services (FrankenPHP worker mode; make igor)
  • English PHPDoc on every class and public method (make validate-phpdoc)

Keep the security invariants: only manifest chapters are served (no request path reaches the filesystem), admin content answers 404 and <!-- audience --> markers fail closed, rendered Markdown always goes through the HTML sanitiser.

Do not rename public services, config keys, routes, Twig functions or the NowoManualKitBundle Twig namespace / translation domain without a BC layer and a docs/UPGRADING.md entry.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus