@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
@@ -36,7 +36,7 @@ Executar a verificação completa de configuração e arquitetura:
36
36
  - Correção do vite.config.ts (defineConfig, aliases sincronizados com tsconfig) (8 pts)
37
37
  - Posicionamento do index.html na raiz do projeto, nunca dentro de public/ (6 pts)
38
38
  - Configuração do build.lib para bibliotecas (entry, formats, external, vite-plugin-dts) (8 pts)
39
- - rollupOptions.input para aplicações multi-página, convenção de nomeação de plugins (vite-plugin-*) (8 pts)
39
+ - rolldownOptions.input para aplicações multi-página, convenção de nomeação de plugins (vite-plugin-*) (8 pts)
40
40
 
41
41
  **Referência**: `.claude/agents/vite-reviewer.md` (seção 1)
42
42
 
@@ -151,7 +151,7 @@ Sub-pontuações:
151
151
  • Correção do vite.config.ts : XX/8
152
152
  • Posicionamento do index.html : XX/6
153
153
  • Configuração do build.lib : XX/8
154
- • rollupOptions.input / plugins : XX/8
154
+ • rolldownOptions.input / plugins : XX/8
155
155
 
156
156
  Pontos fortes:
157
157
  - [Pontos fortes de arquitetura]
@@ -4,7 +4,7 @@
4
4
  # Usage: ./install-paperclip-rules.sh [OPTIONS] [PROJECT_DIR]
5
5
  #
6
6
  # Paperclip: Open-source orchestration for zero-human companies.
7
- # Node.js 20+ / TypeScript / React UI / Vitest / PostgreSQL.
7
+ # Node.js 24.11+ / TypeScript / React UI / Vitest / PostgreSQL.
8
8
  # Docs: https://docs.paperclip.ing/ — Repo: https://github.com/paperclipai/paperclip
9
9
 
10
10
  set -euo pipefail
@@ -16,7 +16,7 @@ I18N_DIR="$(dirname "$SCRIPT_DIR")/i18n"
16
16
  TECH_NAME="Paperclip"
17
17
  TECH_DISPLAY_NAME="Paperclip"
18
18
  TECH_NAMESPACE="paperclip"
19
- DEFAULT_STACK="Node.js 20+, TypeScript 5+, React 18+, Vitest, pnpm 9.15+, PostgreSQL"
19
+ DEFAULT_STACK="Node.js 24.11+, TypeScript 5+, React 18+, Vitest, pnpm 9.15+, PostgreSQL"
20
20
 
21
21
  # --- TCL version ---
22
22
  source "${SCRIPT_DIR}/tcl-common.sh"
@@ -47,7 +47,7 @@ TECH_RULES=(
47
47
  HELP_DESCRIPTION=" TCL-optimized installation covering:
48
48
  - Paperclip monorepo shape (server + ui + cli + packages)
49
49
  - Built-in adapters (packages/adapters/*) and plugins (@paperclipai/plugin-sdk)
50
- - Node.js 20+ / TypeScript strict mode
50
+ - Node.js 24.11+ / TypeScript strict mode
51
51
  - Testing (Vitest, plugin test harness from @paperclipai/plugin-sdk/testing)
52
52
  - Security (Better Auth, tenancy, plugin capabilities, approval gates)
53
53
 
@@ -64,7 +64,7 @@ AVAILABLE_COMMANDS="- \`/${TECH_NAMESPACE}:check-compliance\` - Full compliance
64
64
  - \`/${TECH_NAMESPACE}:setup-company\` - Bootstrap a new Paperclip company"
65
65
 
66
66
  ARCHITECTURE_SUMMARY="\`\`\`
67
- Paperclip monorepo (v2026.529.0+)
67
+ Paperclip monorepo (v2026.1012.0+)
68
68
 
69
69
  server/ Node.js + TypeScript API (companies, agents, approvals, activity)
70
70
  ui/ React dashboard
@@ -101,7 +101,7 @@ TESTING_STACK="**Paperclip Stack**: Vitest (unit + integration) + adapter contra
101
101
  TECH_REFERENCES="- \`${TECH_NAMESPACE}/architecture.md\` - Two-layer control plane + adapters
102
102
  - \`${TECH_NAMESPACE}/coding-standards.md\` - TypeScript & Paperclip conventions
103
103
  - \`${TECH_NAMESPACE}/testing.md\` - Vitest & adapter contract tests
104
- - \`${TECH_NAMESPACE}/tooling.md\` - pnpm, tsx, Vite, Node 20+
104
+ - \`${TECH_NAMESPACE}/tooling.md\` - pnpm, tsx, Vite, Node 24.11+
105
105
  - \`${TECH_NAMESPACE}/quality-tools.md\` - ESLint flat config, Prettier, tsc
106
106
  - \`${TECH_NAMESPACE}/security.md\` - Secrets, approval gates, budgets, audit trails
107
107
  - \`${TECH_NAMESPACE}/adapter-protocol.md\` - Heartbeat, cost reporting, approvals"
@@ -41,7 +41,7 @@ TECH_RULES=(
41
41
  HELP_DESCRIPTION=" TCL-optimized installation covering framework-agnostic Vite usage:
42
42
  - Vanilla JS/TS applications (src/main.ts entry)
43
43
  - Library authoring (build.lib + vite-plugin-dts)
44
- - Multi-page apps (rollupOptions.input)
44
+ - Multi-page apps (rolldownOptions.input)
45
45
  - Workers / WASM entry points
46
46
  - Vitest for testing
47
47
 
@@ -78,7 +78,7 @@ vite.config.ts # build.lib + vite-plugin-dts
78
78
  pages/
79
79
  ├── index.html
80
80
  └── admin.html
81
- vite.config.ts # rollupOptions.input per page
81
+ vite.config.ts # rolldownOptions.input per page
82
82
 
83
83
  # 4. Workers / WASM
84
84
  src/
@@ -94,7 +94,7 @@ CODING_STANDARDS_SUMMARY="| Element | Convention | Example |
94
94
  | Entry point | \`src/main.ts\` (app) / \`src/index.ts\` (library) | \`main.ts\` |
95
95
  | Custom plugins | \`vite-plugin-*\` prefix | \`vite-plugin-my-transform.ts\` |
96
96
  | Config file | \`vite.config.ts\`, typed via \`defineConfig\` | \`defineConfig({ ... })\` |
97
- | Multi-page entries | \`rollupOptions.input\` keyed by page name | \`{ admin: 'pages/admin.html' }\` |
97
+ | Multi-page entries | \`rolldownOptions.input\` keyed by page name | \`{ admin: 'pages/admin.html' }\` |
98
98
  | Worker entries | \`new URL('./x.worker.ts', import.meta.url)\` | \`type: 'module'\` |
99
99
  | Library exports | \`build.lib.entry\` + \`vite-plugin-dts\` for \`.d.ts\` | \`entry: 'src/index.ts'\` |
100
100
 
@@ -115,7 +115,7 @@ FILE_CONTEXTS=" # Vite config
115
115
  - solid-principles
116
116
  auto_load: false
117
117
  quick_tips: |
118
- Use build.lib for npm packages, rollupOptions.input for multi-page apps.
118
+ Use build.lib for npm packages, rolldownOptions.input for multi-page apps.
119
119
  index.html is a source file, not a public asset.
120
120
  Not for React/Vue/Angular/Svelte dev-server config — see that stack's tooling.md.
121
121
 
@@ -32,6 +32,8 @@ Sie sind ein **Senior Ansible Architect**, der vollstandige Automatisierungsarch
32
32
  | Multi-Umgebung | Dev / Staging / Produktion Trennung | Hoch |
33
33
  | Hierarchisch (Landschaft/Typ/Funktion) | Enterprise-Rechenzentrum-Verwaltung | Hoch |
34
34
 
35
+ > Hetzner Cloud: die Collection `hetzner.hcloud` (7.2.0) mit ansible-core 2.21.5 verwenden, in `requirements.yml` gepinnt.
36
+
35
37
  ## Methodik
36
38
 
37
39
  ### Phase 1 -- Ermittlung
@@ -142,8 +142,6 @@ projekt/
142
142
 
143
143
  ```yaml
144
144
  # docker-compose.yml
145
- version: "3.8"
146
-
147
145
  services:
148
146
  # ═══════════════════════════════════════════════════════════
149
147
  # REVERSE PROXY
@@ -51,8 +51,6 @@ Stack: {stack}
51
51
 
52
52
  ```yaml
53
53
  # docker-compose.yml - Gemeinsame Basis
54
- version: "3.8"
55
-
56
54
  services:
57
55
  app:
58
56
  build:
@@ -7,7 +7,7 @@ description: FrankenPHP Caddyfile design, worker topology, and framework integra
7
7
 
8
8
  ## Identitaet
9
9
 
10
- Du bist ein **Senior FrankenPHP Architekt**, der in der Lage ist, vollstaendige PHP-Application-Serving-Topologien mit FrankenPHP 1.12+ zu entwerfen. Du koordinierst die Entscheidung zwischen Worker Mode und Classic Mode, Thread-Dimensionierung, Caddyfile-Design, Framework-Integration (Symfony, Laravel), Mercure-Echtzeit-Setup und Early Hints (103)-Konfiguration, um produktionsreife FrankenPHP-Deployments bereitzustellen.
10
+ Du bist ein **Senior FrankenPHP Architekt**, der in der Lage ist, vollstaendige PHP-Application-Serving-Topologien mit FrankenPHP 1.13+ zu entwerfen. Du koordinierst die Entscheidung zwischen Worker Mode und Classic Mode, Thread-Dimensionierung, Caddyfile-Design, Framework-Integration (Symfony, Laravel), Mercure-Echtzeit-Setup und Early Hints (103)-Konfiguration, um produktionsreife FrankenPHP-Deployments bereitzustellen.
11
11
 
12
12
  ## Technische Expertise
13
13
 
@@ -120,6 +120,9 @@ Ermitteln und klaeren:
120
120
  - `max_requests = 500` um Speicheransammlung zu verhindern
121
121
  - Benchmark mit `wrk` oder `k6`, nach oben/unten anpassen
122
122
  - Ueberwachen: RSS-Speicher pro Worker, Antwortzeit p99
123
+ - FrankenPHP 1.13.0+ verwenden: 1.12.4 ist verwundbar (Sicherheitskorrekturen in 1.12.5: phpinfo im Standard-Image, Session-ID-Leak im Worker-Modus, Timeout beim Lesen des Request-Bodys; 5 Advisories, davon 2 high, in 1.13.0)
124
+ - FrankenPHP 1.13+: `num_threads` zählt nur Threads für Requests, die kein Worker bedient; Worker-Threads kommen hinzu, und der Start schlägt fehl, wenn `max_threads` < `num_threads` + Worker-Threads
125
+ - Hot Reload in der Entwicklung läuft über Mercure 1.0: `$_SERVER['FRANKENPHP_HOT_RELOAD']` liefert jetzt `/.well-known/mercure?match=<topic>` (`?topic=` nicht fest codieren)
123
126
 
124
127
  ### Phase 3 -- Implementierungsblaupause
125
128
 
@@ -59,7 +59,7 @@ Du bist ein **Senior FrankenPHP Deployment-Ingenieur**, spezialisiert auf `dungl
59
59
  # docker-compose.yml
60
60
  services:
61
61
  app:
62
- image: dunglas/frankenphp:1.12-php8.5-bookworm
62
+ image: dunglas/frankenphp:1.13-php8.5-bookworm
63
63
  ports:
64
64
  - "80:80"
65
65
  - "443:443"
@@ -88,7 +88,7 @@ volumes:
88
88
 
89
89
  ```dockerfile
90
90
  # Stufe 1: Abhaengigkeiten
91
- FROM dunglas/frankenphp:1.12-php8.5-bookworm AS base
91
+ FROM dunglas/frankenphp:1.13-php8.5-bookworm AS base
92
92
 
93
93
  # PHP-Erweiterungen installieren
94
94
  RUN install-php-extensions \
@@ -185,7 +185,7 @@ example.com {
185
185
 
186
186
  ```dockerfile
187
187
  # Dockerfile - Non-Root FrankenPHP
188
- FROM dunglas/frankenphp:1.12-php8.5-bookworm
188
+ FROM dunglas/frankenphp:1.13-php8.5-bookworm
189
189
 
190
190
  # Erweiterungen installieren
191
191
  RUN install-php-extensions pdo_pgsql intl opcache
@@ -53,7 +53,7 @@ DEPLOYMENT-STRATEGIE
53
53
  ──────────────────────────────────────────────────────────────
54
54
 
55
55
  Methode: {Docker Compose / Kubernetes / Standalone Binary}
56
- Image: dunglas/frankenphp:1.12-php8.5-bookworm
56
+ Image: dunglas/frankenphp:1.13-php8.5-bookworm
57
57
  Worker Mode: {ja/nein}
58
58
 
59
59
  | Entscheidung | Wahl | Begruendung |
@@ -5,7 +5,7 @@ description: Hetzner Cloud infrastructure architecture designer
5
5
 
6
6
  # Hcloud Architect
7
7
 
8
- > ⚠️ **Pflichtmigration vor dem 2026-07-01**: der Parameter `location` ist zugunsten von `location` veraltet. Hetzner Cloud Terraform-Provider >= 1.58.0. Quelle: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` entfernt (2026-07-01)**: ersetzt durch `location`; die `datacenter`-Endpunkte liefern seit 2026-10-01 HTTP 410. `location = "fsn1"` statt `datacenter` verwenden. Hetzner-Cloud-Terraform-Provider >= 1.70.0. Quelle: https://docs.hetzner.cloud/changelog und https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identität
11
11
 
@@ -135,7 +135,7 @@ hcloud placement-group create --name web-spread --type spread
135
135
  # Server
136
136
  hcloud server create \
137
137
  --name web-01 \
138
- --type cx22 \
138
+ --type cx23 \
139
139
  --image ubuntu-24.04 \
140
140
  --location fsn1 \
141
141
  --ssh-key deploy-key \
@@ -199,13 +199,23 @@ hcloud network add-subnet primary-net --type cloud --network-zone eu-central --i
199
199
 
200
200
  # Server in verschiedenen Standorten mit Placement Groups
201
201
  hcloud placement-group create --name pg-primary --type spread
202
- hcloud server create --name app-fsn-01 --type cpx31 --image ubuntu-24.04 \
202
+ hcloud server create --name app-fsn-01 --type cpx32 --image ubuntu-24.04 \
203
203
  --location fsn1 --placement-group pg-primary --network primary-net
204
204
 
205
- hcloud server create --name app-hel-01 --type cpx31 --image ubuntu-24.04 \
205
+ hcloud server create --name app-hel-01 --type cpx32 --image ubuntu-24.04 \
206
206
  --location hel1 --network primary-net
207
207
  ```
208
208
 
209
+ ## Zu beachtende Änderungen der Hetzner-API (2026)
210
+
211
+ - Load Balancer akzeptieren bei der Erstellung bestehende Primary IPs (`public_net.ipv4` / `public_net.ipv6`; Provider >= 1.70.0: `ipv4_id` / `ipv6_id`); die Zuweisung ist danach nicht änderbar (Changelog 2026-10-05)
212
+ - Primary und Floating IPs müssen vor dem Löschen freigegeben werden: die API liefert `must_be_unassigned` (seit 2026-05-01)
213
+ - `dns_ptr` ist bei Änderungsanfragen (Primary IPs, Floating IPs, Servers, Load Balancers) seit 2026-09-30 Pflicht; `null` setzt den Pointer zurück
214
+ - Das Feld `deprecated` der Server Types entfällt am 2026-11-02: stattdessen `locations[].deprecation` lesen (`null` = nicht veraltet)
215
+ - Der Terraform-Provider 1.69 unterstützt Terraform 1.14 nicht mehr (1.16 hinzugefügt); hcloud-Provider auf `>= 1.70.0` halten, hcloud CLI 1.70.1
216
+ - Die Server Types cx22/cx32/cx42/cx52 und cpx11-cpx51 sind seit 2026-01-01 nicht mehr bestellbar: cx23/cx33/cx43/cx53 und cpx12/cpx22/cpx32/cpx42/cpx52/cpx62 verwenden
217
+ - Ansible: die Collection `hetzner.hcloud` (7.2.0, benötigt ein aktuelles ansible-core, z.B. 2.21.5) verwenden und in `requirements.yml` pinnen
218
+
209
219
  ## Architektur-Checkliste
210
220
 
211
221
  ### Design
@@ -5,7 +5,7 @@ description: Hetzner Cloud cost optimization and right-sizing specialist
5
5
 
6
6
  # Hcloud Kostenspezialist
7
7
 
8
- > ⚠️ **Pflichtmigration vor dem 2026-07-01**: der Parameter `location` ist zugunsten von `location` veraltet. Hetzner Cloud Terraform-Provider >= 1.58.0. Quelle: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` entfernt (2026-07-01)**: ersetzt durch `location`; die `datacenter`-Endpunkte liefern seit 2026-10-01 HTTP 410. `location = "fsn1"` statt `datacenter` verwenden. Hetzner-Cloud-Terraform-Provider >= 1.70.0. Quelle: https://docs.hetzner.cloud/changelog und https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identität
11
11
 
@@ -5,7 +5,7 @@ description: Hetzner Cloud troubleshooting specialist
5
5
 
6
6
  # Hcloud Debug-Spezialist
7
7
 
8
- > ⚠️ **Pflichtmigration vor dem 2026-07-01**: der Parameter `location` ist zugunsten von `location` veraltet. Hetzner Cloud Terraform-Provider >= 1.58.0. Quelle: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` entfernt (2026-07-01)**: ersetzt durch `location`; die `datacenter`-Endpunkte liefern seit 2026-10-01 HTTP 410. `location = "fsn1"` statt `datacenter` verwenden. Hetzner-Cloud-Terraform-Provider >= 1.70.0. Quelle: https://docs.hetzner.cloud/changelog und https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identität
11
11
 
@@ -137,7 +137,7 @@ Du bist ein **Senior Hetzner Cloud Deployment Engineer**, spezialisiert auf CI/C
137
137
  # Neuen Server aus Image erstellen
138
138
  hcloud server create \
139
139
  --name prod-blue-$(date +%s) \
140
- --type cpx31 \
140
+ --type cpx32 \
141
141
  --image ${{ needs.build-image.outputs.image_id }} \
142
142
  --location fsn1 \
143
143
  --ssh-key deploy \
@@ -189,7 +189,7 @@ source "hcloud" "app" {
189
189
  token = var.hcloud_token
190
190
  image = "ubuntu-24.04"
191
191
  location = "fsn1"
192
- server_type = "cx22"
192
+ server_type = "cx23"
193
193
  server_name = "packer-build-{{timestamp}}"
194
194
  ssh_username = "root"
195
195
  snapshot_name = "app-{{timestamp}}"
@@ -5,7 +5,7 @@ description: Hetzner Cloud security and firewall specialist
5
5
 
6
6
  # Hcloud Sicherheitsspezialist
7
7
 
8
- > ⚠️ **Pflichtmigration vor dem 2026-07-01**: der Parameter `location` ist zugunsten von `location` veraltet. Hetzner Cloud Terraform-Provider >= 1.58.0. Quelle: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` entfernt (2026-07-01)**: ersetzt durch `location`; die `datacenter`-Endpunkte liefern seit 2026-10-01 HTTP 410. `location = "fsn1"` statt `datacenter` verwenden. Hetzner-Cloud-Terraform-Provider >= 1.70.0. Quelle: https://docs.hetzner.cloud/changelog und https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identität
11
11
 
@@ -5,7 +5,7 @@ argument-hint: <Project> [constraints]
5
5
 
6
6
  # Hcloud Architecture
7
7
 
8
- > ⚠️ **Pflichtmigration vor dem 2026-07-01**: der Parameter `location` ist zugunsten von `location` veraltet. Hetzner Cloud Terraform-Provider >= 1.58.0. Quelle: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` entfernt (2026-07-01)**: ersetzt durch `location`; die `datacenter`-Endpunkte liefern seit 2026-10-01 HTTP 410. `location = "fsn1"` statt `datacenter` verwenden. Hetzner-Cloud-Terraform-Provider >= 1.70.0. Quelle: https://docs.hetzner.cloud/changelog und https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  Du bist ein Senior Hetzner Cloud Architekt. Du musst eine vollständige Cloud-Infrastrukturarchitektur aus Projektspezifikationen entwerfen.
11
11
 
@@ -83,8 +83,8 @@ SERVERTYP-AUSWAHL
83
83
 
84
84
  | Rolle | Servertyp | Anzahl | Begründung |
85
85
  |-------|-----------|--------|------------|
86
- | Web | {cax21/cx22} | {n} | {Begründung} |
87
- | App | {cpx31/cax31} | {n} | {Begründung} |
86
+ | Web | {cax21/cx23} | {n} | {Begründung} |
87
+ | App | {cpx32/cax31} | {n} | {Begründung} |
88
88
  | DB | {ccx23/ccx33} | {n} | {Begründung} |
89
89
 
90
90
  ──────────────────────────────────────────────────────────────
@@ -5,7 +5,7 @@ argument-hint: <Symptom> [resource]
5
5
 
6
6
  # Hcloud Debug
7
7
 
8
- > ⚠️ **Pflichtmigration vor dem 2026-07-01**: der Parameter `location` ist zugunsten von `location` veraltet. Hetzner Cloud Terraform-Provider >= 1.58.0. Quelle: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` entfernt (2026-07-01)**: ersetzt durch `location`; die `datacenter`-Endpunkte liefern seit 2026-10-01 HTTP 410. `location = "fsn1"` statt `datacenter` verwenden. Hetzner-Cloud-Terraform-Provider >= 1.70.0. Quelle: https://docs.hetzner.cloud/changelog und https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  Du bist ein Hetzner Cloud Troubleshooting-Spezialist. Du musst systematisch Infrastrukturprobleme anhand der angegebenen Symptome diagnostizieren und beheben.
11
11
 
@@ -67,8 +67,8 @@ Extrahieren und klarstellen:
67
67
  ┌─────────────────────────────────────────────────────────┐
68
68
  │ INGRESS LAYER │
69
69
  │ ┌──────────────┐ ┌──────────────┐ │
70
- │ │ Ingress NGINX│─────────│ Cert-Manager│ │
71
- │ │ / Traefik │ │ (Let's Enc.)│ │
70
+ │ │ Gateway API │─────────│ Cert-Manager│ │
71
+ │ │ (HTTPRoute) │ │ (Let's Enc.)│ │
72
72
  │ └──────┬───────┘ └──────────────┘ │
73
73
  └─────────┼───────────────────────────────────────────────┘
74
74
  │
@@ -95,7 +95,7 @@ Extrahieren und klarstellen:
95
95
  - Ressourcenquoten und Limit-Ranges pro Namespace
96
96
 
97
97
  3. **Netzwerk**
98
- - Auswahl des Ingress-Controllers (NGINX, Traefik, Istio Gateway)
98
+ - Gateway API (HTTPRoute) als erste Wahl (Implementierungen: Envoy Gateway, Traefik, Istio, Cilium); Ingress NGINX ist seit März 2026 eingestellt (keine Sicherheitskorrekturen mehr), Migration mit `ingress2gateway`
99
99
  - NetworkPolicies fur die Isolierung zwischen Namespaces
100
100
  - DNS-Strategie (interne Service-Erkennung)
101
101
  - TLS-Terminierung und Zertifikatsverwaltung
@@ -68,7 +68,7 @@ NAMESPACE-TOPOLOGIE
68
68
  ┌─────────────────────────────────────────────────────────────┐
69
69
  │ INGRESS LAYER │
70
70
  │ ┌───────────────┐ ┌───────────────┐ │
71
- │ │ Ingress NGINX │─────────│ Cert-Manager │ │
71
+ │ │ Gateway API │─────────│ Cert-Manager │ │
72
72
  │ └───────┬───────┘ └───────────────┘ │
73
73
  └──────────┼──────────────────────────────────────────────────┘
74
74
  │
@@ -143,7 +143,7 @@ Alle notwendigen Konfigurationen erstellen:
143
143
  ```hcl
144
144
  # versions.tf
145
145
  terraform {
146
- required_version = ">= 1.7.0"
146
+ required_version = ">= 1.13.0"
147
147
  required_providers {
148
148
  aws = {
149
149
  source = "hashicorp/aws"
@@ -65,7 +65,7 @@ Sie sind ein **Senior OpenTofu Deployment Engineer**, spezialisiert auf CI/CD-Pi
65
65
  branches: [main]
66
66
 
67
67
  env:
68
- TOFU_VERSION: "1.9.0"
68
+ TOFU_VERSION: "1.13.1"
69
69
 
70
70
  jobs:
71
71
  plan:
@@ -114,7 +114,7 @@ Sie sind ein **Senior OpenTofu Deployment Engineer**, spezialisiert auf CI/CD-Pi
114
114
  - apply
115
115
 
116
116
  variables:
117
- TOFU_VERSION: "1.9.0"
117
+ TOFU_VERSION: "1.13.1"
118
118
 
119
119
  .tofu-base:
120
120
  image: ghcr.io/opentofu/opentofu:$TOFU_VERSION
@@ -68,7 +68,8 @@ Ermitteln und klaeren:
68
68
  ```
69
69
  Anwendung verwendet Prepared Statements?
70
70
  ├── Ja, kann nicht deaktiviert werden → Session-Modus
71
- ├── Ja, kann DEALLOCATE ALL verwenden → Transaction-Modus + server_reset_query
71
+ ├── Ja, Extended Protocol → Transaction-Modus + max_prepared_statements (Standard 200 seit 1.24)
72
+ ├── Ja, SQL-PREPARE, kann DEALLOCATE ALL verwenden → Transaction-Modus + server_reset_query
72
73
  └── Nein
73
74
  ├── Verwendet SET/Session-Variablen? → Session-Modus (oder Transaction + reset_query)
74
75
  ├── Verwendet LISTEN/NOTIFY? → Session-Modus
@@ -264,7 +265,15 @@ default_pool_size = 20
264
265
  | Kein Reserve-Pool | Lastspitzen verursachen Connection-Fehler | reserve_pool_size = 25% des Standards setzen |
265
266
  | PgBouncer pro App-Instanz | Multiplizierte Pools, kein Sharing | Gemeinsame PgBouncer-Instanz(en) |
266
267
  | Kein server_reset_query | Session-Zustand leckt zwischen Clients | DISCARD ALL fuer Transaction-Modus |
267
- | Prepared Statements ignorieren | Fehler im Transaction-Modus | Mit App testen, DEALLOCATE ALL oder Session-Modus verwenden |
268
+ | Prepared Statements ignorieren | Fehler im Transaction-Modus | Mit App testen, max_prepared_statements, DEALLOCATE ALL oder Session-Modus verwenden |
269
+
270
+ ## Hinweise zu PgBouncer 1.26
271
+
272
+ - **Sicherheit**: 1.26.0 behebt CVE-2026-19888 (SCRAM-client-final-message ohne Nonce bringt PgBouncer unauthentifiziert zum Absturz), CVE-2026-6668 (Integer-Überlauf im Paketpuffer führt zu einer Endlosschleife) und CVE-2026-6669 (unbegrenzte SCRAM-Iterationszahl, die von einem Server akzeptiert wird); Update von jeder 1.25.x.
273
+ - **Prepared Statements**: `max_prepared_statements` ist seit 1.24 standardmäßig 200, daher funktionieren Prepared Statements auf Protokollebene im Transaction-Modus; `DEALLOCATE ALL` betrifft nur SQL-`PREPARE`.
274
+ - **Verfolgte Parameter**: `search_path` (PostgreSQL 18+) und `default_transaction_read_only` werden standardmäßig verfolgt, ein `SET` leakt im Transaction-Modus daher nicht mehr zwischen Clients.
275
+ - **Neue Einstellungen**: `pool_idle_timeout` (standardmäßig deaktiviert) entfernt ungenutzte Pools; `query_wait_timeout` ist pro Benutzer und pro Datenbank konfigurierbar; `SHOW STATS` liefert `client_login_count`.
276
+ - **Entfernt**: Online-Restart (`-R`), `SHOW FDS` und `SUSPEND`; stattdessen Rolling Restarts mit `so_reuseport` verwenden.
268
277
 
269
278
  ## Dokumentationsvorlage
270
279
 
@@ -167,6 +167,7 @@ psql -h localhost -p 6432 -U app_user -d app_production
167
167
  -- In PgBouncer-Logs suchen nach:
168
168
  -- "prepared statement X does not exist"
169
169
 
170
+ -- Fix 0: Prepared Statements auf Protokollebene benötigen max_prepared_statements > 0 (Standard 200 seit 1.24)
170
171
  -- Fix 1: DEALLOCATE ALL zu server_reset_query hinzufuegen
171
172
  -- In pgbouncer.ini:
172
173
  -- server_reset_query = DISCARD ALL
@@ -7,7 +7,7 @@ description: PgBouncer deployment and CI/CD pipeline specialist
7
7
 
8
8
  ## Identitaet
9
9
 
10
- Du bist ein **Senior PgBouncer Deployment-Ingenieur**, spezialisiert auf Docker/Bitnami-Container-Deployments, Kubernetes-Sidecar- und Standalone-Patterns, Helm-Chart-Konfiguration, systemd-Service-Verwaltung und Zero-Downtime-Reload-Strategien. Du entwirfst Deployment-Pipelines fuer zuverlaessige PgBouncer-Rollouts in allen Umgebungen.
10
+ Du bist ein **Senior PgBouncer Deployment-Ingenieur**, spezialisiert auf Docker-Container-Deployments, Kubernetes-Sidecar- und Standalone-Patterns, Helm-Chart-Konfiguration, systemd-Service-Verwaltung und Zero-Downtime-Reload-Strategien. Du entwirfst Deployment-Pipelines fuer zuverlaessige PgBouncer-Rollouts in allen Umgebungen.
11
11
 
12
12
  ## Technische Expertise
13
13
 
@@ -15,7 +15,7 @@ Du bist ein **Senior PgBouncer Deployment-Ingenieur**, spezialisiert auf Docker/
15
15
 
16
16
  | Bereich | Expertise | Umfang |
17
17
  |---------|-----------|--------|
18
- | Docker-Deployment | Experte | Bitnami-Image, benutzerdefiniertes Dockerfile, Health Checks |
18
+ | Docker-Deployment | Experte | Community-Image, benutzerdefiniertes Dockerfile, Health Checks |
19
19
  | Kubernetes-Patterns | Experte | Sidecar pro Pod, Standalone-Deployment, Helm |
20
20
  | Systemd-Verwaltung | Experte | Unit-Dateien, Reload, journald-Logging |
21
21
  | Zero-Downtime-Reload | Experte | SIGHUP, RELOAD-Befehl, Graceful Drain |
@@ -55,25 +55,28 @@ Du bist ein **Senior PgBouncer Deployment-Ingenieur**, spezialisiert auf Docker/
55
55
 
56
56
  #### Docker Compose
57
57
 
58
+ > **Hinweis zum Image:** `bitnami/pgbouncer` wird auf Docker Hub nicht mehr gepflegt (Bitnami hat seinen öffentlichen Katalog 2025 eingeschränkt; `bitnamilegacy/pgbouncer` ist bei 1.24.1 eingefroren und von den in 1.26.0 behobenen CVEs betroffen). Die Beispiele verwenden das Community-Image `edoburu/pgbouncer` (`DB_*`-Variablen, lauscht auf 5432, sofern `LISTEN_PORT` nicht gesetzt ist). Tag pinnen und Image vor dem Produktiveinsatz prüfen.
59
+
58
60
  ```yaml
59
61
  # docker-compose.yml
60
62
  services:
61
63
  pgbouncer:
62
- image: bitnami/pgbouncer:1.25.1
64
+ image: edoburu/pgbouncer:v1.26.0-p0
63
65
  ports:
64
66
  - "6432:6432"
65
67
  environment:
66
- - POSTGRESQL_HOST=postgresql
67
- - POSTGRESQL_PORT=5432
68
- - POSTGRESQL_USERNAME=app_user
69
- - POSTGRESQL_PASSWORD=${DB_PASSWORD}
70
- - POSTGRESQL_DATABASE=app_production
71
- - PGBOUNCER_POOL_MODE=transaction
72
- - PGBOUNCER_MAX_CLIENT_CONN=200
73
- - PGBOUNCER_DEFAULT_POOL_SIZE=20
74
- - PGBOUNCER_MIN_POOL_SIZE=5
75
- - PGBOUNCER_SERVER_RESET_QUERY=DISCARD ALL
76
- - PGBOUNCER_AUTH_TYPE=scram-sha-256
68
+ - DB_HOST=postgresql
69
+ - DB_PORT=5432
70
+ - DB_USER=app_user
71
+ - DB_PASSWORD=${DB_PASSWORD}
72
+ - DB_NAME=app_production
73
+ - LISTEN_PORT=6432
74
+ - POOL_MODE=transaction
75
+ - MAX_CLIENT_CONN=200
76
+ - DEFAULT_POOL_SIZE=20
77
+ - MIN_POOL_SIZE=5
78
+ - SERVER_RESET_QUERY=DISCARD ALL
79
+ - AUTH_TYPE=scram-sha-256
77
80
  healthcheck:
78
81
  test: ["CMD", "pg_isready", "-h", "localhost", "-p", "6432"]
79
82
  interval: 10s
@@ -85,13 +88,14 @@ services:
85
88
  restart: unless-stopped
86
89
 
87
90
  postgresql:
88
- image: postgres:17
91
+ image: postgres:18
89
92
  environment:
90
93
  - POSTGRES_DB=app_production
91
94
  - POSTGRES_USER=app_user
92
95
  - POSTGRES_PASSWORD=${DB_PASSWORD}
93
96
  volumes:
94
- - pgdata:/var/lib/postgresql/data
97
+ # PostgreSQL 18+ images keep data under /var/lib/postgresql/<major>/
98
+ - pgdata:/var/lib/postgresql
95
99
  healthcheck:
96
100
  test: ["CMD-SHELL", "pg_isready -U app_user"]
97
101
  interval: 10s
@@ -124,31 +128,33 @@ spec:
124
128
  spec:
125
129
  containers:
126
130
  - name: pgbouncer
127
- image: bitnami/pgbouncer:1.25.1
131
+ image: edoburu/pgbouncer:v1.26.0-p0
128
132
  ports:
129
133
  - containerPort: 6432
130
134
  env:
131
- - name: POSTGRESQL_HOST
135
+ - name: DB_HOST
132
136
  value: postgresql.database.svc.cluster.local
133
- - name: POSTGRESQL_PORT
137
+ - name: DB_PORT
134
138
  value: "5432"
135
- - name: POSTGRESQL_DATABASE
139
+ - name: DB_NAME
136
140
  value: app_production
137
- - name: POSTGRESQL_USERNAME
141
+ - name: DB_USER
138
142
  valueFrom:
139
143
  secretKeyRef:
140
144
  name: pgbouncer-secrets
141
145
  key: db-username
142
- - name: POSTGRESQL_PASSWORD
146
+ - name: DB_PASSWORD
143
147
  valueFrom:
144
148
  secretKeyRef:
145
149
  name: pgbouncer-secrets
146
150
  key: db-password
147
- - name: PGBOUNCER_POOL_MODE
151
+ - name: LISTEN_PORT
152
+ value: "6432"
153
+ - name: POOL_MODE
148
154
  value: transaction
149
- - name: PGBOUNCER_MAX_CLIENT_CONN
155
+ - name: MAX_CLIENT_CONN
150
156
  value: "200"
151
- - name: PGBOUNCER_DEFAULT_POOL_SIZE
157
+ - name: DEFAULT_POOL_SIZE
152
158
  value: "20"
153
159
  livenessProbe:
154
160
  tcpSocket:
@@ -204,17 +210,19 @@ spec:
204
210
  - name: DATABASE_URL
205
211
  value: "postgresql://app_user:$(DB_PASSWORD)@localhost:6432/app_production"
206
212
  - name: pgbouncer
207
- image: bitnami/pgbouncer:1.25.1
213
+ image: edoburu/pgbouncer:v1.26.0-p0
208
214
  ports:
209
215
  - containerPort: 6432
210
216
  env:
211
- - name: POSTGRESQL_HOST
217
+ - name: DB_HOST
212
218
  value: postgresql.database.svc.cluster.local
213
- - name: PGBOUNCER_POOL_MODE
219
+ - name: LISTEN_PORT
220
+ value: "6432"
221
+ - name: POOL_MODE
214
222
  value: transaction
215
- - name: PGBOUNCER_MAX_CLIENT_CONN
223
+ - name: MAX_CLIENT_CONN
216
224
  value: "100"
217
- - name: PGBOUNCER_DEFAULT_POOL_SIZE
225
+ - name: DEFAULT_POOL_SIZE
218
226
  value: "10"
219
227
  resources:
220
228
  requests:
@@ -54,7 +54,7 @@ DEPLOYMENT-STRATEGIE
54
54
 
55
55
  Methode: {Docker Compose / K8s Standalone / K8s Sidecar / Systemd}
56
56
  HA: {Active-Passive / Mehrere Replicas / Einzelinstanz}
57
- Image: bitnami/pgbouncer:1.25.1
57
+ Image: edoburu/pgbouncer:v1.26.0-p0
58
58
 
59
59
  | Entscheidung | Wahl | Begruendung |
60
60
  |-------------|------|-------------|
@@ -32,6 +32,8 @@ You are a **Senior Ansible Architect** capable of designing complete automation
32
32
  | Multi-environment | Dev / staging / production separation | High |
33
33
  | Hierarchical (Landscape/Type/Function) | Enterprise datacenter management | High |
34
34
 
35
+ > Hetzner Cloud: use the `hetzner.hcloud` collection (7.2.0) with ansible-core 2.21.5, pinned in `requirements.yml`.
36
+
35
37
  ## Methodology
36
38
 
37
39
  ### Phase 1 -- Discovery
@@ -142,8 +142,6 @@ project/
142
142
 
143
143
  ```yaml
144
144
  # docker-compose.yml
145
- version: "3.8"
146
-
147
145
  services:
148
146
  # ═══════════════════════════════════════════════════════════
149
147
  # REVERSE PROXY
@@ -51,8 +51,6 @@ Stack: {stack}
51
51
 
52
52
  ```yaml
53
53
  # docker-compose.yml - Common base
54
- version: "3.8"
55
-
56
54
  services:
57
55
  app:
58
56
  build:
@@ -7,7 +7,7 @@ description: FrankenPHP Caddyfile design, worker topology, and framework integra
7
7
 
8
8
  ## Identity
9
9
 
10
- You are a **Senior FrankenPHP Architect** capable of designing complete PHP application serving topologies using FrankenPHP 1.12+. You coordinate worker mode vs classic mode decisions, thread sizing, Caddyfile design, framework integration (Symfony, Laravel), Mercure real-time setup, and Early Hints (103) configuration to deliver production-ready FrankenPHP deployments.
10
+ You are a **Senior FrankenPHP Architect** capable of designing complete PHP application serving topologies using FrankenPHP 1.13+. You coordinate worker mode vs classic mode decisions, thread sizing, Caddyfile design, framework integration (Symfony, Laravel), Mercure real-time setup, and Early Hints (103) configuration to deliver production-ready FrankenPHP deployments.
11
11
 
12
12
  ## Technical Expertise
13
13
 
@@ -120,6 +120,9 @@ Extract and clarify:
120
120
  - `max_requests = 500` to prevent memory accumulation
121
121
  - Benchmark with `wrk` or `k6`, adjust up/down
122
122
  - Monitor: RSS memory per worker, response time p99
123
+ - Run FrankenPHP 1.13.0+: 1.12.4 is vulnerable (security fixes in 1.12.5: phpinfo in the default image, session ID leak in worker mode, request body timeout; 5 advisories including 2 high in 1.13.0)
124
+ - FrankenPHP 1.13+: `num_threads` only counts threads for requests no worker serves; worker threads come on top, and startup fails if `max_threads` < `num_threads` + worker threads
125
+ - Development hot reload goes through Mercure 1.0: `$_SERVER['FRANKENPHP_HOT_RELOAD']` now advertises `/.well-known/mercure?match=<topic>` (do not hardcode `?topic=`)
123
126
 
124
127
  ### Phase 3 -- Implementation Blueprint
125
128