2026-05-14 04:25:30 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
$finder = PhpCsFixer\Finder::create()
|
|
|
|
|
->in(__DIR__.'/src')
|
|
|
|
|
->in(__DIR__.'/tests');
|
|
|
|
|
|
|
|
|
|
return (new PhpCsFixer\Config())
|
|
|
|
|
->setRules([
|
|
|
|
|
'@Symfony' => true,
|
|
|
|
|
'@Symfony:risky' => true,
|
|
|
|
|
'declare_strict_types' => true,
|
|
|
|
|
'native_function_invocation' => ['include' => ['@compiler_optimized'], 'scope' => 'namespaced'],
|
|
|
|
|
'ordered_imports' => true,
|
|
|
|
|
'no_unused_imports' => true,
|
|
|
|
|
'array_syntax' => ['syntax' => 'short'],
|
|
|
|
|
'phpdoc_align' => false,
|
feat: implement Plan 2 — Article Management API
- 6 new domain repository interfaces (StoragePath, ArticlePhoto, AttributeValue, ChannelField, ArticleTypePlatformConfig, AttributeMapping)
- 6 Doctrine repository implementations
- StorageManager with multi-path quota-aware file storage (LocalStorageManager)
- Application services: ArticleTypeService, ArticleService, ArticleValidator, PhotoService, PlatformService, MappingService
- REST controllers: ArticleType, Article, Photo, Platform, Mapping (all under /api prefix)
- inventory_number sequence migration
- 22 unit tests passing, PHPStan level 9 clean, CS Fixer clean
- Fixed phpdoc_to_comment CS Fixer rule (disabled) to preserve @var type annotations
- Fixed PHPStan: User::getUserIdentifier non-empty-string, AIPipelineJob nullable missingFields
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 05:19:20 +00:00
|
|
|
'phpdoc_to_comment' => false,
|
2026-05-14 04:25:30 +00:00
|
|
|
])
|
|
|
|
|
->setRiskyAllowed(true)
|
|
|
|
|
->setFinder($finder);
|