php artisan boost:add-skill symkit/error-bundle
Save this content to: AGENTS.md
# Symfony Bundle
## Behavioral Directives
- **Language** — Reply in user's language. Generated content in English. User-facing strings in bundle code: translation keys only (see `symfony-bundle.mdc`).
- **Token-efficient** — Concise, no recap, straight to point. Expand when needed.
- NEVER guess Symfony conventions; read the rule from `.cursor/rules/` first.
- ALWAYS use `make`; never raw composer/php/docker/phpunit/phpstan.
- After PHP changes run `make ci`; if missing suggest `/quality-install`.
- If `Makefile-solution` exists, edit only it for make targets.
- **Bundle layer order** — Extension/config → services → public Contract/events → tests → optional Doctrine/API/UX/Flex (see `architecture.mdc`, `symfony-bundle.mdc`).
- **Challenge everything** — Value, architecture, risk. Propose alternatives before implementing.
- Skills are under `.cursor/skills/` (feature, bug-fix, etc.); without invoking a skill, follow the rules index below.
- Bundle root = directory of the package `composer.json` (not the host application).
- **On PHP changes**, apply: `symfony-bundle`, `coding-standards`, `dto`, `testing`, `security` as relevant.
- When reading a rule, challenge if principles apply.
- Check `docs/lessons-learned.md` if present.
## Project DNA
<!-- Generated by /onboard — DO NOT EDIT MANUALLY -->
(Not yet profiled. Run /onboard.)
## Rules Index
||rules-root: .cursor/rules/
||symfony-bundle.mdc: AbstractBundle, Contract pattern, final readonly, config-driven services, semver public API.
||api.mdc: Symfony native API: MapRequestPayload, MapQueryString, Serializer groups, RFC 7807.
||api-platform.mdc: API Platform: Resources, providers/processors, serialization, validation, Problem Details.
||architecture.mdc: Bundle architecture: Extension, services, Contract API, tests, Flex.
||caching.mdc: Caching: HTTP cache, app cache pools, decorator, tag invalidation, stampede, ESI.
||coding-standards.mdc: PHP 8.2+ coding: strict_types, final, SOLID, DI, TaggedIterator, iterables, no dump/dd.
||console-commands.mdc: Console commands: ProgressBar, SymfonyStyle, scheduling, exit codes, CommandTester.
||doctrine.mdc: Doctrine in bundles: entities, XML mapping, repos when the bundle persists data.
||dto.mdc: DTOs: immutability, context-based naming, validation at boundary, mapping, no public setters.
||error-handling.mdc: Error handling: custom exceptions, ExceptionListener, RFC 7807 Problem Details, errors.
||forms.mdc: Forms: DTO binding, FormType, EventSubscriber, DataTransformer.
||frontend.mdc: Frontend: Stimulus, Turbo, Twig/Live Components, AssetMapper in bundle assets/templates.
||http-client.mdc: HTTP Client: scoped clients, retry, rate limiting, SSRF prevention, MockHttpClient.
||i18n.mdc: i18n: TranslatableMessage, ICU MessageFormat, semantic keys, XLIFF in translations/.
||mailer.mdc: Mailer/Notifier: templated emails, transports, async Messenger dispatch, testing.
||messenger.mdc: Messenger CQRS: commands, handlers, buses, transports, stamps, idempotence, failure handling.
||observability.mdc: Observability: PSR-3, structured logging, LogSubscriber, Monolog, FingersCrossed, PII masking.
||quality-pipeline.mdc: Quality pipeline: make ci/tests/quality, PHPStan L9, Deptrac, GrumPHP.
||security.mdc: Security: JWT, Voters, rate limiting, CORS, OWASP API Top 10, secrets management.
||serializer.mdc: Serializer: normalizers, groups, context builders, circular refs, discriminator map.
||testing.mdc: Testing: unit/integration, TDD, DAMA, KernelTestCase minimal app, Infection MSI>=70%.
||twig.mdc: Twig v3: arrow functions, CVA, enum(), cache/types tags, Intl filters, null-safe, embed.
||validator.mdc: Validator: constraints, groups, sequences, CompoundConstraint, ConstraintValidator, tests.
||workflow.mdc: Workflow: state machine, enum places/transitions, guards, subscribers, apply() in handlers.
## Skills Reference
||/feature: Full pipeline PM→Architect→Dev→QA for new bundle functionality
||/bug-fix: TDD pipeline — regression test first, then fix
||/refactor: Safe refactoring — coverage first, then refactor
||/onboard: Profile bundle package, Project DNA, Makefile (3 targets)
||/learn: Lessons to docs/lessons-learned.md
||/quality-install: Setup quality tooling (make ci, tests, quality)
||/create-branch: Create branch type/kebab-case
||/commit: Validate, commit, push (Conventional Commits)
symfony-bundle.mdc)..cursor/rules/ first.make; never raw composer/php/docker/phpunit/phpstan.make ci; if missing suggest /quality-install.Makefile-solution exists, edit only it for make targets.architecture.mdc, symfony-bundle.mdc)..cursor/skills/ (feature, bug-fix, etc.); without invoking a skill, follow the rules index below.composer.json (not the host application).symfony-bundle, coding-standards, dto, testing, security as relevant.docs/lessons-learned.md if present.(Not yet profiled. Run /onboard.)
||rules-root: .cursor/rules/ ||symfony-bundle.mdc: AbstractBundle, Contract pattern, final readonly, config-driven services, semver public API. ||api.mdc: Symfony native API: MapRequestPayload, MapQueryString, Serializer groups, RFC 7807. ||api-platform.mdc: API Platform: Resources, providers/processors, serialization, validation, Problem Details. ||architecture.mdc: Bundle architecture: Extension, services, Contract API, tests, Flex. ||caching.mdc: Caching: HTTP cache, app cache pools, decorator, tag invalidation, stampede, ESI. ||coding-standards.mdc: PHP 8.2+ coding: strict_types, final, SOLID, DI, TaggedIterator, iterables, no dump/dd. ||console-commands.mdc: Console commands: ProgressBar, SymfonyStyle, scheduling, exit codes, CommandTester. ||doctrine.mdc: Doctrine in bundles: entities, XML mapping, repos when the bundle persists data. ||dto.mdc: DTOs: immutability, context-based naming, validation at boundary, mapping, no public setters. ||error-handling.mdc: Error handling: custom exceptions, ExceptionListener, RFC 7807 Problem Details, errors. ||forms.mdc: Forms: DTO binding, FormType, EventSubscriber, DataTransformer. ||frontend.mdc: Frontend: Stimulus, Turbo, Twig/Live Components, AssetMapper in bundle assets/templates. ||http-client.mdc: HTTP Client: scoped clients, retry, rate limiting, SSRF prevention, MockHttpClient. ||i18n.mdc: i18n: TranslatableMessage, ICU MessageFormat, semantic keys, XLIFF in translations/. ||mailer.mdc: Mailer/Notifier: templated emails, transports, async Messenger dispatch, testing. ||messenger.mdc: Messenger CQRS: commands, handlers, buses, transports, stamps, idempotence, failure handling. ||observability.mdc: Observability: PSR-3, structured logging, LogSubscriber, Monolog, FingersCrossed, PII masking. ||quality-pipeline.mdc: Quality pipeline: make ci/tests/quality, PHPStan L9, Deptrac, GrumPHP. ||security.mdc: Security: JWT, Voters, rate limiting, CORS, OWASP API Top 10, secrets management. ||serializer.mdc: Serializer: normalizers, groups, context builders, circular refs, discriminator map. ||testing.mdc: Testing: unit/integration, TDD, DAMA, KernelTestCase minimal app, Infection MSI>=70%. ||twig.mdc: Twig v3: arrow functions, CVA, enum(), cache/types tags, Intl filters, null-safe, embed. ||validator.mdc: Validator: constraints, groups, sequences, CompoundConstraint, ConstraintValidator, tests. ||workflow.mdc: Workflow: state machine, enum places/transitions, guards, subscribers, apply() in handlers.
||/feature: Full pipeline PM→Architect→Dev→QA for new bundle functionality ||/bug-fix: TDD pipeline — regression test first, then fix ||/refactor: Safe refactoring — coverage first, then refactor ||/onboard: Profile bundle package, Project DNA, Makefile (3 targets) ||/learn: Lessons to docs/lessons-learned.md ||/quality-install: Setup quality tooling (make ci, tests, quality) ||/create-branch: Create branch type/kebab-case ||/commit: Validate, commit, push (Conventional Commits)
How can I help you explore Laravel packages today?