@the-bearded-bear/claude-craft 8.22.0 → 8.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/Dev/i18n/base/Angular/rules/00-project-context.md.template +1 -1
  2. package/Dev/i18n/base/CSharp/rules/06-tooling.md +0 -2
  3. package/Dev/i18n/base/CSharp/rules/11-security-csharp.md +184 -160
  4. package/Dev/i18n/base/Common/commands/aliases.md +3 -0
  5. package/Dev/i18n/base/Common/commands/audit-claude-alignment.md +201 -0
  6. package/Dev/i18n/base/Common/commands/init.md +1 -1
  7. package/Dev/i18n/base/Common/commands/search.md +2 -1
  8. package/Dev/i18n/base/Common/skills/dynamic-workflows/SKILL.md +1 -1
  9. package/Dev/i18n/base/Common/skills/ecosystem-tools/SKILL.md +2 -1
  10. package/Dev/i18n/base/Laravel/rules/06-tooling.md +0 -2
  11. package/Dev/i18n/base/PHP/checklists/new-feature.md +1 -1
  12. package/Dev/i18n/base/PHP/commands/check-code-quality.md +3 -3
  13. package/Dev/i18n/base/Vercel/checklists/pre-commit.md +1 -1
  14. package/Dev/i18n/base/Vercel/commands/check-security.md +12 -12
  15. package/Dev/i18n/base/Vercel/rules/00-project-context.md.template +1 -1
  16. package/Dev/i18n/base/Vercel/rules/02-architecture-vercel.md +2 -2
  17. package/Dev/i18n/base/Vercel/rules/03-coding-standards.md +1 -1
  18. package/Dev/i18n/base/Vercel/rules/06-tooling.md +12 -0
  19. package/Dev/i18n/base/Vercel/rules/07-testing-vercel.md +1 -1
  20. package/Dev/i18n/base/Vercel/rules/08-quality-tools.md +1 -1
  21. package/Dev/i18n/base/Vercel/rules/11-security-vercel.md +1 -1
  22. package/Dev/i18n/base/Vercel/templates/function-handler.template.ts +1 -1
  23. package/Dev/i18n/base/Vite/checklists/new-feature.md +2 -2
  24. package/Dev/i18n/base/Vite/checklists/pre-commit.md +2 -2
  25. package/Dev/i18n/base/Vite/commands/check-architecture.md +5 -5
  26. package/Dev/i18n/base/Vite/commands/check-library-build.md +3 -3
  27. package/Dev/i18n/base/Vite/commands/scaffold-project.md +2 -2
  28. package/Dev/i18n/base/Vite/rules/02-architecture-vite.md +5 -5
  29. package/Dev/i18n/base/Vite/rules/03-coding-standards.md +1 -1
  30. package/Dev/i18n/base/Vite/rules/06-tooling.md +2 -2
  31. package/Dev/i18n/base/Vite/rules/07-testing-vite.md +1 -1
  32. package/Dev/i18n/base/Vite/rules/11-security-vite.md +4 -4
  33. package/Dev/i18n/base/Vite/templates/library-entry.template.ts +2 -2
  34. package/Dev/i18n/base/Vite/templates/vite.config.template.ts +2 -2
  35. package/Dev/i18n/base/VueJS/rules/06-tooling.md +3 -2
  36. package/Dev/i18n/de/Angular/agents/angular-reviewer.md +3 -3
  37. package/Dev/i18n/de/Common/agents/devops-engineer.md +15 -1
  38. package/Dev/i18n/de/Common/agents/ralph-conductor.md +12 -1
  39. package/Dev/i18n/de/Common/agents/refactoring-specialist.md +9 -0
  40. package/Dev/i18n/de/Common/agents/security-auditor.md +10 -7
  41. package/Dev/i18n/de/Common/agents/tdd-coach.md +9 -0
  42. package/Dev/i18n/de/Common/agents/uiux-orchestrator.md +10 -1
  43. package/Dev/i18n/de/Common/commands/getting-started.md +2 -2
  44. package/Dev/i18n/de/Common/commands/setup-rtk.md +2 -2
  45. package/Dev/i18n/de/Common/rules/04-solid-principles.md +1 -1
  46. package/Dev/i18n/de/Common/rules/05-kiss-dry-yagni.md +5 -2
  47. package/Dev/i18n/de/Common/rules/10-documentation.md +1 -1
  48. package/Dev/i18n/de/Common/rules/11-security.md +76 -73
  49. package/Dev/i18n/de/Common/rules/12-context-management.md +29 -19
  50. package/Dev/i18n/de/Common/templates/settings.json.template +6 -6
  51. package/Dev/i18n/de/Flutter/agents/flutter-reviewer.md +4 -4
  52. package/Dev/i18n/de/Flutter/rules/06-tooling.md +30 -24
  53. package/Dev/i18n/de/Flutter/rules/07-testing-flutter.md +0 -0
  54. package/Dev/i18n/de/Flutter/rules/08-quality-tools.md +1 -1
  55. package/Dev/i18n/de/Flutter/rules/12-performance.md +17 -17
  56. package/Dev/i18n/de/Flutter/rules/13-state-management.md +0 -0
  57. package/Dev/i18n/de/PHP/agents/php-reviewer.md +6 -6
  58. package/Dev/i18n/de/PHP/commands/check-compliance.md +3 -3
  59. package/Dev/i18n/de/PHP/rules/03-coding-standards.md +4 -2
  60. package/Dev/i18n/de/PHP/rules/06-tooling.md +4 -7
  61. package/Dev/i18n/de/PHP/rules/08-quality-tools.md +2 -2
  62. package/Dev/i18n/de/Paperclip/CLAUDE.md.template +2 -2
  63. package/Dev/i18n/de/Paperclip/README.md +1 -1
  64. package/Dev/i18n/de/Paperclip/commands/setup-company.md +1 -1
  65. package/Dev/i18n/de/Paperclip/rules/06-tooling.md +3 -3
  66. package/Dev/i18n/de/Paperclip/rules/11-security-paperclip.md +9 -0
  67. package/Dev/i18n/de/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
  68. package/Dev/i18n/de/Python/commands/generate-model.md +3 -1
  69. package/Dev/i18n/de/Python/rules/06-tooling.md +1 -1
  70. package/Dev/i18n/de/Python/rules/08-quality-tools.md +1 -1
  71. package/Dev/i18n/de/Python/rules/11-security-python.md +2 -2
  72. package/Dev/i18n/de/React/agents/react-reviewer.md +9 -5
  73. package/Dev/i18n/de/React/rules/06-tooling.md +0 -2
  74. package/Dev/i18n/de/React/rules/11-security-react.md +9 -0
  75. package/Dev/i18n/de/ReactNative/agents/reactnative-reviewer.md +4 -4
  76. package/Dev/i18n/de/ReactNative/rules/06-tooling.md +19 -3
  77. package/Dev/i18n/de/Symfony/agents/symfony-reviewer.md +5 -5
  78. package/Dev/i18n/de/Symfony/checklists/README.md +1 -1
  79. package/Dev/i18n/de/Symfony/checklists/new-feature.md +2 -2
  80. package/Dev/i18n/de/Symfony/checklists/pre-commit.md +4 -4
  81. package/Dev/i18n/de/Symfony/checklists/refactoring.md +1 -1
  82. package/Dev/i18n/de/Symfony/commands/check-architecture.md +4 -4
  83. package/Dev/i18n/de/Symfony/commands/check-code-quality.md +15 -15
  84. package/Dev/i18n/de/Symfony/commands/check-security.md +32 -32
  85. package/Dev/i18n/de/Symfony/commands/check-testing.md +16 -16
  86. package/Dev/i18n/de/Symfony/rules/03-coding-standards.md +4 -4
  87. package/Dev/i18n/de/Symfony/rules/06-docker-hadolint.md +0 -4
  88. package/Dev/i18n/de/Symfony/rules/08-quality-tools.md +1 -1
  89. package/Dev/i18n/de/Symfony/rules/16-i18n.md +2 -0
  90. package/Dev/i18n/de/Symfony/rules/17-async.md +1 -0
  91. package/Dev/i18n/de/Symfony/rules/19-aggregates.md +1 -0
  92. package/Dev/i18n/de/Symfony/rules/20-domain-events.md +1 -0
  93. package/Dev/i18n/de/Team/commands/delivery.md +1 -1
  94. package/Dev/i18n/de/Vercel/CLAUDE.md.template +2 -2
  95. package/Dev/i18n/de/Vercel/agents/vercel-reviewer.md +8 -8
  96. package/Dev/i18n/de/Vite/CLAUDE.md.template +2 -2
  97. package/Dev/i18n/de/Vite/agents/vite-reviewer.md +19 -17
  98. package/Dev/i18n/de/Vite/commands/check-compliance.md +2 -2
  99. package/Dev/i18n/en/Angular/agents/angular-reviewer.md +3 -3
  100. package/Dev/i18n/en/Common/agents/devops-engineer.md +15 -1
  101. package/Dev/i18n/en/Common/agents/ralph-conductor.md +11 -0
  102. package/Dev/i18n/en/Common/agents/refactoring-specialist.md +9 -0
  103. package/Dev/i18n/en/Common/agents/security-auditor.md +10 -7
  104. package/Dev/i18n/en/Common/agents/tdd-coach.md +9 -0
  105. package/Dev/i18n/en/Common/agents/uiux-orchestrator.md +10 -1
  106. package/Dev/i18n/en/Common/commands/getting-started.md +2 -2
  107. package/Dev/i18n/en/Common/commands/setup-rtk.md +2 -2
  108. package/Dev/i18n/en/Common/rules/04-solid-principles.md +1 -1
  109. package/Dev/i18n/en/Common/rules/05-kiss-dry-yagni.md +5 -2
  110. package/Dev/i18n/en/Common/rules/10-documentation.md +1 -1
  111. package/Dev/i18n/en/Common/rules/11-security.md +76 -73
  112. package/Dev/i18n/en/Common/rules/12-context-management.md +31 -21
  113. package/Dev/i18n/en/Common/templates/settings.json.template +6 -6
  114. package/Dev/i18n/en/Flutter/agents/flutter-reviewer.md +4 -4
  115. package/Dev/i18n/en/Flutter/rules/06-tooling.md +29 -23
  116. package/Dev/i18n/en/Flutter/rules/07-testing-flutter.md +0 -0
  117. package/Dev/i18n/en/Flutter/rules/08-quality-tools.md +1 -1
  118. package/Dev/i18n/en/Flutter/rules/12-performance.md +17 -17
  119. package/Dev/i18n/en/Flutter/rules/13-state-management.md +0 -0
  120. package/Dev/i18n/en/PHP/CLAUDE.md.template +1 -1
  121. package/Dev/i18n/en/PHP/agents/php-reviewer.md +6 -6
  122. package/Dev/i18n/en/PHP/commands/check-compliance.md +1 -1
  123. package/Dev/i18n/en/PHP/rules/03-coding-standards.md +4 -2
  124. package/Dev/i18n/en/PHP/rules/06-tooling.md +4 -7
  125. package/Dev/i18n/en/PHP/rules/08-quality-tools.md +2 -2
  126. package/Dev/i18n/en/Paperclip/CLAUDE.md.template +2 -2
  127. package/Dev/i18n/en/Paperclip/README.md +1 -1
  128. package/Dev/i18n/en/Paperclip/commands/setup-company.md +1 -1
  129. package/Dev/i18n/en/Paperclip/rules/06-tooling.md +3 -3
  130. package/Dev/i18n/en/Paperclip/rules/11-security-paperclip.md +9 -0
  131. package/Dev/i18n/en/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
  132. package/Dev/i18n/en/Python/commands/generate-model.md +3 -1
  133. package/Dev/i18n/en/Python/rules/06-tooling.md +1 -1
  134. package/Dev/i18n/en/Python/rules/08-quality-tools.md +1 -1
  135. package/Dev/i18n/en/Python/rules/11-security-python.md +11 -11
  136. package/Dev/i18n/en/React/agents/react-reviewer.md +9 -5
  137. package/Dev/i18n/en/React/rules/06-tooling.md +0 -2
  138. package/Dev/i18n/en/React/rules/11-security-react.md +9 -0
  139. package/Dev/i18n/en/ReactNative/agents/reactnative-reviewer.md +4 -4
  140. package/Dev/i18n/en/ReactNative/rules/02-architecture.md +1 -1
  141. package/Dev/i18n/en/ReactNative/rules/06-tooling.md +19 -3
  142. package/Dev/i18n/en/Symfony/agents/symfony-reviewer.md +5 -5
  143. package/Dev/i18n/en/Symfony/checklists/README.md +1 -1
  144. package/Dev/i18n/en/Symfony/checklists/new-feature.md +2 -2
  145. package/Dev/i18n/en/Symfony/checklists/pre-commit.md +4 -4
  146. package/Dev/i18n/en/Symfony/checklists/refactoring.md +1 -1
  147. package/Dev/i18n/en/Symfony/commands/check-architecture.md +4 -4
  148. package/Dev/i18n/en/Symfony/commands/check-code-quality.md +15 -15
  149. package/Dev/i18n/en/Symfony/commands/check-security.md +32 -32
  150. package/Dev/i18n/en/Symfony/commands/check-testing.md +16 -16
  151. package/Dev/i18n/en/Symfony/rules/03-coding-standards.md +4 -4
  152. package/Dev/i18n/en/Symfony/rules/06-docker-hadolint.md +0 -4
  153. package/Dev/i18n/en/Symfony/rules/08-quality-tools.md +1 -1
  154. package/Dev/i18n/en/Symfony/rules/16-i18n.md +2 -0
  155. package/Dev/i18n/en/Symfony/rules/17-async.md +1 -0
  156. package/Dev/i18n/en/Symfony/rules/19-aggregates.md +1 -0
  157. package/Dev/i18n/en/Symfony/rules/20-domain-events.md +1 -0
  158. package/Dev/i18n/en/Team/commands/delivery.md +1 -1
  159. package/Dev/i18n/en/Vercel/CLAUDE.md.template +2 -2
  160. package/Dev/i18n/en/Vercel/agents/vercel-reviewer.md +8 -8
  161. package/Dev/i18n/en/Vite/CLAUDE.md.template +2 -2
  162. package/Dev/i18n/en/Vite/agents/vite-reviewer.md +19 -17
  163. package/Dev/i18n/en/Vite/commands/check-compliance.md +2 -2
  164. package/Dev/i18n/en/Workflow/commands/review.md +0 -0
  165. package/Dev/i18n/en/Workflow/commands/start.md +0 -0
  166. package/Dev/i18n/es/Angular/agents/angular-reviewer.md +3 -3
  167. package/Dev/i18n/es/Common/agents/devops-engineer.md +15 -1
  168. package/Dev/i18n/es/Common/agents/ralph-conductor.md +11 -0
  169. package/Dev/i18n/es/Common/agents/refactoring-specialist.md +9 -0
  170. package/Dev/i18n/es/Common/agents/security-auditor.md +10 -7
  171. package/Dev/i18n/es/Common/agents/tdd-coach.md +9 -0
  172. package/Dev/i18n/es/Common/agents/uiux-orchestrator.md +10 -1
  173. package/Dev/i18n/es/Common/commands/getting-started.md +2 -2
  174. package/Dev/i18n/es/Common/commands/setup-rtk.md +2 -2
  175. package/Dev/i18n/es/Common/rules/04-solid-principles.md +1 -1
  176. package/Dev/i18n/es/Common/rules/05-kiss-dry-yagni.md +5 -2
  177. package/Dev/i18n/es/Common/rules/10-documentation.md +1 -1
  178. package/Dev/i18n/es/Common/rules/11-security.md +76 -73
  179. package/Dev/i18n/es/Common/rules/12-context-management.md +29 -19
  180. package/Dev/i18n/es/Common/templates/settings.json.template +6 -6
  181. package/Dev/i18n/es/Flutter/agents/flutter-reviewer.md +4 -4
  182. package/Dev/i18n/es/Flutter/rules/06-tooling.md +31 -25
  183. package/Dev/i18n/es/Flutter/rules/07-testing-flutter.md +0 -0
  184. package/Dev/i18n/es/Flutter/rules/08-quality-tools.md +1 -1
  185. package/Dev/i18n/es/Flutter/rules/12-performance.md +17 -17
  186. package/Dev/i18n/es/Flutter/rules/13-state-management.md +0 -0
  187. package/Dev/i18n/es/PHP/agents/php-reviewer.md +6 -6
  188. package/Dev/i18n/es/PHP/commands/check-compliance.md +3 -3
  189. package/Dev/i18n/es/PHP/rules/03-coding-standards.md +4 -2
  190. package/Dev/i18n/es/PHP/rules/06-tooling.md +4 -7
  191. package/Dev/i18n/es/PHP/rules/08-quality-tools.md +2 -2
  192. package/Dev/i18n/es/Paperclip/CLAUDE.md.template +2 -2
  193. package/Dev/i18n/es/Paperclip/README.md +1 -1
  194. package/Dev/i18n/es/Paperclip/commands/setup-company.md +1 -1
  195. package/Dev/i18n/es/Paperclip/rules/06-tooling.md +3 -3
  196. package/Dev/i18n/es/Paperclip/rules/11-security-paperclip.md +9 -0
  197. package/Dev/i18n/es/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
  198. package/Dev/i18n/es/Python/commands/generate-model.md +3 -1
  199. package/Dev/i18n/es/Python/rules/06-tooling.md +1 -1
  200. package/Dev/i18n/es/Python/rules/08-quality-tools.md +1 -1
  201. package/Dev/i18n/es/Python/rules/11-security-python.md +2 -2
  202. package/Dev/i18n/es/React/agents/react-reviewer.md +9 -5
  203. package/Dev/i18n/es/React/rules/06-tooling.md +0 -2
  204. package/Dev/i18n/es/React/rules/11-security-react.md +9 -0
  205. package/Dev/i18n/es/ReactNative/agents/reactnative-reviewer.md +4 -4
  206. package/Dev/i18n/es/ReactNative/rules/06-tooling.md +19 -3
  207. package/Dev/i18n/es/Symfony/agents/symfony-reviewer.md +5 -5
  208. package/Dev/i18n/es/Symfony/checklists/README.md +1 -1
  209. package/Dev/i18n/es/Symfony/checklists/new-feature.md +2 -2
  210. package/Dev/i18n/es/Symfony/checklists/pre-commit.md +4 -4
  211. package/Dev/i18n/es/Symfony/checklists/refactoring.md +1 -1
  212. package/Dev/i18n/es/Symfony/commands/check-architecture.md +4 -4
  213. package/Dev/i18n/es/Symfony/commands/check-code-quality.md +15 -15
  214. package/Dev/i18n/es/Symfony/commands/check-security.md +32 -32
  215. package/Dev/i18n/es/Symfony/commands/check-testing.md +16 -16
  216. package/Dev/i18n/es/Symfony/rules/03-coding-standards.md +4 -4
  217. package/Dev/i18n/es/Symfony/rules/06-docker-hadolint.md +0 -4
  218. package/Dev/i18n/es/Symfony/rules/08-quality-tools.md +1 -1
  219. package/Dev/i18n/es/Symfony/rules/16-i18n.md +2 -0
  220. package/Dev/i18n/es/Symfony/rules/17-async.md +1 -0
  221. package/Dev/i18n/es/Symfony/rules/19-aggregates.md +1 -0
  222. package/Dev/i18n/es/Symfony/rules/20-domain-events.md +1 -0
  223. package/Dev/i18n/es/Team/commands/delivery.md +1 -1
  224. package/Dev/i18n/es/Vercel/CLAUDE.md.template +2 -2
  225. package/Dev/i18n/es/Vercel/agents/vercel-reviewer.md +7 -7
  226. package/Dev/i18n/es/Vite/CLAUDE.md.template +2 -2
  227. package/Dev/i18n/es/Vite/agents/vite-reviewer.md +19 -17
  228. package/Dev/i18n/es/Vite/commands/check-compliance.md +2 -2
  229. package/Dev/i18n/fr/Angular/agents/angular-reviewer.md +3 -3
  230. package/Dev/i18n/fr/Common/agents/devops-engineer.md +15 -1
  231. package/Dev/i18n/fr/Common/agents/ralph-conductor.md +12 -1
  232. package/Dev/i18n/fr/Common/agents/refactoring-specialist.md +9 -0
  233. package/Dev/i18n/fr/Common/agents/security-auditor.md +10 -7
  234. package/Dev/i18n/fr/Common/agents/tdd-coach.md +9 -0
  235. package/Dev/i18n/fr/Common/agents/uiux-orchestrator.md +10 -1
  236. package/Dev/i18n/fr/Common/commands/getting-started.md +2 -2
  237. package/Dev/i18n/fr/Common/commands/setup-rtk.md +2 -2
  238. package/Dev/i18n/fr/Common/rules/04-solid-principles.md +1 -1
  239. package/Dev/i18n/fr/Common/rules/05-kiss-dry-yagni.md +5 -2
  240. package/Dev/i18n/fr/Common/rules/10-documentation.md +1 -1
  241. package/Dev/i18n/fr/Common/rules/11-security.md +76 -73
  242. package/Dev/i18n/fr/Common/rules/12-context-management.md +30 -20
  243. package/Dev/i18n/fr/Common/templates/settings.json.template +6 -6
  244. package/Dev/i18n/fr/Flutter/agents/flutter-reviewer.md +4 -4
  245. package/Dev/i18n/fr/Flutter/rules/06-tooling.md +10 -4
  246. package/Dev/i18n/fr/Flutter/rules/08-quality-tools.md +1 -1
  247. package/Dev/i18n/fr/PHP/agents/php-reviewer.md +6 -6
  248. package/Dev/i18n/fr/PHP/commands/check-compliance.md +3 -3
  249. package/Dev/i18n/fr/PHP/rules/03-coding-standards.md +4 -2
  250. package/Dev/i18n/fr/PHP/rules/06-tooling.md +4 -7
  251. package/Dev/i18n/fr/PHP/rules/08-quality-tools.md +2 -2
  252. package/Dev/i18n/fr/Paperclip/CLAUDE.md.template +2 -2
  253. package/Dev/i18n/fr/Paperclip/README.md +1 -1
  254. package/Dev/i18n/fr/Paperclip/commands/setup-company.md +1 -1
  255. package/Dev/i18n/fr/Paperclip/rules/06-tooling.md +3 -3
  256. package/Dev/i18n/fr/Paperclip/rules/11-security-paperclip.md +9 -0
  257. package/Dev/i18n/fr/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
  258. package/Dev/i18n/fr/Python/commands/generate-model.md +3 -1
  259. package/Dev/i18n/fr/Python/rules/06-tooling.md +1 -3
  260. package/Dev/i18n/fr/Python/rules/08-quality-tools.md +1 -1
  261. package/Dev/i18n/fr/Python/rules/11-security-python.md +2 -2
  262. package/Dev/i18n/fr/React/agents/react-reviewer.md +9 -5
  263. package/Dev/i18n/fr/React/rules/06-tooling.md +0 -2
  264. package/Dev/i18n/fr/React/rules/11-security-react.md +9 -0
  265. package/Dev/i18n/fr/ReactNative/agents/reactnative-reviewer.md +4 -4
  266. package/Dev/i18n/fr/ReactNative/rules/06-tooling.md +19 -3
  267. package/Dev/i18n/fr/Symfony/agents/symfony-reviewer.md +5 -5
  268. package/Dev/i18n/fr/Symfony/checklists/README.md +1 -1
  269. package/Dev/i18n/fr/Symfony/checklists/new-feature.md +2 -2
  270. package/Dev/i18n/fr/Symfony/checklists/pre-commit.md +4 -4
  271. package/Dev/i18n/fr/Symfony/checklists/refactoring.md +1 -1
  272. package/Dev/i18n/fr/Symfony/commands/check-architecture.md +4 -4
  273. package/Dev/i18n/fr/Symfony/commands/check-code-quality.md +15 -15
  274. package/Dev/i18n/fr/Symfony/commands/check-security.md +32 -32
  275. package/Dev/i18n/fr/Symfony/commands/check-testing.md +16 -16
  276. package/Dev/i18n/fr/Symfony/rules/03-coding-standards.md +4 -4
  277. package/Dev/i18n/fr/Symfony/rules/06-docker-hadolint.md +0 -4
  278. package/Dev/i18n/fr/Symfony/rules/08-quality-tools.md +1 -1
  279. package/Dev/i18n/fr/Symfony/rules/16-i18n.md +2 -0
  280. package/Dev/i18n/fr/Symfony/rules/17-async.md +1 -0
  281. package/Dev/i18n/fr/Symfony/rules/19-aggregates.md +1 -0
  282. package/Dev/i18n/fr/Symfony/rules/20-domain-events.md +1 -0
  283. package/Dev/i18n/fr/Team/commands/delivery.md +1 -1
  284. package/Dev/i18n/fr/Vercel/CLAUDE.md.template +2 -2
  285. package/Dev/i18n/fr/Vercel/agents/vercel-reviewer.md +8 -8
  286. package/Dev/i18n/fr/Vite/CLAUDE.md.template +2 -2
  287. package/Dev/i18n/fr/Vite/agents/vite-reviewer.md +19 -17
  288. package/Dev/i18n/fr/Vite/commands/check-compliance.md +2 -2
  289. package/Dev/i18n/pt/Angular/agents/angular-reviewer.md +3 -3
  290. package/Dev/i18n/pt/Common/agents/devops-engineer.md +15 -1
  291. package/Dev/i18n/pt/Common/agents/ralph-conductor.md +11 -0
  292. package/Dev/i18n/pt/Common/agents/refactoring-specialist.md +9 -0
  293. package/Dev/i18n/pt/Common/agents/security-auditor.md +10 -7
  294. package/Dev/i18n/pt/Common/agents/tdd-coach.md +9 -0
  295. package/Dev/i18n/pt/Common/agents/uiux-orchestrator.md +10 -1
  296. package/Dev/i18n/pt/Common/commands/getting-started.md +2 -2
  297. package/Dev/i18n/pt/Common/commands/setup-rtk.md +2 -2
  298. package/Dev/i18n/pt/Common/rules/04-solid-principles.md +1 -1
  299. package/Dev/i18n/pt/Common/rules/05-kiss-dry-yagni.md +5 -2
  300. package/Dev/i18n/pt/Common/rules/10-documentation.md +1 -1
  301. package/Dev/i18n/pt/Common/rules/11-security.md +76 -73
  302. package/Dev/i18n/pt/Common/rules/12-context-management.md +29 -19
  303. package/Dev/i18n/pt/Common/templates/settings.json.template +6 -6
  304. package/Dev/i18n/pt/Flutter/agents/flutter-reviewer.md +4 -4
  305. package/Dev/i18n/pt/Flutter/rules/06-tooling.md +12 -6
  306. package/Dev/i18n/pt/Flutter/rules/08-quality-tools.md +1 -1
  307. package/Dev/i18n/pt/PHP/agents/php-reviewer.md +6 -6
  308. package/Dev/i18n/pt/PHP/commands/check-compliance.md +3 -3
  309. package/Dev/i18n/pt/PHP/rules/03-coding-standards.md +4 -2
  310. package/Dev/i18n/pt/PHP/rules/06-tooling.md +4 -7
  311. package/Dev/i18n/pt/PHP/rules/08-quality-tools.md +2 -2
  312. package/Dev/i18n/pt/Paperclip/CLAUDE.md.template +2 -2
  313. package/Dev/i18n/pt/Paperclip/README.md +1 -1
  314. package/Dev/i18n/pt/Paperclip/commands/setup-company.md +1 -1
  315. package/Dev/i18n/pt/Paperclip/rules/06-tooling.md +3 -3
  316. package/Dev/i18n/pt/Paperclip/rules/11-security-paperclip.md +9 -0
  317. package/Dev/i18n/pt/Paperclip/skills/coding-standards-ts/SKILL.md +1 -1
  318. package/Dev/i18n/pt/Python/commands/generate-model.md +3 -1
  319. package/Dev/i18n/pt/Python/rules/06-tooling.md +1 -1
  320. package/Dev/i18n/pt/Python/rules/08-quality-tools.md +1 -1
  321. package/Dev/i18n/pt/Python/rules/11-security-python.md +2 -2
  322. package/Dev/i18n/pt/React/agents/react-reviewer.md +9 -5
  323. package/Dev/i18n/pt/React/rules/06-tooling.md +0 -2
  324. package/Dev/i18n/pt/React/rules/11-security-react.md +9 -0
  325. package/Dev/i18n/pt/ReactNative/agents/reactnative-reviewer.md +4 -4
  326. package/Dev/i18n/pt/ReactNative/rules/06-tooling.md +19 -3
  327. package/Dev/i18n/pt/Symfony/agents/symfony-reviewer.md +5 -5
  328. package/Dev/i18n/pt/Symfony/checklists/README.md +1 -1
  329. package/Dev/i18n/pt/Symfony/checklists/new-feature.md +2 -2
  330. package/Dev/i18n/pt/Symfony/checklists/pre-commit.md +4 -4
  331. package/Dev/i18n/pt/Symfony/checklists/refactoring.md +1 -1
  332. package/Dev/i18n/pt/Symfony/commands/check-architecture.md +4 -4
  333. package/Dev/i18n/pt/Symfony/commands/check-code-quality.md +15 -15
  334. package/Dev/i18n/pt/Symfony/commands/check-security.md +32 -32
  335. package/Dev/i18n/pt/Symfony/commands/check-testing.md +16 -16
  336. package/Dev/i18n/pt/Symfony/rules/03-coding-standards.md +4 -4
  337. package/Dev/i18n/pt/Symfony/rules/06-docker-hadolint.md +0 -4
  338. package/Dev/i18n/pt/Symfony/rules/08-quality-tools.md +1 -1
  339. package/Dev/i18n/pt/Symfony/rules/16-i18n.md +2 -0
  340. package/Dev/i18n/pt/Symfony/rules/17-async.md +1 -0
  341. package/Dev/i18n/pt/Symfony/rules/19-aggregates.md +1 -0
  342. package/Dev/i18n/pt/Symfony/rules/20-domain-events.md +1 -0
  343. package/Dev/i18n/pt/Team/commands/delivery.md +1 -1
  344. package/Dev/i18n/pt/Vercel/CLAUDE.md.template +2 -2
  345. package/Dev/i18n/pt/Vercel/agents/vercel-reviewer.md +8 -8
  346. package/Dev/i18n/pt/Vite/CLAUDE.md.template +2 -2
  347. package/Dev/i18n/pt/Vite/agents/vite-reviewer.md +19 -17
  348. package/Dev/i18n/pt/Vite/commands/check-compliance.md +2 -2
  349. package/Dev/scripts/install-paperclip-rules.sh +5 -5
  350. package/Dev/scripts/install-vite-rules.sh +4 -4
  351. package/Infra/i18n/de/Ansible/agents/ansible-architect.md +2 -0
  352. package/Infra/i18n/de/Docker/commands/docker-architecture.md +0 -2
  353. package/Infra/i18n/de/Docker/commands/docker-compose-setup.md +0 -2
  354. package/Infra/i18n/de/FrankenPHP/agents/frankenphp-architect.md +4 -1
  355. package/Infra/i18n/de/FrankenPHP/agents/frankenphp-deployment.md +2 -2
  356. package/Infra/i18n/de/FrankenPHP/agents/frankenphp-security.md +1 -1
  357. package/Infra/i18n/de/FrankenPHP/commands/deploy-setup.md +1 -1
  358. package/Infra/i18n/de/Hcloud/agents/hcloud-architect.md +14 -4
  359. package/Infra/i18n/de/Hcloud/agents/hcloud-cost.md +1 -1
  360. package/Infra/i18n/de/Hcloud/agents/hcloud-debug.md +1 -1
  361. package/Infra/i18n/de/Hcloud/agents/hcloud-deployment.md +2 -2
  362. package/Infra/i18n/de/Hcloud/agents/hcloud-security.md +1 -1
  363. package/Infra/i18n/de/Hcloud/commands/architecture.md +3 -3
  364. package/Infra/i18n/de/Hcloud/commands/debug.md +1 -1
  365. package/Infra/i18n/de/Kubernetes/agents/kubernetes-architect.md +3 -3
  366. package/Infra/i18n/de/Kubernetes/commands/architecture.md +1 -1
  367. package/Infra/i18n/de/OpenTofu/agents/opentofu-architect.md +1 -1
  368. package/Infra/i18n/de/OpenTofu/agents/opentofu-deployment.md +2 -2
  369. package/Infra/i18n/de/PgBouncer/agents/pgbouncer-architect.md +11 -2
  370. package/Infra/i18n/de/PgBouncer/agents/pgbouncer-debug.md +1 -0
  371. package/Infra/i18n/de/PgBouncer/agents/pgbouncer-deployment.md +38 -30
  372. package/Infra/i18n/de/PgBouncer/commands/deploy-setup.md +1 -1
  373. package/Infra/i18n/en/Ansible/agents/ansible-architect.md +2 -0
  374. package/Infra/i18n/en/Docker/commands/docker-architecture.md +0 -2
  375. package/Infra/i18n/en/Docker/commands/docker-compose-setup.md +0 -2
  376. package/Infra/i18n/en/FrankenPHP/agents/frankenphp-architect.md +4 -1
  377. package/Infra/i18n/en/FrankenPHP/agents/frankenphp-deployment.md +2 -2
  378. package/Infra/i18n/en/FrankenPHP/agents/frankenphp-security.md +1 -1
  379. package/Infra/i18n/en/FrankenPHP/commands/deploy-setup.md +1 -1
  380. package/Infra/i18n/en/Hcloud/agents/hcloud-architect.md +14 -4
  381. package/Infra/i18n/en/Hcloud/agents/hcloud-cost.md +1 -1
  382. package/Infra/i18n/en/Hcloud/agents/hcloud-debug.md +1 -1
  383. package/Infra/i18n/en/Hcloud/agents/hcloud-deployment.md +2 -2
  384. package/Infra/i18n/en/Hcloud/agents/hcloud-security.md +1 -1
  385. package/Infra/i18n/en/Hcloud/commands/architecture.md +3 -3
  386. package/Infra/i18n/en/Hcloud/commands/debug.md +1 -1
  387. package/Infra/i18n/en/Kubernetes/agents/kubernetes-architect.md +3 -3
  388. package/Infra/i18n/en/Kubernetes/commands/architecture.md +1 -1
  389. package/Infra/i18n/en/OpenTofu/agents/opentofu-architect.md +1 -1
  390. package/Infra/i18n/en/OpenTofu/agents/opentofu-deployment.md +2 -2
  391. package/Infra/i18n/en/PgBouncer/agents/pgbouncer-architect.md +11 -2
  392. package/Infra/i18n/en/PgBouncer/agents/pgbouncer-debug.md +1 -0
  393. package/Infra/i18n/en/PgBouncer/agents/pgbouncer-deployment.md +38 -30
  394. package/Infra/i18n/en/PgBouncer/commands/deploy-setup.md +1 -1
  395. package/Infra/i18n/es/Ansible/agents/ansible-architect.md +2 -0
  396. package/Infra/i18n/es/Docker/commands/docker-architecture.md +0 -2
  397. package/Infra/i18n/es/Docker/commands/docker-compose-setup.md +0 -2
  398. package/Infra/i18n/es/FrankenPHP/agents/frankenphp-architect.md +4 -1
  399. package/Infra/i18n/es/FrankenPHP/agents/frankenphp-deployment.md +2 -2
  400. package/Infra/i18n/es/FrankenPHP/agents/frankenphp-security.md +1 -1
  401. package/Infra/i18n/es/FrankenPHP/commands/deploy-setup.md +1 -1
  402. package/Infra/i18n/es/Hcloud/agents/hcloud-architect.md +14 -4
  403. package/Infra/i18n/es/Hcloud/agents/hcloud-cost.md +1 -1
  404. package/Infra/i18n/es/Hcloud/agents/hcloud-debug.md +1 -1
  405. package/Infra/i18n/es/Hcloud/agents/hcloud-deployment.md +2 -2
  406. package/Infra/i18n/es/Hcloud/agents/hcloud-security.md +1 -1
  407. package/Infra/i18n/es/Hcloud/commands/architecture.md +3 -3
  408. package/Infra/i18n/es/Hcloud/commands/debug.md +1 -1
  409. package/Infra/i18n/es/Kubernetes/agents/kubernetes-architect.md +3 -3
  410. package/Infra/i18n/es/Kubernetes/commands/architecture.md +1 -1
  411. package/Infra/i18n/es/OpenTofu/agents/opentofu-architect.md +1 -1
  412. package/Infra/i18n/es/OpenTofu/agents/opentofu-deployment.md +2 -2
  413. package/Infra/i18n/es/PgBouncer/agents/pgbouncer-architect.md +11 -2
  414. package/Infra/i18n/es/PgBouncer/agents/pgbouncer-debug.md +1 -0
  415. package/Infra/i18n/es/PgBouncer/agents/pgbouncer-deployment.md +38 -30
  416. package/Infra/i18n/es/PgBouncer/commands/deploy-setup.md +1 -1
  417. package/Infra/i18n/fr/Ansible/agents/ansible-architect.md +2 -0
  418. package/Infra/i18n/fr/Docker/commands/docker-architecture.md +0 -2
  419. package/Infra/i18n/fr/Docker/commands/docker-compose-setup.md +0 -2
  420. package/Infra/i18n/fr/FrankenPHP/agents/frankenphp-architect.md +4 -1
  421. package/Infra/i18n/fr/FrankenPHP/agents/frankenphp-deployment.md +2 -2
  422. package/Infra/i18n/fr/FrankenPHP/agents/frankenphp-security.md +1 -1
  423. package/Infra/i18n/fr/FrankenPHP/commands/deploy-setup.md +1 -1
  424. package/Infra/i18n/fr/Hcloud/agents/hcloud-architect.md +14 -4
  425. package/Infra/i18n/fr/Hcloud/agents/hcloud-cost.md +1 -1
  426. package/Infra/i18n/fr/Hcloud/agents/hcloud-debug.md +1 -1
  427. package/Infra/i18n/fr/Hcloud/agents/hcloud-deployment.md +2 -2
  428. package/Infra/i18n/fr/Hcloud/agents/hcloud-security.md +1 -1
  429. package/Infra/i18n/fr/Hcloud/commands/architecture.md +3 -3
  430. package/Infra/i18n/fr/Hcloud/commands/debug.md +1 -1
  431. package/Infra/i18n/fr/Kubernetes/agents/kubernetes-architect.md +3 -3
  432. package/Infra/i18n/fr/Kubernetes/commands/architecture.md +1 -1
  433. package/Infra/i18n/fr/OpenTofu/agents/opentofu-architect.md +1 -1
  434. package/Infra/i18n/fr/OpenTofu/agents/opentofu-deployment.md +2 -2
  435. package/Infra/i18n/fr/PgBouncer/agents/pgbouncer-architect.md +11 -2
  436. package/Infra/i18n/fr/PgBouncer/agents/pgbouncer-debug.md +1 -0
  437. package/Infra/i18n/fr/PgBouncer/agents/pgbouncer-deployment.md +38 -30
  438. package/Infra/i18n/fr/PgBouncer/commands/deploy-setup.md +1 -1
  439. package/Infra/i18n/pt/Ansible/agents/ansible-architect.md +2 -0
  440. package/Infra/i18n/pt/Docker/commands/docker-architecture.md +0 -2
  441. package/Infra/i18n/pt/Docker/commands/docker-compose-setup.md +0 -2
  442. package/Infra/i18n/pt/FrankenPHP/agents/frankenphp-architect.md +4 -1
  443. package/Infra/i18n/pt/FrankenPHP/agents/frankenphp-deployment.md +2 -2
  444. package/Infra/i18n/pt/FrankenPHP/agents/frankenphp-security.md +1 -1
  445. package/Infra/i18n/pt/FrankenPHP/commands/deploy-setup.md +1 -1
  446. package/Infra/i18n/pt/Hcloud/agents/hcloud-architect.md +14 -4
  447. package/Infra/i18n/pt/Hcloud/agents/hcloud-cost.md +1 -1
  448. package/Infra/i18n/pt/Hcloud/agents/hcloud-debug.md +1 -1
  449. package/Infra/i18n/pt/Hcloud/agents/hcloud-deployment.md +2 -2
  450. package/Infra/i18n/pt/Hcloud/agents/hcloud-security.md +1 -1
  451. package/Infra/i18n/pt/Hcloud/commands/architecture.md +3 -3
  452. package/Infra/i18n/pt/Hcloud/commands/debug.md +1 -1
  453. package/Infra/i18n/pt/Kubernetes/agents/kubernetes-architect.md +3 -3
  454. package/Infra/i18n/pt/Kubernetes/commands/architecture.md +1 -1
  455. package/Infra/i18n/pt/OpenTofu/agents/opentofu-architect.md +1 -1
  456. package/Infra/i18n/pt/OpenTofu/agents/opentofu-deployment.md +2 -2
  457. package/Infra/i18n/pt/PgBouncer/agents/pgbouncer-architect.md +11 -2
  458. package/Infra/i18n/pt/PgBouncer/agents/pgbouncer-debug.md +1 -0
  459. package/Infra/i18n/pt/PgBouncer/agents/pgbouncer-deployment.md +38 -30
  460. package/Infra/i18n/pt/PgBouncer/commands/deploy-setup.md +1 -1
  461. package/README.md +30 -22
  462. package/Tools/Ralph/.ralph/hooks/pre-tool-context.sh +2 -2
  463. package/Tools/StatusLine/README.md +1 -1
  464. package/bundles/cursor/.cursorrules +32 -32
  465. package/bundles/windsurf/.windsurfrules +32 -32
  466. package/cli/lib/doctor.js +15 -15
  467. package/cli/lib/tech-registry.js +10 -10
  468. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: reactnative-reviewer
3
- description: Spécialiste de la revue de code React Native 0.85 et Expo — New Architecture, navigation, performance mobile, analyse de bundle
3
+ description: Spécialiste de la revue de code React Native 0.87 et Expo — New Architecture, navigation, performance mobile, analyse de bundle
4
4
  model: haiku
5
5
  effort: low
6
6
  maxTurns: 6
@@ -10,11 +10,11 @@ permissionMode: default
10
10
  skills: [solid-principles, testing-reactnative, security-reactnative, architecture, navigation]
11
11
  ---
12
12
 
13
- # Agent Auditeur React Native 0.85 / Expo
13
+ # Agent Auditeur React Native 0.87 / Expo
14
14
 
15
15
  ## Identité
16
16
 
17
- Je suis un spécialiste de la revue de code React Native 0.85 et Expo. Mon approche est centrée sur les problèmes spécifiques au mobile : la New Architecture (JSI, Fabric, TurboModules), la navigation avec Expo Router, les performances à 60 FPS, la gestion de la taille du bundle, et les patterns de composition adaptés au mobile. Je ne fais pas un audit générique -- je détecte ce qui casse, ralentit ou complexifie inutilement une application React Native moderne utilisant la New Architecture par défaut.
17
+ Je suis un spécialiste de la revue de code React Native 0.87 et Expo. Mon approche est centrée sur les problèmes spécifiques au mobile : la New Architecture (JSI, Fabric, TurboModules), la navigation avec Expo Router, les performances à 60 FPS, la gestion de la taille du bundle, et les patterns de composition adaptés au mobile. Je ne fais pas un audit générique -- je détecte ce qui casse, ralentit ou complexifie inutilement une application React Native moderne utilisant la New Architecture par défaut.
18
18
 
19
19
  ## Système de notation (100 points)
20
20
 
@@ -411,7 +411,7 @@ import { format } from 'date-fns';
411
411
  ## Format de rapport d'audit
412
412
 
413
413
  ```markdown
414
- # Rapport d'audit React Native 0.85 / Expo
414
+ # Rapport d'audit React Native 0.87 / Expo
415
415
 
416
416
  ## Projet : [Nom du projet]
417
417
  **Date :** [Date]
@@ -8,9 +8,9 @@ Ce document couvre les outils essentiels pour le développement React Native ave
8
8
 
9
9
  ## Prérequis Système
10
10
 
11
- ### Node.js >= 22 LTS (requis pour RN 0.85)
11
+ ### Node.js >= 22 LTS (requis pour RN 0.87)
12
12
 
13
- React Native 0.85 requiert **Node.js 22.x LTS** minimum (RN 0.85 nécessitait Node 20). La version recommandée est **Node.js 22.x active LTS**.
13
+ React Native 0.87 requiert **Node.js 22.x LTS** minimum (RN 0.85 nécessitait Node 20). La version recommandée est **Node.js 22.x active LTS**.
14
14
 
15
15
  ```bash
16
16
  # Vérifier la version
@@ -22,7 +22,7 @@ nvm use 22
22
22
  nvm alias default 22
23
23
  ```
24
24
 
25
- > Les versions Node < 22 ne sont plus supportées avec RN 0.85. Mettre à jour avant de migrer.
25
+ > Les versions Node < 22 ne sont plus supportées avec RN 0.87. Mettre à jour avant de migrer.
26
26
 
27
27
  ### React Native Gesture Handler 3.0.0 — Changements Breaking
28
28
 
@@ -399,6 +399,22 @@ npx expo install expo-camera@latest
399
399
  - [ ] Package manager cohérent (npm)
400
400
  - [ ] Scripts npm configurés
401
401
 
402
+ ## React Native 0.86 / 0.87 et Expo SDK 57
403
+
404
+ **Expo SDK 57 embarque RN 0.86** (0.86.3) ; **RN bare = 0.87** (0.87.1 `latest`, 0.88 en RC). Un projet Expo suit la version RN de son SDK.
405
+
406
+ - `expo@57.0.17+` : régression mémoire Hermes V1 / Reanimated corrigée (dès 57.0.9) et temps de démarrage dev corrigé
407
+ - Reanimated 4.7.x supporte RN 0.86-0.88 (4.5 est embarqué dans le SDK 57)
408
+ - Le bundle mode de Worklets est expérimental et non supporté : **ne pas l'utiliser en production**
409
+ - Préférer les **development builds** à Expo Go dès que l'on vise les stores
410
+ - `expo prebuild` nettoie et régénère `android/` et `ios/` par défaut (`--no-clean` pour les conserver)
411
+ - iOS 27 : `ios.enableSceneSupport` (`expo-build-properties`, `expo@57.0.23+`, opt-in ; défaut en SDK 58)
412
+ - React Navigation 8 est en alpha : à surveiller, rester sur 7.x en production
413
+
414
+ **Breaking changes RN 0.87 :** API TypeScript stricte par défaut (imports profonds `react-native/Libraries/*` interdits, opt-out jusqu'à 0.88) ; `InteractionManager` retiré (utiliser `requestIdleCallback`) ; `ImageBackground` déprécié (`Image` absolu dans une `View`) ; props `Modal.animated` et `StatusBar` `backgroundColor`/`translucent` retirées ; Node 22.13+, Kotlin 2.0+ ; AGP 9 supporté (`android.builtInKotlin=false` et `android.newDsl=false` conservent l'ancien comportement) ; Swift Package Manager iOS expérimental en opt-in (CocoaPods reste le défaut).
415
+
416
+ **Sources :** [RN 0.87](https://reactnative.dev/blog/2026/08/11/react-native-0.87), [Expo SDK 57](https://expo.dev/changelog/sdk-57)
417
+
402
418
  ---
403
419
 
404
420
  **Les bons outils rendent le développement plus efficace et agréable.**
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: symfony-reviewer
3
- description: Spécialiste de la revue de code Symfony 8 / PHP 8.5 — DDD, Doctrine, CQRS, API Platform
3
+ description: Spécialiste de la revue de code Symfony 8.1 / PHP 8.4+ (8.5 recommandé) — DDD, Doctrine, CQRS, API Platform
4
4
  model: haiku
5
5
  effort: low
6
6
  maxTurns: 6
@@ -10,11 +10,11 @@ permissionMode: default
10
10
  skills: [solid-principles, testing-symfony, security-symfony, architecture-clean-ddd, doctrine-extensions]
11
11
  ---
12
12
 
13
- # Agent Auditeur Symfony 8 / PHP 8.5
13
+ # Agent Auditeur Symfony 8.1 / PHP 8.4+ (8.5 recommandé)
14
14
 
15
15
  ## Identité
16
16
 
17
- Je suis un spécialiste de l'audit de code Symfony 8 et PHP 8.5. Mon approche cible les problèmes réels des projets Symfony : la qualité du design DDD, les performances Doctrine, la séparation des responsabilités dans les couches applicatives, la sécurité (OWASP + RGPD), et la rigueur des tests. Je ne fais pas une revue générique -- je détecte les anti-patterns spécifiques à l'écosystème Symfony/Doctrine/API Platform.
17
+ Je suis un spécialiste de l'audit de code Symfony 8.1 et PHP 8.4+ (8.5 recommandé). Mon approche cible les problèmes réels des projets Symfony : la qualité du design DDD, les performances Doctrine, la séparation des responsabilités dans les couches applicatives, la sécurité (OWASP + RGPD), et la rigueur des tests. Je ne fais pas une revue générique -- je détecte les anti-patterns spécifiques à l'écosystème Symfony/Doctrine/API Platform.
18
18
 
19
19
  ## Système de notation (100 points)
20
20
 
@@ -434,7 +434,7 @@ $apiKey = $this->getParameter('stripe_api_key');
434
434
  ## Format de rapport d'audit
435
435
 
436
436
  ```markdown
437
- # Rapport d'audit Symfony 8 / PHP 8.5
437
+ # Rapport d'audit Symfony 8.1 / PHP 8.4+ (8.5 recommandé)
438
438
 
439
439
  ## Projet : [Nom du projet]
440
440
  **Date :** [Date]
@@ -519,7 +519,7 @@ $apiKey = $this->getParameter('stripe_api_key');
519
519
  |-------|-------|
520
520
  | **PHPStan level 10** | Analyse statique stricte |
521
521
  | **Deptrac** | Validation des dépendances entre couches |
522
- | **PHP-CS-Fixer** (PSR-12) | Formatage automatique |
522
+ | **PHP-CS-Fixer** (PER-CS 3.0) | Formatage automatique |
523
523
  | **Pest PHP** / PHPUnit | Tests unitaires et intégration |
524
524
  | **Behat** | BDD, scénarios métier |
525
525
  | **Infection** | Mutation testing |
@@ -20,7 +20,7 @@ Ce dossier contient 4 checklists essentielles pour le workflow de développement
20
20
  **Vérifications automatiques:**
21
21
  - ✅ Tests passent (unitaires + intégration + Behat)
22
22
  - ✅ PHPStan niveau 8 (0 erreurs)
23
- - ✅ CS-Fixer (code formaté PSR-12)
23
+ - ✅ CS-Fixer (code formaté PER-CS 3.0)
24
24
  - ✅ Hadolint (Dockerfile valide)
25
25
  - ✅ Coverage ≥ 80%
26
26
  - ✅ Message commit conforme (Conventional Commits)
@@ -424,7 +424,7 @@ make phpstan
424
424
 
425
425
  # CS-Fixer
426
426
  make cs-fix
427
- # ✅ Code formaté PSR-12
427
+ # ✅ Code formaté PER-CS 3.0
428
428
 
429
429
  # Hadolint (si Dockerfile modifié)
430
430
  make hadolint
@@ -585,7 +585,7 @@ Alignement avec la politique tarifaire des hôtels partenaires.
585
585
 
586
586
  - [x] Tests passent
587
587
  - [x] PHPStan niveau 8 OK
588
- - [x] Code formaté (PSR-12)
588
+ - [x] Code formaté (PER-CS 3.0)
589
589
  - [x] Documentation à jour
590
590
  - [x] Pas de breaking changes
591
591
  - [x] Migration BDD: N/A
@@ -88,7 +88,7 @@ private array $participants;
88
88
 
89
89
  ## 3. Coding Standards (PHP CS Fixer)
90
90
 
91
- ### ✅ Code formaté selon PSR-12
91
+ ### ✅ Code formaté selon PER-CS 3.0
92
92
 
93
93
  ```bash
94
94
  make cs-fix
@@ -97,7 +97,7 @@ make cs-fix
97
97
 
98
98
  **Critère de succès:**
99
99
  - ✅ Code formaté automatiquement
100
- - ✅ PSR-12 respecté
100
+ - ✅ PER-CS 3.0 respecté
101
101
  - ✅ Pas de trailing whitespace
102
102
  - ✅ Indentation cohérente (4 espaces)
103
103
 
@@ -135,7 +135,7 @@ make hadolint
135
135
  FROM php:fpm
136
136
 
137
137
  # ✅ Version explicite
138
- FROM php:8.2-fpm-alpine
138
+ FROM php:8.5-fpm-alpine
139
139
 
140
140
  # ❌ apt-get sans cleanup
141
141
  RUN apt-get install -y curl
@@ -514,7 +514,7 @@ make pre-commit && git commit
514
514
  ### ✅ Toujours commit
515
515
 
516
516
  - ✅ Tests qui passent
517
- - ✅ Code formaté (PSR-12)
517
+ - ✅ Code formaté (PER-CS 3.0)
518
518
  - ✅ PHPStan niveau 8 OK
519
519
  - ✅ Documentation à jour
520
520
  - ✅ Message de commit clair
@@ -897,7 +897,7 @@ Avant de merger le refactoring:
897
897
  - [ ] Code plus simple (KISS)
898
898
  - [ ] SOLID respecté
899
899
  - [ ] PHPStan niveau 8 OK
900
- - [ ] Code formaté (PSR-12)
900
+ - [ ] Code formaté (PER-CS 3.0)
901
901
  - [ ] Commits atomiques (1 changement = 1 commit)
902
902
  - [ ] Message de commit clair
903
903
  - [ ] Documentation si refactoring majeur (ADR)
@@ -97,7 +97,7 @@ Exécute Deptrac pour vérifier les dépendances entre couches :
97
97
 
98
98
  ```bash
99
99
  # Vérifier si deptrac.yaml existe
100
- docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/deptrac.yaml && echo "✅ deptrac.yaml trouvé" || echo "❌ deptrac.yaml manquant"
100
+ docker run --rm -v $(pwd):/app php:8.5-cli test -f /app/deptrac.yaml && echo "✅ deptrac.yaml trouvé" || echo "❌ deptrac.yaml manquant"
101
101
 
102
102
  # Exécuter Deptrac
103
103
  docker run --rm -v $(pwd):/app qossmic/deptrac analyse
@@ -221,16 +221,16 @@ Outils :
221
221
 
222
222
  ```bash
223
223
  # Analyser la structure du projet
224
- docker run --rm -v $(pwd):/app php:8.2-cli find /app/src -type d -maxdepth 2
224
+ docker run --rm -v $(pwd):/app php:8.5-cli find /app/src -type d -maxdepth 2
225
225
 
226
226
  # Vérifier les dépendances avec Deptrac
227
227
  docker run --rm -v $(pwd):/app qossmic/deptrac analyse --no-progress
228
228
 
229
229
  # Lister les classes par namespace
230
- docker run --rm -v $(pwd):/app php:8.2-cli find /app/src -name "*.php" -exec grep -l "namespace" {} \;
230
+ docker run --rm -v $(pwd):/app php:8.5-cli find /app/src -name "*.php" -exec grep -l "namespace" {} \;
231
231
 
232
232
  # Vérifier la présence d'annotations Doctrine dans Domain
233
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "@ORM" /app/src/Domain/ || echo "✅ Pas d'annotations ORM dans Domain"
233
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "@ORM" /app/src/Domain/ || echo "✅ Pas d'annotations ORM dans Domain"
234
234
  ```
235
235
 
236
236
  ## IMPORTANT
@@ -31,10 +31,10 @@ Exécute PHP_CodeSniffer pour vérifier le respect de PSR-12 :
31
31
 
32
32
  ```bash
33
33
  # Vérifier si phpcs est installé
34
- docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/phpcs && echo "✅ phpcs trouvé" || echo "❌ phpcs manquant"
34
+ docker run --rm -v $(pwd):/app php:8.5-cli test -f /app/vendor/bin/phpcs && echo "✅ phpcs trouvé" || echo "❌ phpcs manquant"
35
35
 
36
36
  # Exécuter phpcs
37
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpcs --standard=PSR12 src/ --report=summary
37
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpcs --standard=PSR12 src/ --report=summary
38
38
  ```
39
39
 
40
40
  #### Standards PSR-12 (5 points)
@@ -58,7 +58,7 @@ Exécute PHPStan au niveau 10 :
58
58
 
59
59
  ```bash
60
60
  # Vérifier si PHPStan est installé
61
- docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/phpstan && echo "✅ PHPStan trouvé" || echo "❌ PHPStan manquant"
61
+ docker run --rm -v $(pwd):/app php:8.5-cli test -f /app/vendor/bin/phpstan && echo "✅ PHPStan trouvé" || echo "❌ PHPStan manquant"
62
62
 
63
63
  # Exécuter PHPStan niveau 10
64
64
  docker run --rm -v $(pwd):/app phpstan/phpstan analyse src --level=10 --error-format=table
@@ -100,10 +100,10 @@ Vérifie l'utilisation stricte des types :
100
100
 
101
101
  ```bash
102
102
  # Vérifier declare(strict_types=1)
103
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "declare(strict_types=1)" /app/src --include="*.php" | wc -l
103
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "declare(strict_types=1)" /app/src --include="*.php" | wc -l
104
104
 
105
105
  # Compter le nombre de fichiers PHP
106
- docker run --rm -v $(pwd):/app php:8.2-cli find /app/src -name "*.php" | wc -l
106
+ docker run --rm -v $(pwd):/app php:8.5-cli find /app/src -name "*.php" | wc -l
107
107
 
108
108
  # Les deux nombres doivent être identiques
109
109
  ```
@@ -113,13 +113,13 @@ docker run --rm -v $(pwd):/app php:8.2-cli find /app/src -name "*.php" | wc -l
113
113
  - [ ] `declare(strict_types=1)` dans 100% des fichiers PHP
114
114
  - [ ] Type hints sur tous les paramètres de méthodes publiques
115
115
  - [ ] Type hints sur tous les retours de méthodes publiques
116
- - [ ] Type hints sur toutes les propriétés de classe (PHP 7.4+)
117
- - [ ] Utilisation des union types (PHP 8.0+) au lieu de mixed
116
+ - [ ] Type hints sur toutes les propriétés de classe
117
+ - [ ] Utilisation des union types au lieu de mixed
118
118
  - [ ] Pas de docblock @param/@return redondants avec les types natifs
119
- - [ ] Utilisation de readonly pour propriétés immuables (PHP 8.1+)
119
+ - [ ] Utilisation de readonly pour propriétés immuables
120
120
  - [ ] Pas de suppression d'erreurs avec @phpstan-ignore
121
121
  - [ ] Types stricts dans les tableaux : array<string, int>
122
- - [ ] Utilisation de never type pour méthodes qui ne retournent jamais (PHP 8.1+)
122
+ - [ ] Utilisation de never type pour méthodes qui ne retournent jamais
123
123
 
124
124
  **Points obtenus** : ___/5
125
125
 
@@ -130,7 +130,7 @@ Analyse la complexité du code :
130
130
  ```bash
131
131
  # Installer phpmetrics si nécessaire
132
132
  # Analyser la complexité
133
- docker run --rm -v $(pwd):/app php:8.2-cli php -r "
133
+ docker run --rm -v $(pwd):/app php:8.5-cli php -r "
134
134
  require '/app/vendor/autoload.php';
135
135
  // Analyse basique de complexité
136
136
  "
@@ -262,7 +262,7 @@ Exemples :
262
262
 
263
263
  3. 🎯 [ACTION RECOMMANDÉE] - Formatter le code selon PSR-12
264
264
  Impact : ⭐⭐⭐ | Effort : 🔥
265
- Commande : docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpcbf --standard=PSR12 src/
265
+ Commande : docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpcbf --standard=PSR12 src/
266
266
 
267
267
  =================================================
268
268
  RECOMMANDATIONS
@@ -305,10 +305,10 @@ CI/CD :
305
305
 
306
306
  ```bash
307
307
  # Vérifier PSR-12
308
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpcs --standard=PSR12 src/ --report=summary
308
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpcs --standard=PSR12 src/ --report=summary
309
309
 
310
310
  # Corriger automatiquement PSR-12
311
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpcbf --standard=PSR12 src/
311
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpcbf --standard=PSR12 src/
312
312
 
313
313
  # PHPStan niveau 10
314
314
  docker run --rm -v $(pwd):/app phpstan/phpstan analyse src --level=10 --error-format=table
@@ -317,10 +317,10 @@ docker run --rm -v $(pwd):/app phpstan/phpstan analyse src --level=10 --error-fo
317
317
  docker run --rm -v $(pwd):/app phpstan/phpstan analyse src --level=10 --generate-baseline
318
318
 
319
319
  # PHP CS Fixer
320
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/php-cs-fixer fix src --dry-run --diff
320
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/php-cs-fixer fix src --dry-run --diff
321
321
 
322
322
  # Vérifier declare(strict_types=1) partout
323
- docker run --rm -v $(pwd):/app php:8.2-cli sh -c 'for f in $(find /app/src -name "*.php"); do grep -q "declare(strict_types=1)" "$f" || echo "❌ Manquant: $f"; done'
323
+ docker run --rm -v $(pwd):/app php:8.5-cli sh -c 'for f in $(find /app/src -name "*.php"); do grep -q "declare(strict_types=1)" "$f" || echo "❌ Manquant: $f"; done'
324
324
  ```
325
325
 
326
326
  ## IMPORTANT
@@ -32,10 +32,10 @@ Vérifie la configuration du Security Bundle :
32
32
 
33
33
  ```bash
34
34
  # Vérifier si symfony/security-bundle est installé
35
- docker run --rm -v $(pwd):/app php:8.2-cli grep "symfony/security-bundle" /app/composer.json
35
+ docker run --rm -v $(pwd):/app php:8.5-cli grep "symfony/security-bundle" /app/composer.json
36
36
 
37
37
  # Lister les firewalls configurés
38
- docker run --rm -v $(pwd):/app php:8.2-cli cat /app/config/packages/security.yaml | grep -A 10 "firewalls:"
38
+ docker run --rm -v $(pwd):/app php:8.5-cli cat /app/config/packages/security.yaml | grep -A 10 "firewalls:"
39
39
  ```
40
40
 
41
41
  #### Configuration Security Bundle (5 points)
@@ -59,11 +59,11 @@ docker run --rm -v $(pwd):/app php:8.2-cli cat /app/config/packages/security.yam
59
59
 
60
60
  ```bash
61
61
  # Vérifier l'utilisation de requêtes préparées
62
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "->createQuery(" /app/src --include="*.php" | wc -l
63
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "->createNativeQuery(" /app/src --include="*.php" | wc -l
62
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "->createQuery(" /app/src --include="*.php" | wc -l
63
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "->createNativeQuery(" /app/src --include="*.php" | wc -l
64
64
 
65
65
  # Rechercher les concaténations de requêtes dangereuses
66
- docker run --rm -v $(pwd):/app php:8.2-cli grep -rE "\"SELECT.*\\..*\$" /app/src --include="*.php" || echo "✅ Pas de concaténation SQL détectée"
66
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -rE "\"SELECT.*\\..*\$" /app/src --include="*.php" || echo "✅ Pas de concaténation SQL détectée"
67
67
  ```
68
68
 
69
69
  - [ ] Utilisation exclusive de requêtes préparées (Doctrine DQL/QueryBuilder)
@@ -85,10 +85,10 @@ docker run --rm -v $(pwd):/app php:8.2-cli grep -rE "\"SELECT.*\\..*\$" /app/src
85
85
 
86
86
  ```bash
87
87
  # Vérifier la configuration des mots de passe
88
- docker run --rm -v $(pwd):/app php:8.2-cli cat /app/config/packages/security.yaml | grep -A 5 "password_hashers:"
88
+ docker run --rm -v $(pwd):/app php:8.5-cli cat /app/config/packages/security.yaml | grep -A 5 "password_hashers:"
89
89
 
90
90
  # Vérifier la présence de rate limiting
91
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "RateLimiter" /app/config --include="*.yaml"
91
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "RateLimiter" /app/config --include="*.yaml"
92
92
  ```
93
93
 
94
94
  - [ ] Hash de mot de passe fort (argon2i ou bcrypt avec coût élevé)
@@ -110,10 +110,10 @@ docker run --rm -v $(pwd):/app php:8.2-cli grep -r "RateLimiter" /app/config --i
110
110
 
111
111
  ```bash
112
112
  # Vérifier les secrets dans le code
113
- docker run --rm -v $(pwd):/app php:8.2-cli grep -rE "(password|secret|api_key|token).*=.*['\"]" /app/src --include="*.php" | grep -v "//.*password" || echo "✅ Pas de secrets en dur"
113
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -rE "(password|secret|api_key|token).*=.*['\"]" /app/src --include="*.php" | grep -v "//.*password" || echo "✅ Pas de secrets en dur"
114
114
 
115
115
  # Vérifier HTTPS
116
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "SECURE_SCHEME" /app/.env.example || echo "⚠️ Configuration HTTPS non trouvée"
116
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "SECURE_SCHEME" /app/.env.example || echo "⚠️ Configuration HTTPS non trouvée"
117
117
  ```
118
118
 
119
119
  - [ ] Secrets externalisés (.env, vault)
@@ -135,10 +135,10 @@ docker run --rm -v $(pwd):/app php:8.2-cli grep -r "SECURE_SCHEME" /app/.env.exa
135
135
 
136
136
  ```bash
137
137
  # Vérifier les Voters
138
- docker run --rm -v $(pwd):/app php:8.2-cli find /app/src -name "*Voter.php" | wc -l
138
+ docker run --rm -v $(pwd):/app php:8.5-cli find /app/src -name "*Voter.php" | wc -l
139
139
 
140
140
  # Vérifier les annotations @IsGranted
141
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "@IsGranted" /app/src --include="*.php" | wc -l
141
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "@IsGranted" /app/src --include="*.php" | wc -l
142
142
  ```
143
143
 
144
144
  - [ ] Voters Symfony pour autorisations complexes
@@ -160,10 +160,10 @@ docker run --rm -v $(pwd):/app php:8.2-cli grep -r "@IsGranted" /app/src --inclu
160
160
 
161
161
  ```bash
162
162
  # Vérifier l'auto-échappement Twig
163
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "autoescape" /app/config/packages/twig.yaml
163
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "autoescape" /app/config/packages/twig.yaml
164
164
 
165
165
  # Vérifier les |raw non sécurisés
166
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "|raw" /app/templates --include="*.twig" || echo "✅ Pas de |raw détecté"
166
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "|raw" /app/templates --include="*.twig" || echo "✅ Pas de |raw détecté"
167
167
  ```
168
168
 
169
169
  - [ ] Auto-escape activé dans Twig
@@ -183,7 +183,7 @@ docker run --rm -v $(pwd):/app php:8.2-cli grep -r "|raw" /app/templates --inclu
183
183
 
184
184
  ```bash
185
185
  # Vérifier CSRF protection
186
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "csrf_protection" /app/config/packages/framework.yaml
186
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "csrf_protection" /app/config/packages/framework.yaml
187
187
  ```
188
188
 
189
189
  - [ ] CSRF protection activée globalement
@@ -205,10 +205,10 @@ docker run --rm -v $(pwd):/app php:8.2-cli grep -r "csrf_protection" /app/config
205
205
 
206
206
  ```bash
207
207
  # Vérifier le mode debug
208
- docker run --rm -v $(pwd):/app php:8.2-cli grep "APP_ENV" /app/.env.example
208
+ docker run --rm -v $(pwd):/app php:8.5-cli grep "APP_ENV" /app/.env.example
209
209
 
210
210
  # Vérifier les dépendances vulnérables
211
- docker run --rm -v $(pwd):/app php:8.2-cli composer audit
211
+ docker run --rm -v $(pwd):/app php:8.5-cli composer audit
212
212
  ```
213
213
 
214
214
  - [ ] APP_ENV=prod en production
@@ -228,10 +228,10 @@ docker run --rm -v $(pwd):/app php:8.2-cli composer audit
228
228
 
229
229
  ```bash
230
230
  # Audit de sécurité Composer
231
- docker run --rm -v $(pwd):/app php:8.2-cli composer audit
231
+ docker run --rm -v $(pwd):/app php:8.5-cli composer audit
232
232
 
233
233
  # Vérifier les versions Symfony
234
- docker run --rm -v $(pwd):/app php:8.2-cli composer show symfony/* | grep "versions"
234
+ docker run --rm -v $(pwd):/app php:8.5-cli composer show symfony/* | grep "versions"
235
235
  ```
236
236
 
237
237
  - [ ] Symfony à jour (dernière version LTS ou stable)
@@ -253,10 +253,10 @@ docker run --rm -v $(pwd):/app php:8.2-cli composer show symfony/* | grep "versi
253
253
 
254
254
  ```bash
255
255
  # Rechercher le traitement des données personnelles
256
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "email\|phone\|address" /app/src/Domain/Entity --include="*.php"
256
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "email\|phone\|address" /app/src/Domain/Entity --include="*.php"
257
257
 
258
258
  # Vérifier les mécanismes de consentement
259
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "consent\|gdpr" /app/src --include="*.php" -i
259
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "consent\|gdpr" /app/src --include="*.php" -i
260
260
  ```
261
261
 
262
262
  - [ ] Consentement utilisateur pour collecte de données
@@ -278,7 +278,7 @@ docker run --rm -v $(pwd):/app php:8.2-cli grep -r "consent\|gdpr" /app/src --in
278
278
 
279
279
  ```bash
280
280
  # Vérifier la configuration des headers
281
- docker run --rm -v $(pwd):/app php:8.2-cli cat /app/config/packages/framework.yaml | grep -A 10 "headers:"
281
+ docker run --rm -v $(pwd):/app php:8.5-cli cat /app/config/packages/framework.yaml | grep -A 10 "headers:"
282
282
  ```
283
283
 
284
284
  - [ ] X-Content-Type-Options: nosniff
@@ -531,11 +531,11 @@ framework:
531
531
 
532
532
  ```bash
533
533
  # Audit Composer
534
- docker run --rm -v $(pwd):/app php:8.2-cli composer audit
534
+ docker run --rm -v $(pwd):/app php:8.5-cli composer audit
535
535
 
536
536
  # Security Checker Symfony
537
- docker run --rm -v $(pwd):/app php:8.2-cli composer require --dev symfony/security-checker
538
- docker run --rm -v $(pwd):/app php:8.2-cli ./vendor/bin/security-checker security:check
537
+ docker run --rm -v $(pwd):/app php:8.5-cli composer require --dev symfony/security-checker
538
+ docker run --rm -v $(pwd):/app php:8.5-cli ./vendor/bin/security-checker security:check
539
539
 
540
540
  # PHPStan pour détecter problèmes de sécurité
541
541
  docker run --rm -v $(pwd):/app phpstan/phpstan analyse src --level=9
@@ -557,26 +557,26 @@ docker run --rm -v $(pwd):/usr/src sonarqube:latest sonar-scanner
557
557
 
558
558
  ```bash
559
559
  # Audit des dépendances
560
- docker run --rm -v $(pwd):/app php:8.2-cli composer audit
560
+ docker run --rm -v $(pwd):/app php:8.5-cli composer audit
561
561
 
562
562
  # Vérifier les secrets dans le code
563
- docker run --rm -v $(pwd):/app php:8.2-cli grep -rE "(password|secret|api_key|token).*=.*['\"]" /app/src --include="*.php"
563
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -rE "(password|secret|api_key|token).*=.*['\"]" /app/src --include="*.php"
564
564
 
565
565
  # Vérifier CSRF protection
566
- docker run --rm -v $(pwd):/app php:8.2-cli cat /app/config/packages/framework.yaml | grep csrf
566
+ docker run --rm -v $(pwd):/app php:8.5-cli cat /app/config/packages/framework.yaml | grep csrf
567
567
 
568
568
  # Vérifier les Voters
569
- docker run --rm -v $(pwd):/app php:8.2-cli find /app/src -name "*Voter.php"
569
+ docker run --rm -v $(pwd):/app php:8.5-cli find /app/src -name "*Voter.php"
570
570
 
571
571
  # Vérifier mode debug
572
- docker run --rm -v $(pwd):/app php:8.2-cli grep "APP_DEBUG" /app/.env
572
+ docker run --rm -v $(pwd):/app php:8.5-cli grep "APP_DEBUG" /app/.env
573
573
 
574
574
  # Vérifier les requêtes SQL
575
- docker run --rm -v $(pwd):/app php:8.2-cli grep -r "createNativeQuery\|createQuery" /app/src --include="*.php"
575
+ docker run --rm -v $(pwd):/app php:8.5-cli grep -r "createNativeQuery\|createQuery" /app/src --include="*.php"
576
576
 
577
577
  # Security Checker
578
- docker run --rm -v $(pwd):/app php:8.2-cli composer require --dev symfony/security-checker
579
- docker run --rm -v $(pwd):/app php:8.2-cli ./vendor/bin/security-checker security:check composer.lock
578
+ docker run --rm -v $(pwd):/app php:8.5-cli composer require --dev symfony/security-checker
579
+ docker run --rm -v $(pwd):/app php:8.5-cli ./vendor/bin/security-checker security:check composer.lock
580
580
  ```
581
581
 
582
582
  ## IMPORTANT
@@ -32,7 +32,7 @@ Analyse la structure du dossier tests/ :
32
32
 
33
33
  ```bash
34
34
  # Lister la structure des tests
35
- docker run --rm -v $(pwd):/app php:8.2-cli find /app/tests -type d
35
+ docker run --rm -v $(pwd):/app php:8.5-cli find /app/tests -type d
36
36
  ```
37
37
 
38
38
  #### Organisation des Tests (3 points)
@@ -56,10 +56,10 @@ Exécute les tests unitaires :
56
56
 
57
57
  ```bash
58
58
  # Exécuter les tests unitaires uniquement
59
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit --testdox
59
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit tests/Unit --testdox
60
60
 
61
61
  # Compter les tests unitaires
62
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit --list-tests | wc -l
62
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit tests/Unit --list-tests | wc -l
63
63
  ```
64
64
 
65
65
  #### Tests Unitaires Domain (7 points)
@@ -86,7 +86,7 @@ Exécute les tests d'intégration :
86
86
 
87
87
  ```bash
88
88
  # Exécuter les tests d'intégration
89
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Integration --testdox
89
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit tests/Integration --testdox
90
90
  ```
91
91
 
92
92
  #### Tests d'Intégration Infrastructure (5 points)
@@ -113,10 +113,10 @@ Exécute les tests fonctionnels :
113
113
 
114
114
  ```bash
115
115
  # Exécuter les tests fonctionnels
116
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Functional --testdox
116
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit tests/Functional --testdox
117
117
 
118
118
  # Vérifier si Behat est installé
119
- docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/behat && echo "✅ Behat trouvé" || echo "⚠️ Behat manquant"
119
+ docker run --rm -v $(pwd):/app php:8.5-cli test -f /app/vendor/bin/behat && echo "✅ Behat trouvé" || echo "⚠️ Behat manquant"
120
120
  ```
121
121
 
122
122
  #### Tests Fonctionnels (5 points)
@@ -143,10 +143,10 @@ Génère le rapport de couverture :
143
143
 
144
144
  ```bash
145
145
  # Générer la couverture de code (nécessite xdebug ou pcov)
146
- docker run --rm -v $(pwd):/app php:8.2-cli php -d memory_limit=-1 /app/vendor/bin/phpunit --coverage-text --coverage-html=/app/var/coverage
146
+ docker run --rm -v $(pwd):/app php:8.5-cli php -d memory_limit=-1 /app/vendor/bin/phpunit --coverage-text --coverage-html=/app/var/coverage
147
147
 
148
148
  # Afficher le résumé de couverture
149
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit --coverage-text | grep "Lines:"
149
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit --coverage-text | grep "Lines:"
150
150
  ```
151
151
 
152
152
  #### Couverture de Code (5 points)
@@ -193,7 +193,7 @@ Exécute les tests de mutation :
193
193
 
194
194
  ```bash
195
195
  # Vérifier si Infection est installé
196
- docker run --rm -v $(pwd):/app php:8.2-cli test -f /app/vendor/bin/infection && echo "✅ Infection trouvé" || echo "❌ Infection manquant"
196
+ docker run --rm -v $(pwd):/app php:8.5-cli test -f /app/vendor/bin/infection && echo "✅ Infection trouvé" || echo "❌ Infection manquant"
197
197
 
198
198
  # Exécuter Infection
199
199
  docker run --rm -v $(pwd):/app infection/infection --min-msi=70 --min-covered-msi=80 --threads=4
@@ -416,28 +416,28 @@ CI/CD :
416
416
 
417
417
  ```bash
418
418
  # Exécuter tous les tests
419
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit
419
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit
420
420
 
421
421
  # Tests unitaires uniquement
422
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit
422
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit tests/Unit
423
423
 
424
424
  # Tests avec couverture
425
- docker run --rm -v $(pwd):/app php:8.2-cli php -d xdebug.mode=coverage /app/vendor/bin/phpunit --coverage-text
425
+ docker run --rm -v $(pwd):/app php:8.5-cli php -d xdebug.mode=coverage /app/vendor/bin/phpunit --coverage-text
426
426
 
427
427
  # Infection (mutation testing)
428
428
  docker run --rm -v $(pwd):/app infection/infection --threads=4 --min-msi=70
429
429
 
430
430
  # Behat (tests BDD)
431
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/behat
431
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/behat
432
432
 
433
433
  # Lister tous les tests
434
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit --list-tests
434
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit --list-tests
435
435
 
436
436
  # Exécuter un test spécifique
437
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit tests/Unit/Domain/Entity/UserTest.php
437
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit tests/Unit/Domain/Entity/UserTest.php
438
438
 
439
439
  # Tests avec sortie détaillée
440
- docker run --rm -v $(pwd):/app php:8.2-cli /app/vendor/bin/phpunit --testdox
440
+ docker run --rm -v $(pwd):/app php:8.5-cli /app/vendor/bin/phpunit --testdox
441
441
  ```
442
442
 
443
443
  ## IMPORTANT
@@ -4,10 +4,10 @@
4
4
 
5
5
  ## Principes Généraux
6
6
 
7
- ### PSR-12 + Symfony Coding Standards
7
+ ### PER-CS 3.0 + Symfony Coding Standards
8
8
 
9
9
  Le projet suit strictement :
10
- 1. **PSR-12** : Standard PHP officiel
10
+ 1. **PER-CS 3.0** : Standard PHP officiel
11
11
  2. **@Symfony** : Conventions Symfony
12
12
  3. **@Symfony:risky** : Règles strictes Symfony
13
13
  4. **@PHP85Migration** : Modernisation PHP 8.5+ (property hooks, pipe operator, `#[\NoDiscard]`)
@@ -311,7 +311,7 @@ Configuration PHP-CS-Fixer :
311
311
 
312
312
  ## Indentation et Formatage
313
313
 
314
- ### Regles PSR-12
314
+ ### Regles PER-CS 3.0
315
315
 
316
316
  ```php
317
317
  <?php
@@ -398,7 +398,7 @@ Voir `.claude/checklists/pre-commit.md` pour checklist complete.
398
398
 
399
399
  ## References
400
400
 
401
- - **PSR-12** : https://www.php-fig.org/psr/psr-12/
401
+ - **PER-CS 3.0** : https://www.php-fig.org/per/coding-style/
402
402
  - **Symfony Coding Standards** : https://symfony.com/doc/current/contributing/code/standards.html
403
403
  - **PHP-CS-Fixer** : https://github.com/PHP-CS-Fixer/PHP-CS-Fixer
404
404
  - **PHPStan** : https://phpstan.org/
@@ -548,8 +548,6 @@ CMD ["php-fpm"]
548
548
  ### docker-compose.yml (Production-ready)
549
549
 
550
550
  ```yaml
551
- version: '3.8'
552
-
553
551
  services:
554
552
  # PHP-FPM
555
553
  php:
@@ -668,8 +666,6 @@ networks:
668
666
  ### compose.override.yaml (Local)
669
667
 
670
668
  ```yaml
671
- version: '3.8'
672
-
673
669
  # Overrides locaux (gitignored)
674
670
  services:
675
671
  php: