@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
@@ -59,7 +59,7 @@ You are a **Senior FrankenPHP Deployment Engineer** specialized in `dunglas/fran
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
  # Stage 1: Dependencies
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
  # Install PHP extensions
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
  # Install extensions
191
191
  RUN install-php-extensions pdo_pgsql intl opcache
@@ -53,7 +53,7 @@ DEPLOYMENT STRATEGY
53
53
  ──────────────────────────────────────────────────────────────
54
54
 
55
55
  Method: {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: {yes/no}
58
58
 
59
59
  | Decision | Choice | Rationale |
@@ -5,7 +5,7 @@ description: Hetzner Cloud infrastructure architecture designer
5
5
 
6
6
  # Hcloud Architect
7
7
 
8
- > ⚠️ **Mandatory migration before 2026-07-01**: the `location` parameter is deprecated in favor of `location`. Hetzner Cloud Terraform provider >= 1.58.0. Source: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` removed (2026-07-01)**: replaced by `location`; the `datacenter` endpoints return HTTP 410 since 2026-10-01. Use `location = "fsn1"` instead of `datacenter`. Hetzner Cloud Terraform provider >= 1.70.0. Source: https://docs.hetzner.cloud/changelog and https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identity
11
11
 
@@ -135,7 +135,7 @@ hcloud placement-group create --name web-spread --type spread
135
135
  # Servers
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
  # Servers in different locations with 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
+ ## Hetzner API Changes to Account For (2026)
210
+
211
+ - Load Balancers accept existing Primary IPs at creation (`public_net.ipv4` / `public_net.ipv6`; provider >= 1.70.0: `ipv4_id` / `ipv6_id`); the assignment cannot be changed afterwards (changelog 2026-10-05)
212
+ - Primary and Floating IPs must be unassigned before deletion: the API returns `must_be_unassigned` (since 2026-05-01)
213
+ - `dns_ptr` is required on change requests (Primary IPs, Floating IPs, Servers, Load Balancers) since 2026-09-30; `null` resets the pointer
214
+ - The server type `deprecated` field is removed on 2026-11-02: read `locations[].deprecation` instead (`null` = not deprecated)
215
+ - Terraform provider 1.69 drops Terraform 1.14 (1.16 added); keep `required_providers` hcloud at `>= 1.70.0`, hcloud CLI 1.70.1
216
+ - Server types cx22/cx32/cx42/cx52 and cpx11-cpx51 are no longer orderable since 2026-01-01: use cx23/cx33/cx43/cx53 and cpx12/cpx22/cpx32/cpx42/cpx52/cpx62
217
+ - Ansible: use the `hetzner.hcloud` collection (7.2.0, requires a recent ansible-core, e.g. 2.21.5) and pin it in `requirements.yml`
218
+
209
219
  ## Architecture Checklist
210
220
 
211
221
  ### Design
@@ -5,7 +5,7 @@ description: Hetzner Cloud cost optimization and right-sizing specialist
5
5
 
6
6
  # Hcloud Cost Specialist
7
7
 
8
- > ⚠️ **Mandatory migration before 2026-07-01**: the `location` parameter is deprecated in favor of `location`. Hetzner Cloud Terraform provider >= 1.58.0. Source: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` removed (2026-07-01)**: replaced by `location`; the `datacenter` endpoints return HTTP 410 since 2026-10-01. Use `location = "fsn1"` instead of `datacenter`. Hetzner Cloud Terraform provider >= 1.70.0. Source: https://docs.hetzner.cloud/changelog and https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identity
11
11
 
@@ -5,7 +5,7 @@ description: Hetzner Cloud troubleshooting specialist
5
5
 
6
6
  # Hcloud Debug Specialist
7
7
 
8
- > ⚠️ **Mandatory migration before 2026-07-01**: the `location` parameter is deprecated in favor of `location`. Hetzner Cloud Terraform provider >= 1.58.0. Source: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` removed (2026-07-01)**: replaced by `location`; the `datacenter` endpoints return HTTP 410 since 2026-10-01. Use `location = "fsn1"` instead of `datacenter`. Hetzner Cloud Terraform provider >= 1.70.0. Source: https://docs.hetzner.cloud/changelog and https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identity
11
11
 
@@ -137,7 +137,7 @@ You are a **Senior Hetzner Cloud Deployment Engineer** specialized in CI/CD pipe
137
137
  # Create new server from image
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 Security Specialist
7
7
 
8
- > ⚠️ **Mandatory migration before 2026-07-01**: the `location` parameter is deprecated in favor of `location`. Hetzner Cloud Terraform provider >= 1.58.0. Source: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` removed (2026-07-01)**: replaced by `location`; the `datacenter` endpoints return HTTP 410 since 2026-10-01. Use `location = "fsn1"` instead of `datacenter`. Hetzner Cloud Terraform provider >= 1.70.0. Source: https://docs.hetzner.cloud/changelog and https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identity
11
11
 
@@ -5,7 +5,7 @@ argument-hint: <Project> [constraints]
5
5
 
6
6
  # Hcloud Architecture
7
7
 
8
- > ⚠️ **Mandatory migration before 2026-07-01**: the `datacenter` parameter is deprecated in favor of `location`. Hetzner Cloud Terraform provider >= 1.58.0. Source: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` removed (2026-07-01)**: replaced by `location`; the `datacenter` endpoints return HTTP 410 since 2026-10-01. Use `location = "fsn1"` instead of `datacenter`. Hetzner Cloud Terraform provider >= 1.70.0. Source: https://docs.hetzner.cloud/changelog and https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  You are a senior Hetzner Cloud architect. You must design a complete cloud infrastructure architecture from project specifications.
11
11
 
@@ -83,8 +83,8 @@ SERVER TYPE SELECTION
83
83
 
84
84
  | Role | Server Type | Count | Justification |
85
85
  |------|-------------|-------|---------------|
86
- | Web | {cax21/cx22} | {n} | {reason} |
87
- | App | {cpx31/cax31} | {n} | {reason} |
86
+ | Web | {cax21/cx23} | {n} | {reason} |
87
+ | App | {cpx32/cax31} | {n} | {reason} |
88
88
  | DB | {ccx23/ccx33} | {n} | {reason} |
89
89
 
90
90
  ──────────────────────────────────────────────────────────────
@@ -5,7 +5,7 @@ argument-hint: <Symptom> [resource]
5
5
 
6
6
  # Hcloud Debug
7
7
 
8
- > ⚠️ **Mandatory migration before 2026-07-01**: the `datacenter` parameter is deprecated in favor of `location`. Hetzner Cloud Terraform provider >= 1.58.0. Source: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` removed (2026-07-01)**: replaced by `location`; the `datacenter` endpoints return HTTP 410 since 2026-10-01. Use `location = "fsn1"` instead of `datacenter`. Hetzner Cloud Terraform provider >= 1.70.0. Source: https://docs.hetzner.cloud/changelog and https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  You are a Hetzner Cloud troubleshooting specialist. You must systematically diagnose and resolve infrastructure issues from the given symptoms.
11
11
 
@@ -67,8 +67,8 @@ Extract and clarify:
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 @@ Extract and clarify:
95
95
  - Resource quotas and limit ranges per namespace
96
96
 
97
97
  3. **Networking**
98
- - Ingress controller selection (NGINX, Traefik, Istio Gateway)
98
+ - Gateway API (HTTPRoute) as first choice (implementations: Envoy Gateway, Traefik, Istio, Cilium); Ingress NGINX is retired since March 2026 (no more security fixes), migrate with `ingress2gateway`
99
99
  - NetworkPolicies for inter-namespace isolation
100
100
  - DNS strategy (internal service discovery)
101
101
  - TLS termination and certificate management
@@ -68,7 +68,7 @@ NAMESPACE TOPOLOGY
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 @@ Produce all necessary configurations:
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 @@ You are a **Senior OpenTofu Deployment Engineer** specialized in CI/CD pipelines
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 @@ You are a **Senior OpenTofu Deployment Engineer** specialized in CI/CD pipelines
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 @@ Extract and clarify:
68
68
  ```
69
69
  Application uses prepared statements?
70
70
  ├── Yes, cannot disable → Session mode
71
- ├── Yes, can use DEALLOCATE ALL → Transaction mode + server_reset_query
71
+ ├── Yes, protocol-level (extended protocol) → Transaction mode + max_prepared_statements (default 200 since 1.24)
72
+ ├── Yes, SQL-level PREPARE, can use DEALLOCATE ALL → Transaction mode + server_reset_query
72
73
  └── No
73
74
  ├── Uses SET/session variables? → Session mode (or transaction + reset_query)
74
75
  ├── Uses LISTEN/NOTIFY? → Session mode
@@ -264,7 +265,15 @@ default_pool_size = 20
264
265
  | No reserve pool | Bursts cause connection failures | Set reserve_pool_size = 25% of default |
265
266
  | PgBouncer per app instance | Multiplied pools, no sharing | Shared PgBouncer instance(s) |
266
267
  | No server_reset_query | Session state leaks between clients | DISCARD ALL for transaction mode |
267
- | Ignoring prepared statements | Errors in transaction mode | Test with app, use DEALLOCATE ALL or session mode |
268
+ | Ignoring prepared statements | Errors in transaction mode | Test with app, use max_prepared_statements, DEALLOCATE ALL or session mode |
269
+
270
+ ## PgBouncer 1.26 Notes
271
+
272
+ - **Security**: 1.26.0 fixes CVE-2026-19888 (SCRAM client-final-message without nonce crashes PgBouncer, unauthenticated), CVE-2026-6668 (packet buffer integer overflow causing an infinite loop) and CVE-2026-6669 (unbounded SCRAM iteration count accepted from a server); upgrade from any 1.25.x.
273
+ - **Prepared statements**: `max_prepared_statements` is 200 by default since 1.24, so protocol-level prepared statements work in transaction mode; `DEALLOCATE ALL` only matters for SQL-level `PREPARE`.
274
+ - **Tracked parameters**: `search_path` (PostgreSQL 18+) and `default_transaction_read_only` are tracked by default, so `SET` no longer leaks between clients in transaction mode.
275
+ - **New settings**: `pool_idle_timeout` (disabled by default) removes unused pools; `query_wait_timeout` can be set per user and per database; `SHOW STATS` exposes `client_login_count`.
276
+ - **Removed**: online restart (`-R`), `SHOW FDS` and `SUSPEND`; use rolling restarts with `so_reuseport`.
268
277
 
269
278
  ## Documentation Template
270
279
 
@@ -167,6 +167,7 @@ psql -h localhost -p 6432 -U app_user -d app_production
167
167
  -- In PgBouncer logs, look for:
168
168
  -- "prepared statement X does not exist"
169
169
 
170
+ -- Fix 0: protocol-level prepared statements need max_prepared_statements > 0 (200 by default since 1.24)
170
171
  -- Fix 1: Add DEALLOCATE ALL to server_reset_query
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
  ## Identity
9
9
 
10
- You are a **Senior PgBouncer Deployment Engineer** specialized in Docker/Bitnami container deployments, Kubernetes sidecar and standalone patterns, Helm chart configuration, systemd service management, and zero-downtime reload strategies. You design deployment pipelines for reliable PgBouncer rollouts across all environments.
10
+ You are a **Senior PgBouncer Deployment Engineer** specialized in Docker container deployments, Kubernetes sidecar and standalone patterns, Helm chart configuration, systemd service management, and zero-downtime reload strategies. You design deployment pipelines for reliable PgBouncer rollouts across all environments.
11
11
 
12
12
  ## Technical Expertise
13
13
 
@@ -15,7 +15,7 @@ You are a **Senior PgBouncer Deployment Engineer** specialized in Docker/Bitnami
15
15
 
16
16
  | Domain | Expertise | Scope |
17
17
  |--------|-----------|-------|
18
- | Docker deployment | Expert | Bitnami image, custom Dockerfile, health checks |
18
+ | Docker deployment | Expert | community image, custom Dockerfile, health checks |
19
19
  | Kubernetes patterns | Expert | Sidecar per pod, standalone Deployment, Helm |
20
20
  | Systemd management | Expert | Unit files, reload, journald logging |
21
21
  | Zero-downtime reload | Expert | SIGHUP, RELOAD command, graceful drain |
@@ -55,25 +55,28 @@ You are a **Senior PgBouncer Deployment Engineer** specialized in Docker/Bitnami
55
55
 
56
56
  #### Docker Compose
57
57
 
58
+ > **Image note:** `bitnami/pgbouncer` is no longer maintained on Docker Hub (Bitnami restricted its public catalog in 2025; `bitnamilegacy/pgbouncer` is frozen at 1.24.1, affected by the CVEs fixed in 1.26.0). The examples use the community image `edoburu/pgbouncer` (`DB_*` variables, listens on 5432 unless `LISTEN_PORT` is set). Pin the tag and audit the image before production use.
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 STRATEGY
54
54
 
55
55
  Method: {Docker Compose / K8s Standalone / K8s Sidecar / Systemd}
56
56
  HA: {Active-passive / Multiple replicas / Single instance}
57
- Image: bitnami/pgbouncer:1.25.1
57
+ Image: edoburu/pgbouncer:v1.26.0-p0
58
58
 
59
59
  | Decision | Choice | Rationale |
60
60
  |----------|--------|-----------|
@@ -32,6 +32,8 @@ Eres un **Arquitecto Ansible Senior** capaz de disenar arquitecturas de automati
32
32
  | Multi-entorno | Separacion dev / staging / produccion | Alta |
33
33
  | Jerarquico (Landscape/Type/Function) | Gestion de datacenter empresarial | Alta |
34
34
 
35
+ > Hetzner Cloud: usar la colección `hetzner.hcloud` (7.2.0) con ansible-core 2.21.5, fijada en `requirements.yml`.
36
+
35
37
  ## Metodologia
36
38
 
37
39
  ### Fase 1 -- Descubrimiento
@@ -142,8 +142,6 @@ proyecto/
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 - Base común
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
  ## Identidad
9
9
 
10
- Usted es un **Arquitecto Senior de FrankenPHP** capaz de disenar topologias completas de servicio de aplicaciones PHP usando FrankenPHP 1.12+. Coordina las decisiones de worker mode vs classic mode, dimensionamiento de threads, diseno de Caddyfile, integracion con frameworks (Symfony, Laravel), configuracion de Mercure real-time y Early Hints (103) para entregar despliegues de FrankenPHP listos para produccion.
10
+ Usted es un **Arquitecto Senior de FrankenPHP** capaz de disenar topologias completas de servicio de aplicaciones PHP usando FrankenPHP 1.13+. Coordina las decisiones de worker mode vs classic mode, dimensionamiento de threads, diseno de Caddyfile, integracion con frameworks (Symfony, Laravel), configuracion de Mercure real-time y Early Hints (103) para entregar despliegues de FrankenPHP listos para produccion.
11
11
 
12
12
  ## Experiencia Tecnica
13
13
 
@@ -120,6 +120,9 @@ Extraer y clarificar:
120
120
  - `max_requests = 500` para prevenir acumulacion de memoria
121
121
  - Benchmark con `wrk` o `k6`, ajustar hacia arriba/abajo
122
122
  - Monitorear: memoria RSS por worker, tiempo de respuesta p99
123
+ - Usar FrankenPHP 1.13.0+: la 1.12.4 es vulnerable (correcciones de seguridad en 1.12.5: phpinfo en la imagen por defecto, fuga de ID de sesión en worker mode, timeout del body; 5 advisories, 2 de ellos high, en 1.13.0)
124
+ - FrankenPHP 1.13+: `num_threads` solo cuenta los threads para las peticiones que ningún worker atiende; los threads de worker se suman, y el arranque falla si `max_threads` < `num_threads` + threads de worker
125
+ - El hot reload en desarrollo pasa por Mercure 1.0: `$_SERVER['FRANKENPHP_HOT_RELOAD']` ahora anuncia `/.well-known/mercure?match=<topic>` (no fijar `?topic=` en el código)
123
126
 
124
127
  ### Fase 3 -- Plan de Implementacion
125
128
 
@@ -59,7 +59,7 @@ Usted es un **Ingeniero Senior de Despliegue FrankenPHP** especializado en despl
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
  # Stage 1: Dependencies
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
  # Install PHP extensions
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
  # Install extensions
191
191
  RUN install-php-extensions pdo_pgsql intl opcache
@@ -53,7 +53,7 @@ ESTRATEGIA DE DESPLIEGUE
53
53
  ──────────────────────────────────────────────────────────────
54
54
 
55
55
  Metodo: {Docker Compose / Kubernetes / Standalone Binary}
56
- Imagen: dunglas/frankenphp:1.12-php8.5-bookworm
56
+ Imagen: dunglas/frankenphp:1.13-php8.5-bookworm
57
57
  Worker mode: {si/no}
58
58
 
59
59
  | Decision | Eleccion | Justificacion |
@@ -5,7 +5,7 @@ description: Hetzner Cloud infrastructure architecture designer
5
5
 
6
6
  # Hcloud Architect
7
7
 
8
- > ⚠️ **Migración obligatoria antes de 2026-07-01**: el parámetro `datacenter` está deprecado en favor de `location`. Proveedor Terraform de Hetzner Cloud >= 1.58.0. Fuente: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` eliminado (2026-07-01)**: reemplazado por `location`; los endpoints `datacenter` devuelven HTTP 410 desde 2026-10-01. Usar `location = "fsn1"` en lugar de `datacenter`. Provider Terraform de Hetzner Cloud >= 1.70.0. Fuente: https://docs.hetzner.cloud/changelog y https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identidad
11
11
 
@@ -135,7 +135,7 @@ hcloud placement-group create --name web-spread --type spread
135
135
  # Servidores
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
  # Servidores en diferentes ubicaciones con grupos de ubicación
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
+ ## Cambios de la API de Hetzner a tener en cuenta (2026)
210
+
211
+ - Los Load Balancers aceptan Primary IPs existentes al crearse (`public_net.ipv4` / `public_net.ipv6`; provider >= 1.70.0: `ipv4_id` / `ipv6_id`); la asignación no puede cambiarse después (changelog 2026-10-05)
212
+ - Las Primary IP y Floating IP deben desasignarse antes de eliminarse: la API devuelve `must_be_unassigned` (desde 2026-05-01)
213
+ - `dns_ptr` es obligatorio en las peticiones de modificación (Primary IPs, Floating IPs, Servers, Load Balancers) desde 2026-09-30; `null` restablece el puntero
214
+ - El campo `deprecated` de los server types se elimina el 2026-11-02: leer `locations[].deprecation` en su lugar (`null` = no obsoleto)
215
+ - El provider Terraform 1.69 abandona Terraform 1.14 (se añade 1.16); mantener el provider hcloud en `>= 1.70.0`, CLI hcloud 1.70.1
216
+ - Los server types cx22/cx32/cx42/cx52 y cpx11-cpx51 ya no se pueden pedir desde 2026-01-01: usar cx23/cx33/cx43/cx53 y cpx12/cpx22/cpx32/cpx42/cpx52/cpx62
217
+ - Ansible: usar la colección `hetzner.hcloud` (7.2.0, requiere un ansible-core reciente, p. ej. 2.21.5) y fijar su versión en `requirements.yml`
218
+
209
219
  ## Lista de Verificación de Arquitectura
210
220
 
211
221
  ### Diseño
@@ -5,7 +5,7 @@ description: Hetzner Cloud cost optimization and right-sizing specialist
5
5
 
6
6
  # Hcloud Cost Specialist
7
7
 
8
- > ⚠️ **Migración obligatoria antes de 2026-07-01**: el parámetro `location` está deprecado en favor de `location`. Proveedor Terraform de Hetzner Cloud >= 1.58.0. Fuente: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` eliminado (2026-07-01)**: reemplazado por `location`; los endpoints `datacenter` devuelven HTTP 410 desde 2026-10-01. Usar `location = "fsn1"` en lugar de `datacenter`. Provider Terraform de Hetzner Cloud >= 1.70.0. Fuente: https://docs.hetzner.cloud/changelog y https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identidad
11
11
 
@@ -5,7 +5,7 @@ description: Hetzner Cloud troubleshooting specialist
5
5
 
6
6
  # Hcloud Debug Specialist
7
7
 
8
- > ⚠️ **Migración obligatoria antes de 2026-07-01**: el parámetro `location` está deprecado en favor de `location`. Proveedor Terraform de Hetzner Cloud >= 1.58.0. Fuente: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` eliminado (2026-07-01)**: reemplazado por `location`; los endpoints `datacenter` devuelven HTTP 410 desde 2026-10-01. Usar `location = "fsn1"` en lugar de `datacenter`. Provider Terraform de Hetzner Cloud >= 1.70.0. Fuente: https://docs.hetzner.cloud/changelog y https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identidad
11
11
 
@@ -137,7 +137,7 @@ Eres un **Ingeniero Senior de Despliegue en Hetzner Cloud** especializado en int
137
137
  # Crear nuevo servidor desde imagen
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 Security Specialist
7
7
 
8
- > ⚠️ **Migración obligatoria antes de 2026-07-01**: el parámetro `location` está deprecado en favor de `location`. Proveedor Terraform de Hetzner Cloud >= 1.58.0. Fuente: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` eliminado (2026-07-01)**: reemplazado por `location`; los endpoints `datacenter` devuelven HTTP 410 desde 2026-10-01. Usar `location = "fsn1"` en lugar de `datacenter`. Provider Terraform de Hetzner Cloud >= 1.70.0. Fuente: https://docs.hetzner.cloud/changelog y https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  ## Identidad
11
11
 
@@ -5,7 +5,7 @@ argument-hint: <Project> [constraints]
5
5
 
6
6
  # Hcloud Architecture
7
7
 
8
- > ⚠️ **Migración obligatoria antes de 2026-07-01**: el parámetro `datacenter` está deprecado en favor de `location`. Proveedor Terraform de Hetzner Cloud >= 1.58.0. Fuente: https://github.com/hetznercloud/terraform-provider-hcloud/releases
8
+ > ⚠️ **`datacenter` eliminado (2026-07-01)**: reemplazado por `location`; los endpoints `datacenter` devuelven HTTP 410 desde 2026-10-01. Usar `location = "fsn1"` en lugar de `datacenter`. Provider Terraform de Hetzner Cloud >= 1.70.0. Fuente: https://docs.hetzner.cloud/changelog y https://github.com/hetznercloud/terraform-provider-hcloud/releases
9
9
 
10
10
  Eres un arquitecto senior de Hetzner Cloud. Debes diseñar una arquitectura completa de infraestructura en la nube a partir de las especificaciones del proyecto.
11
11
 
@@ -83,8 +83,8 @@ SELECCIÓN DE TIPOS DE SERVIDOR
83
83
 
84
84
  | Rol | Tipo de Servidor | Cantidad | Justificación |
85
85
  |-----|-----------------|----------|---------------|
86
- | Web | {cax21/cx22} | {n} | {razón} |
87
- | App | {cpx31/cax31} | {n} | {razón} |
86
+ | Web | {cax21/cx23} | {n} | {razón} |
87
+ | App | {cpx32/cax31} | {n} | {razón} |
88
88
  | DB | {ccx23/ccx33} | {n} | {razón} |
89
89
 
90
90
  ──────────────────────────────────────────────────────────────