Cursor rule Cursor
Composer plugin symkit/bundle-ai-kit — Cursor-only sync.
AI rules and optional skills for building Symfony bundles with best practices: SOLID, AbstractBundle, Contract pattern, and quality tooling (PHPStan 9, GrumPHP, Infection, Deptrac, CI).
Cursor rule Cursor
Composer plugin symkit/bundle-ai-kit — Cursor-only sync.
Cursor rule Cursor
Conventions for writing .mdc rule and skill files distributed by the plugin.
Cursor rule Cursor
Strict PHP code style for Composer plugin source code.
Cursor rule Cursor
Quality tooling configuration and CI pipeline for the Composer plugin.
Cursor rule Cursor
Testing patterns for the Composer plugin test suite.
Cursor rule Cursor
API Platform: Resources, providers/processors, serialization, validation, Problem Details (optional in bundles).
Cursor rule Cursor
Symfony native API: MapRequestPayload, MapQueryString, Serializer groups, RFC 7807 (bundle controllers).
Cursor rule Cursor
Bundle architecture: Extension, services, public Contract API, tests, Flex — adapt to existing patterns.
Cursor rule Cursor
Caching: HTTP cache, app cache pools, decorator, tag invalidation, stampede, ESI.
Cursor rule Cursor
PHP 8.2+ coding: stricttypes, final, SOLID, DI, TaggedIterator, iterables, no dump/dd.
Cursor rule Cursor
Console commands: ProgressBar, SymfonyStyle, scheduling, exit codes, CommandTester.
Cursor rule Cursor
Doctrine in bundles: entities, mapping (XML), repos — only when the bundle persists data.
Cursor rule Cursor
DTOs: immutability, context-based naming, validation at boundary, mapping, no public setters.
Cursor rule Cursor
Error handling: custom exceptions, ExceptionListener, RFC 7807 Problem Details, errors.
Cursor rule Cursor
Forms: DTO binding, FormType, EventSubscriber, DataTransformer (bundle FormTypes).
Cursor rule Cursor
Frontend: Stimulus, Turbo, Twig/Live Components, AssetMapper (bundle assets/templates).
Cursor rule Cursor
HTTP Client: scoped clients, retry, rate limiting, SSRF prevention, MockHttpClient.
Cursor rule Cursor
For logging and observability conventions, see observability.mdc.
Cursor rule Cursor
Mailer/Notifier: templated emails, transports, async Messenger dispatch, testing.
Cursor rule Cursor
Messenger CQRS: commands, handlers, buses, transports, stamps, idempotence, failure handling.
Cursor rule Cursor
Observability: PSR-3, structured logging, LogSubscriber, Monolog, FingersCrossed, PII masking.
Cursor rule Cursor
Quality pipeline: make ci/tests/quality, PHPStan L9, Deptrac, GrumPHP (bundle package repos).
Cursor rule Cursor
Security: JWT, Voters, rate limiting, CORS, OWASP API Top 10 (bundle-exposed endpoints).
Cursor rule Cursor
Serializer: normalizers, groups, context builders, circular refs, discriminator map.
At most 3 mods per repository are shown here, and a mod shipped inside a plugin is left to that plugin's page — the rest are on their repository pages: