@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
@@ -21,10 +21,11 @@ See `../../../../docs/ECOSYSTEM.md` for the full catalogue, licenses, and `.mcp.
21
21
 
22
22
  | Tool | License | Use it for | Rec |
23
23
  |------|---------|-----------|-----|
24
- | **caveman** | MIT | Compress agent **output** ~65% | ✅ Integrate |
24
+ | **caveman** | Apache-2.0 | Compress agent **output** ~65% | ✅ Integrate |
25
25
  | **code-review-graph** | MIT | AST graph → read only the blast radius on review | ✅ Integrate |
26
26
  | **token-savior** | MIT | Symbol index + Bash output compaction (−80%), RTK alternative | ✅ Integrate |
27
27
  | **claude-token-efficient** | MIT | Anti-verbosity CLAUDE.md drop-in | ✅ Integrate |
28
+ | **claude-hud** | MIT | Real-time context/agent/todo monitor (status line) | ✅ Integrate |
28
29
  | **context-mode** | ELv2 | Output sandboxing — license blocks commercial redistribution | 🔶 Reference |
29
30
  | **claude-context** | MIT | Semantic search; needs a Milvus/Zilliz vector DB | 🔶 Reference |
30
31
 
@@ -284,8 +284,6 @@ return RectorConfig::configure()
284
284
  ### docker-compose.yml
285
285
 
286
286
  ```yaml
287
- version: '3.8'
288
-
289
287
  services:
290
288
  app:
291
289
  build:
@@ -45,7 +45,7 @@
45
45
  ### Code Quality
46
46
 
47
47
  - [ ] `declare(strict_types=1)` in all files
48
- - [ ] PSR-12 coding standards followed
48
+ - [ ] PER-CS 3.0 coding standards followed
49
49
  - [ ] PHPStan level 10 passes
50
50
  - [ ] PHP-CS-Fixer rules applied
51
51
  - [ ] No suppressed warnings without justification
@@ -15,7 +15,7 @@ Run comprehensive code quality analysis on PHP project.
15
15
  - Dead code detection
16
16
 
17
17
  2. **Code Style**
18
- - PSR-12 compliance
18
+ - PER-CS 3.0 compliance
19
19
  - PHP-CS-Fixer rules
20
20
  - Naming convention verification
21
21
  - Import organization
@@ -95,7 +95,7 @@ parameters:
95
95
  return (new PhpCsFixer\Config())
96
96
  ->setRiskyAllowed(true)
97
97
  ->setRules([
98
- '@PSR12' => true,
98
+ '@PER-CS3x0' => true,
99
99
  '@PHP85Migration' => true,
100
100
  '@Symfony' => true,
101
101
  '@Symfony:risky' => true,
@@ -381,7 +381,7 @@ final class UserRepository implements RepositoryInterface
381
381
  - [ ] No deprecated code usage
382
382
 
383
383
  ### Code Style
384
- - [ ] PSR-12 compliant
384
+ - [ ] PER-CS 3.0 compliant
385
385
  - [ ] PHP-CS-Fixer passes
386
386
  - [ ] Imports properly ordered
387
387
  - [ ] No unused imports
@@ -34,7 +34,7 @@ npx eslint . && tsc --noEmit && npx vitest run && npm run lint:vercel-config
34
34
  ### Deprecated Patterns
35
35
 
36
36
  - [ ] **No new `@vercel/kv` or `@vercel/postgres` import** - these native storage packages are deprecated; use Vercel Blob (native) or the Marketplace integrations (Neon for Postgres, Upstash for KV/Redis) instead
37
- - [ ] **No new `runtime: 'edge'` declaration** without an explicit migration comment - Edge Runtime is deprecated in favor of Fluid Compute; a legacy handler being touched must carry a comment explaining why it still targets Edge (see the migration note in `templates/function-handler.template.ts`)
37
+ - [ ] **No new `runtime: 'edge'` declaration** without an explicit migration comment - Vercel recommends Fluid Compute over Edge Runtime; a legacy handler being touched must carry a comment explaining why it still targets Edge (see the migration note in `templates/function-handler.template.ts`)
38
38
 
39
39
  ### Testing
40
40
 
@@ -18,7 +18,7 @@ Identify security vulnerabilities specific to Vercel's deployment model, mapped
18
18
 
19
19
  ## SECURITY CHECKS
20
20
 
21
- ### 1. Env Var Handling (OWASP #2 Cryptographic Failures, #5 Security Misconfiguration)
21
+ ### 1. Env Var Handling (OWASP #4 Cryptographic Failures, #2 Security Misconfiguration)
22
22
 
23
23
  Scan for:
24
24
  - Secrets logged via `console.log(process.env...)` in any `api/` handler
@@ -43,14 +43,14 @@ grep -A3 '"crons"' vercel.json
43
43
  grep -n "CRON_SECRET\|x-vercel-cron" api/**/*.ts
44
44
  ```
45
45
 
46
- ### 3. CORS / CSP Headers in vercel.json (OWASP #1, #5)
46
+ ### 3. CORS / CSP Headers in vercel.json (OWASP #1, #2)
47
47
 
48
48
  Check `headers[]` in `vercel.json`:
49
49
  - `Access-Control-Allow-Origin` is not a bare `*` on any route handling authenticated requests
50
50
  - CSP (`Content-Security-Policy`) present and restrictive (`script-src`, `frame-ancestors`, `base-uri`)
51
51
  - `X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, HSTS present
52
52
 
53
- ### 4. Marketplace Credential Handling (OWASP #6 Supply Chain, #2 Cryptographic Failures)
53
+ ### 4. Marketplace Credential Handling (OWASP #3 Supply Chain, #4 Cryptographic Failures)
54
54
 
55
55
  For Storage via Marketplace (Neon/Upstash, etc.):
56
56
  - Connection strings/API keys stored only as env vars, never committed
@@ -71,7 +71,7 @@ Flag as a **migration item** (not a live vulnerability, but unsupported surface)
71
71
  ```bash
72
72
  grep -rn "runtime.*=.*['\"]edge['\"]\|export const runtime = 'edge'" api/ middleware.ts
73
73
  ```
74
- Flag as a **migration item**: Edge Runtime is deprecated. Recommend migrating to the Node.js runtime default (Fluid Compute) — never recommend adopting Edge Runtime in new code.
74
+ Flag as a **migration item**: Edge Runtime is discouraged. Recommend migrating to the Node.js runtime default (Fluid Compute) — never recommend adopting Edge Runtime in new code.
75
75
 
76
76
  ### 7. Dependency Security
77
77
 
@@ -89,7 +89,7 @@ VERCEL SECURITY AUDIT
89
89
  📊 SECURITY SCORE: XX/100
90
90
  Risk Level: 🟢 LOW | 🟡 MEDIUM | 🔴 HIGH | ⚫ CRITICAL
91
91
 
92
- 🔑 ENV VAR HANDLING (OWASP #2/#5)
92
+ 🔑 ENV VAR HANDLING (OWASP #4/#2)
93
93
  ──────────────────────────────────────────────────────────────
94
94
  Status: ✅ SECURE | ⚠️ RISKS FOUND | ❌ VULNERABLE
95
95
 
@@ -117,7 +117,7 @@ Findings:
117
117
  File: vercel.json
118
118
  Fix: Restrict to explicit allowed origins
119
119
 
120
- 🔐 MARKETPLACE CREDENTIALS (OWASP #6/#2)
120
+ 🔐 MARKETPLACE CREDENTIALS (OWASP #3/#4)
121
121
  ──────────────────────────────────────────────────────────────
122
122
  Status: ✅ LEAST PRIVILEGE | ⚠️ OVERSCOPED
123
123
 
@@ -133,7 +133,7 @@ Findings:
133
133
  ⚙️ LEGACY EDGE RUNTIME (migration items)
134
134
  ──────────────────────────────────────────────────────────────
135
135
  [ℹ️ MIGRATION] export const runtime = 'edge' in middleware.ts
136
- Fix: Migrate to the Node.js runtime default (Fluid Compute); Edge Runtime is deprecated
136
+ Fix: Migrate to the Node.js runtime default (Fluid Compute); Edge Runtime is discouraged
137
137
 
138
138
  📦 DEPENDENCY AUDIT
139
139
  ──────────────────────────────────────────────────────────────
@@ -184,14 +184,14 @@ grep -rn "runtime.*=.*['\"]edge['\"]" api/ middleware.ts
184
184
  ## SECURITY CHECKLIST
185
185
 
186
186
  ```
187
- [ ] No secret env var ever logged (OWASP #2)
188
- [ ] .env.local gitignored, Preview/Production scoping deliberate (OWASP #5)
187
+ [ ] No secret env var ever logged (OWASP #4)
188
+ [ ] .env.local gitignored, Preview/Production scoping deliberate (OWASP #2)
189
189
  [ ] Every crons[] target validates a shared secret before executing (OWASP #1)
190
190
  [ ] No cron target reachable unauthenticated as a public route (OWASP #1)
191
191
  [ ] CORS restricted to explicit origins on authenticated routes (OWASP #1)
192
- [ ] CSP/HSTS/nosniff/frame-ancestors present in vercel.json headers[] (OWASP #5)
193
- [ ] Marketplace credentials scoped to least privilege (OWASP #6)
192
+ [ ] CSP/HSTS/nosniff/frame-ancestors present in vercel.json headers[] (OWASP #2)
193
+ [ ] Marketplace credentials scoped to least privilege (OWASP #3)
194
194
  [ ] @vercel/kv / @vercel/postgres usage flagged for Marketplace migration
195
195
  [ ] No new code uses Edge Runtime; existing usage flagged for Fluid Compute migration
196
- [ ] Dependencies audited, no moderate+ vulnerabilities (OWASP #10)
196
+ [ ] Dependencies audited, no moderate+ vulnerabilities (OWASP #3)
197
197
  ```
@@ -22,7 +22,7 @@
22
22
  | Setting | Value |
23
23
  |---------|-------|
24
24
  | **Production regions** | {{DEPLOY_REGIONS}} <!-- e.g. iad1, cdg1 — see vercel.json "regions" -->|
25
- | **Functions runtime** | Node.js runtime (Fluid Compute) <!-- Edge Runtime is deprecated — do not select for new projects --> |
25
+ | **Functions runtime** | Node.js runtime (Fluid Compute) <!-- Edge Runtime is discouraged — do not select for new projects --> |
26
26
  | **Cron Jobs** | {{CRON_JOBS_SUMMARY}} <!-- none, or list of schedule/path pairs from vercel.json "crons" --> |
27
27
  | **Preview Deployments** | {{PREVIEW_POLICY}} <!-- e.g. auto on every PR, restricted to internal branches --> |
28
28
 
@@ -188,11 +188,11 @@ Choosing a runtime for an api/** handler or middleware:
188
188
  ├─ New code, no prior runtime pinned?
189
189
  │ → Default to the Node.js runtime with Fluid Compute.
190
190
  │ Full Node API access, bytecode caching gives fast cold
191
- │ starts on Node 20+, Active CPU pricing (billed for actual
191
+ │ starts on Node 22+, Active CPU pricing (billed for actual
192
192
  │ CPU work, not idle wall-clock time).
193
193
  │
194
194
  ├─ Existing code has `export const runtime = 'edge'`?
195
- │ → Recognize this as LEGACY. Edge Runtime is deprecated by
195
+ │ → Recognize this as LEGACY. Edge Runtime is discouraged by
196
196
  │ Vercel in favor of Fluid Compute. Do not extend or copy
197
197
  │ this pattern into new handlers. Flag it during a migration
198
198
  │ audit; plan removal of the `runtime = 'edge'` export and
@@ -39,7 +39,7 @@ export default async function handler(
39
39
  }
40
40
  ```
41
41
 
42
- **Rule**: type the handler with `VercelRequest`/`VercelResponse` from `@vercel/node`, not bare `Request`/`Response` — those are the Web Fetch API types used by the (deprecated-for-new-code) Edge runtime, and mixing the two signatures across the `api/` tree makes the runtime each function targets ambiguous at a glance.
42
+ **Rule**: type the handler with `VercelRequest`/`VercelResponse` from `@vercel/node`, not bare `Request`/`Response` — those are the Web Fetch API types used by the (not-recommended-for-new-code) Edge runtime, and mixing the two signatures across the `api/` tree makes the runtime each function targets ambiguous at a glance.
43
43
 
44
44
  ### Method Dispatch — Guard Clauses, Not Nested Conditionals
45
45
 
@@ -114,6 +114,18 @@ npx ajv-cli validate -s https://openapi.vercel.sh/vercel.json -d vercel.json
114
114
 
115
115
  ---
116
116
 
117
+ ## Platform Updates (CLI 63.x, October 2026)
118
+
119
+ Verified against the official Vercel docs (October 2026):
120
+
121
+ - **Node.js runtimes**: `24.x` (default) and `22.x` are available; Node.js 20 is deprecated since 2026-10-01. Pin with `package.json` `engines.node` (e.g. `"24.x"`) or the project setting.
122
+ - **Function duration**: with Fluid Compute (default), the default max duration is 300 s on all plans; the configurable maximum is 300 s on Hobby and 800 s on Pro/Enterprise (up to 1800 s in beta, set per function: `maxDuration` in code or `vercel.json` `functions`).
123
+ - **Edge Runtime**: Vercel recommends migrating from Edge to Node.js (both run on Fluid Compute), see https://vercel.com/docs/functions/runtimes/edge.
124
+ - **`vercel.ts`**: programmatic alternative to `vercel.json` (`npm i @vercel/config`; `import { routes, type VercelConfig } from '@vercel/config/v1'`; `export const config: VercelConfig = { ... }`). Use only one of `vercel.ts` or `vercel.json`.
125
+ - **Bun runtime (Beta)**: opt in with `"bunVersion": "1.x"` (or `"1.4.x"`) in `vercel.json`; Node.js remains the default.
126
+ - **`vercel upgrade`**: upgrades the CLI via the package manager that installed it (`--dry-run` previews the command, `--enable-auto`/`--disable-auto` toggle automatic updates).
127
+ - **`vercel api`**: makes authenticated HTTP requests to the Vercel REST API from the CLI.
128
+
117
129
  ## Storage & Marketplace Tooling
118
130
 
119
131
  Native (first-party) products are provisioned directly from the CLI or dashboard:
@@ -20,7 +20,7 @@ Functions on Vercel expose two handler signatures depending on runtime:
20
20
  | Runtime | Signature | Status |
21
21
  |---------|-----------|--------|
22
22
  | **Node.js runtime (Fluid Compute)** — default | `(req: VercelRequest, res: VercelResponse) => void` **or** `(req: Request) => Response` | Current, recommended |
23
- | **Edge Runtime** | `(req: Request) => Response` | **Deprecated** by Vercel — do not target for new code; only relevant when testing legacy handlers during migration |
23
+ | **Edge Runtime** | `(req: Request) => Response` | **Not recommended** by Vercel — do not target for new code; only relevant when testing legacy handlers during migration |
24
24
 
25
25
  Prefer the native `Request`/`Response` signature for new handlers under Fluid Compute — it is portable and trivial to unit test without mocking Vercel-specific types.
26
26
 
@@ -26,7 +26,7 @@ export default [
26
26
  'no-console': ['warn', { allow: ['warn', 'error'] }],
27
27
  'no-restricted-globals': [
28
28
  'error',
29
- { name: 'EdgeRuntime', message: 'Edge Runtime is deprecated by Vercel — target the Node.js runtime (Fluid Compute) instead.' },
29
+ { name: 'EdgeRuntime', message: 'Edge Runtime is not recommended by Vercel — target the Node.js runtime (Fluid Compute) instead.' },
30
30
  ],
31
31
  },
32
32
  },
@@ -129,7 +129,7 @@ Native `@vercel/kv` and `@vercel/postgres` packages are **deprecated** — curre
129
129
 
130
130
  ## Edge Runtime Legacy-Code Security Gap
131
131
 
132
- Edge Runtime is **deprecated** by Vercel in favor of Fluid Compute on the Node.js runtime — it should not be targeted for new code. When auditing existing handlers still running on Edge Runtime, treat its reduced API surface as a **security-relevant gap**, not just a compatibility one: the historical absence of Node's `crypto` and `fs` modules on Edge Runtime pushed some codebases toward insecure workarounds (hand-rolled or under-vetted crypto implementations, non-constant-time comparisons for secret/signature checks, or fetching data that should have stayed server-side because a Node-only library couldn't run).
132
+ Vercel recommends migrating from Edge Runtime to Node.js on Fluid Compute (source: vercel.com/docs/functions/runtimes/edge) — it should not be targeted for new code. When auditing existing handlers still running on Edge Runtime, treat its reduced API surface as a **security-relevant gap**, not just a compatibility one: the historical absence of Node's `crypto` and `fs` modules on Edge Runtime pushed some codebases toward insecure workarounds (hand-rolled or under-vetted crypto implementations, non-constant-time comparisons for secret/signature checks, or fetching data that should have stayed server-side because a Node-only library couldn't run).
133
133
 
134
134
  **Rule**: if a Function still targets Edge Runtime and its diff/history shows a custom crypto or signature-comparison routine, treat it as a migration priority — moving it to the Node.js runtime (Fluid Compute) restores access to Node's `crypto` module (`crypto.timingSafeEqual`, etc.) and removes the reason the workaround existed in the first place.
135
135
 
@@ -52,7 +52,7 @@ export default async function handler(req: Request): Promise<Response> {
52
52
 
53
53
  // ============================================================================
54
54
  // Edge Runtime migration notes (placeholder only — do NOT implement Edge
55
- // Runtime code here; Edge Runtime is deprecated by Vercel).
55
+ // Runtime code here; Edge Runtime is not recommended by Vercel).
56
56
  //
57
57
  // If this handler is being converted FROM a legacy `export const runtime =
58
58
  // 'edge'` file:
@@ -17,13 +17,13 @@
17
17
  ## Library Feature (new export)
18
18
 
19
19
  - [ ] **Exported from `src/index.ts`** - single public entry stays the source of truth
20
- - [ ] **Peer dependency added** to both `package.json` "peerDependencies" and `build.rollupOptions.external`, if applicable
20
+ - [ ] **Peer dependency added** to both `package.json` "peerDependencies" and `build.rolldownOptions.external`, if applicable
21
21
  - [ ] **Type declarations verified** - `vite-plugin-dts` output includes the new export with correct types
22
22
  - [ ] **Build-output smoke test updated** - `test/build-output.test.ts` covers the new public API surface
23
23
 
24
24
  ## Multi-Page Feature (new page)
25
25
 
26
- - [ ] **HTML entry created** and added to `build.rollupOptions.input`
26
+ - [ ] **HTML entry created** and added to top-level `input`
27
27
  - [ ] **Entry key is stable, kebab-case**, matches folder/file naming convention
28
28
  - [ ] **Shared code factored** into `src/shared/`, not duplicated across page entries
29
29
  - [ ] **CSP verified** for the new entry (see `11-security-vite.md`)
@@ -30,8 +30,8 @@ npx eslint . && tsc -b --noEmit && npx vitest run
30
30
  ### Shape-Specific
31
31
 
32
32
  - [ ] **Vanilla SPA**: `index.html` stayed at project root, not moved into `public/`
33
- - [ ] **Library**: peer dependencies externalized in `build.rollupOptions.external`, not bundled
34
- - [ ] **Multi-page**: `build.rollupOptions.input` keys unchanged/stable if renaming was not intentional
33
+ - [ ] **Library**: peer dependencies externalized in `build.rolldownOptions.external`, not bundled
34
+ - [ ] **Multi-page**: top-level `input` keys unchanged/stable if renaming was not intentional
35
35
  - [ ] **Worker/WASM**: worker message handler validates payload shape
36
36
 
37
37
  ### Testing
@@ -24,7 +24,7 @@ Detect which of the four project shapes the codebase implements, and validate it
24
24
  [ ] Identify shape: vanilla-spa | library | multi-page | worker-wasm (or a combination)
25
25
  [ ] index.html present at project root as a SOURCE file (not under public/) — vanilla-spa/multi-page
26
26
  [ ] src/index.ts as the single public entry — library shape
27
- [ ] build.rollupOptions.input is an object map — multi-page shape
27
+ [ ] build.rolldownOptions.input is an object map — multi-page shape
28
28
  [ ] worker/WASM entry points use import.meta.url / ?init — worker-wasm shape
29
29
  ```
30
30
 
@@ -42,7 +42,7 @@ Detect which of the four project shapes the codebase implements, and validate it
42
42
  ```
43
43
  [ ] Vanilla SPA: single index.html, <script type="module" src="/src/main.ts">
44
44
  [ ] Library: build.lib.entry points to src/index.ts, formats include 'es' and 'cjs'
45
- [ ] MPA: build.rollupOptions.input keys are stable, kebab-case, match folder/file names
45
+ [ ] MPA: build.rolldownOptions.input keys are stable, kebab-case, match folder/file names
46
46
  [ ] Worker/WASM: `new Worker(new URL('./x.worker.ts', import.meta.url), { type: 'module' })` pattern used (no bare string URLs)
47
47
  ```
48
48
 
@@ -57,7 +57,7 @@ Detect which of the four project shapes the codebase implements, and validate it
57
57
  ### 5. Dependency Externalization (library shape)
58
58
 
59
59
  ```
60
- [ ] Peer dependencies declared in package.json AND in build.rollupOptions.external
60
+ [ ] Peer dependencies declared in package.json AND in build.rolldownOptions.external
61
61
  [ ] package.json "exports" map covers both import and require conditions
62
62
  [ ] "sideEffects": false set, unless the library genuinely has side-effectful modules
63
63
  ```
@@ -118,11 +118,11 @@ Issues:
118
118
  📦 DEPENDENCY EXTERNALIZATION (if library)
119
119
  ──────────────────────────────────────────────────────────────
120
120
  Peer deps declared: X
121
- Externalized in rollupOptions.external: X/X
121
+ Externalized in rolldownOptions.external: X/X
122
122
 
123
123
  Issues:
124
124
  - "some-peer-lib" bundled into dist/ instead of externalized
125
- → Add to peerDependencies AND build.rollupOptions.external
125
+ → Add to peerDependencies AND build.rolldownOptions.external
126
126
 
127
127
  📤 OUTPUT STRUCTURE
128
128
  ──────────────────────────────────────────────────────────────
@@ -39,7 +39,7 @@ Confirm the library builds to ES + CJS + `.d.ts`, peer dependencies are correctl
39
39
  ### 3. Dependency Externalization
40
40
 
41
41
  ```
42
- [ ] Every peer dependency appears in BOTH package.json "peerDependencies" AND build.rollupOptions.external
42
+ [ ] Every peer dependency appears in BOTH package.json "peerDependencies" AND build.rolldownOptions.external
43
43
  [ ] No peer dependency's code is present in the built dist/ bundle (verify by inspecting dist/ output or the bundle-visualizer report)
44
44
  [ ] Regular (non-peer) dependencies are intentionally bundled, not accidentally externalized
45
45
  ```
@@ -95,7 +95,7 @@ Status: ✅ CLEAN | ❌ LEAKS FOUND
95
95
 
96
96
  Findings:
97
97
  [🔴 HIGH] "some-peer-lib" bundled into dist/my-lib.js
98
- Fix: Add to peerDependencies and build.rollupOptions.external
98
+ Fix: Add to peerDependencies and build.rolldownOptions.external
99
99
 
100
100
  🗂️ PACKAGE.JSON EXPORTS MAP
101
101
  ──────────────────────────────────────────────────────────────
@@ -156,7 +156,7 @@ export default defineConfig({
156
156
  formats: ['es', 'cjs'],
157
157
  fileName: (format) => `my-lib.${format === 'es' ? 'js' : 'cjs'}`,
158
158
  },
159
- rollupOptions: {
159
+ rolldownOptions: {
160
160
  external: ['some-peer-lib'],
161
161
  },
162
162
  },
@@ -59,12 +59,12 @@ npm install -D vite-plugin-dts
59
59
  - Move app entry logic out; create `src/index.ts` as the single public entry
60
60
  - Rewrite `vite.config.ts` using `templates/vite.config.template.ts` (library section) + `templates/library-entry.template.ts`
61
61
  - Add `"main"`, `"module"`, `"types"`, `"exports"`, `"files": ["dist"]`, `"sideEffects": false` to `package.json`
62
- - Declare any host dependency as a peer dependency, and externalize it in `build.rollupOptions.external`
62
+ - Declare any host dependency as a peer dependency, and externalize it in `build.rolldownOptions.external`
63
63
 
64
64
  ### Shape: `multi-page`
65
65
 
66
66
  - Create one HTML file per page (`about.html`, `admin/index.html`, ...) alongside `index.html`
67
- - Configure `build.rollupOptions.input` as an object map (page name → HTML path) — see `02-architecture-vite.md`, Shape 3
67
+ - Configure top-level `input` as an object map (page name → HTML path) — see `02-architecture-vite.md`, Shape 3
68
68
  - Create one `src/<page>.ts` entry per HTML page
69
69
 
70
70
  ### Shape: `worker-wasm`
@@ -58,7 +58,7 @@ project-root/
58
58
 
59
59
  ## Shape 2 — Library Authoring
60
60
 
61
- Published as an npm package. Vite bundles `src/index.ts` in **library mode** (`build.lib`), producing ES + CJS outputs plus type declarations via `vite-plugin-dts`. Peer dependencies (e.g. a host framework, if the library happens to wrap one) are excluded from the bundle via `rollupOptions.external`.
61
+ Published as an npm package. Vite bundles `src/index.ts` in **library mode** (`build.lib`), producing ES + CJS outputs plus type declarations via `vite-plugin-dts`. Peer dependencies (e.g. a host framework, if the library happens to wrap one) are excluded from the bundle via `rolldownOptions.external`.
62
62
 
63
63
  ```
64
64
  my-lib/
@@ -98,13 +98,13 @@ my-lib/
98
98
  }
99
99
  ```
100
100
 
101
- **Rule**: never bundle a peer dependency into the library output — declare it in both `peerDependencies` and `build.rollupOptions.external`, otherwise consumers end up with duplicate copies (and duplicate global state) of that dependency.
101
+ **Rule**: never bundle a peer dependency into the library output — declare it in both `peerDependencies` and `build.rolldownOptions.external`, otherwise consumers end up with duplicate copies (and duplicate global state) of that dependency.
102
102
 
103
103
  ---
104
104
 
105
105
  ## Shape 3 — Multi-Page App (MPA)
106
106
 
107
- Multiple independent HTML entry points, each with its own module graph, sharing one `vite.config.ts`. Configured via `build.rollupOptions.input` — an object mapping a page name to its HTML file.
107
+ Multiple independent HTML entry points, each with its own module graph, sharing one `vite.config.ts`. Configured via top-level `input` — an object mapping a page name to its HTML file.
108
108
 
109
109
  ```
110
110
  project-root/
@@ -130,7 +130,7 @@ import { defineConfig } from 'vite'
130
130
 
131
131
  export default defineConfig({
132
132
  build: {
133
- rollupOptions: {
133
+ rolldownOptions: {
134
134
  input: {
135
135
  main: resolve(__dirname, 'index.html'),
136
136
  about: resolve(__dirname, 'about.html'),
@@ -196,7 +196,7 @@ export async function loadImageFilter() {
196
196
  - Do not let a "library" project accumulate an `index.html` dev harness inside `src/` — keep a separate `playground/` or `demo/` folder with its own `vite.config.ts` if a local preview is needed.
197
197
 
198
198
  ### 2. Explicit Entry Points
199
- - Every HTML entry, worker, and WASM module must be reachable from the module graph via a static, analyzable reference (`rollupOptions.input`, `new URL(..., import.meta.url)`, `?init`). Dynamic string concatenation defeats Vite's static analysis.
199
+ - Every HTML entry, worker, and WASM module must be reachable from the module graph via a static, analyzable reference (`rolldownOptions.input`, `new URL(..., import.meta.url)`, `?init`). Dynamic string concatenation defeats Vite's static analysis.
200
200
 
201
201
  ### 3. Externalize What You Don't Own
202
202
  - Libraries externalize peer dependencies; apps do not — this is the one place library and app configs diverge (see `03-coding-standards.md`).
@@ -47,7 +47,7 @@ Keep top-level keys in this order for readability and diff-friendliness:
47
47
  4. `envPrefix` / `envDir` (only if overriding the `VITE_` default)
48
48
  5. `server` (dev server only)
49
49
  6. `preview` (preview server only)
50
- 7. `build` (`lib`, `rollupOptions`, `target`, `sourcemap`)
50
+ 7. `build` (`lib`, `rolldownOptions`, `target`, `sourcemap`)
51
51
  8. `worker` (worker-specific build options)
52
52
  9. `test` (Vitest — co-located, not a separate `vitest.config.ts`, unless the project needs a workspace)
53
53
 
@@ -26,7 +26,7 @@ npm create vite@latest my-app -- --template lit-ts
26
26
  npm create vite@latest my-app -- --template lit
27
27
  ```
28
28
 
29
- After scaffolding a **library**, discard the generated `index.html`/dev harness pattern in favor of the library layout described in `02-architecture-vite.md` — `create vite` templates always scaffold an app shape, never a library shape, so library projects need manual `vite.config.ts` adjustments (`build.lib`, `vite-plugin-dts`, `rollupOptions.external`).
29
+ After scaffolding a **library**, discard the generated `index.html`/dev harness pattern in favor of the library layout described in `02-architecture-vite.md` — `create vite` templates always scaffold an app shape, never a library shape, so library projects need manual `vite.config.ts` adjustments (`build.lib`, `vite-plugin-dts`, `rolldownOptions.external`).
30
30
 
31
31
  ## Environment API (Vite 6+)
32
32
 
@@ -105,7 +105,7 @@ if (import.meta.hot) {
105
105
 
106
106
  As of Vite 8, the **Rolldown**-powered bundler is the default build engine (previously an opt-in `rolldown-vite` package in Vite 6/7). Practical consequences for framework-agnostic projects:
107
107
 
108
- - `build.rollupOptions` config keys still work for the parts of the API Rolldown re-implements (e.g. `input`, `external`), but some Rollup-specific output options changed shape — notably `output.manualChunks` as an **object** is removed; use `build.rolldownOptions.output.codeSplitting.groups` instead (see `08-quality-tools.md` for a full example).
108
+ - `build.rollupOptions` is **deprecated** since Vite 8 (alias of `build.rolldownOptions`; same for `worker.rollupOptions` and `optimizeDeps.esbuildOptions` → `optimizeDeps.rolldownOptions`) — migrate to `rolldownOptions` (e.g. `input`, `external`), but some Rollup-specific output options changed shape — notably `output.manualChunks` as an **object** is removed; use `build.rolldownOptions.output.codeSplitting.groups` instead (see `08-quality-tools.md` for a full example).
109
109
  - Library builds (`build.lib`) and `vite-plugin-dts` both work unchanged under Rolldown.
110
110
  - If a project depends on a Rollup-only plugin that hasn't been ported, Rolldown can be disabled per-project (consult the current Vite release notes for the opt-out flag, since this is expected to be phased out over time) — treat this as a temporary escape hatch, not a long-term config.
111
111
 
@@ -154,7 +154,7 @@ describe('loadImageFilter', () => {
154
154
 
155
155
  ## Testing Library Build Output
156
156
 
157
- A library's unit tests exercise the **source** (`src/`); a separate smoke test confirms the **published build** (`dist/`) is actually importable and shaped correctly — this catches `rollupOptions.external` misconfigurations and broken `exports` maps that source-level tests cannot see.
157
+ A library's unit tests exercise the **source** (`src/`); a separate smoke test confirms the **published build** (`dist/`) is actually importable and shaped correctly — this catches `rolldownOptions.external` misconfigurations and broken `exports` maps that source-level tests cannot see.
158
158
 
159
159
  ```typescript
160
160
  // test/build-output.test.ts — run AFTER `vite build`, not part of the regular unit suite
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## OWASP Top 10:2025 Focus Areas for This Stack
6
6
 
7
- ### A05:2025 - Security Misconfiguration — `envPrefix` / `define()` Secret Leakage
7
+ ### A02:2025 - Security Misconfiguration — `envPrefix` / `define()` Secret Leakage
8
8
 
9
9
  Vite inlines any environment variable matching `envPrefix` (default: `VITE_`) directly into the **client** bundle at build time, as plain-text string replacement — there is no runtime secret-fetch, no server boundary. The same is true of anything passed through `define()`. Both are permanent, public leaks once shipped: a value baked into a bundle by `define()` or `VITE_*` is retrievable by anyone who downloads the JS file, forever (until the artifact is rebuilt and redeployed).
10
10
 
@@ -38,7 +38,7 @@ VITE_API_BASE_URL=https://api.example.com // public endpoint, fine to expose
38
38
 
39
39
  **Custom `envPrefix`**: if a project sets `envPrefix: ['PUBLIC_', 'APP_']` to move away from the `VITE_` convention, audit the prefix change itself — a broader or misconfigured prefix (e.g. accidentally matching `SECRET_` too) silently starts exposing variables that were previously safe by not matching the default `VITE_` filter.
40
40
 
41
- ### A05:2025 - Security Misconfiguration — CSP for Multi-Page Apps
41
+ ### A02:2025 - Security Misconfiguration — CSP for Multi-Page Apps
42
42
 
43
43
  Each HTML entry point in an MPA (Shape 3) is a separate document with its own `<head>` — a CSP `<meta>` tag added to `index.html` does **not** propagate to `admin/index.html` or `about.html`. Either template the CSP meta tag into every HTML entry consistently, or (preferred) set it once via server response headers so it applies uniformly regardless of which entry is served.
44
44
 
@@ -66,7 +66,7 @@ export default defineConfig({
66
66
 
67
67
  **Rule**: for a multi-page app, verify the CSP (or its equivalent header configuration on the production host) against *every* entry, not just the root `index.html` — a common gap is a hardened root page next to an `admin/index.html` that was scaffolded later and never got the same treatment.
68
68
 
69
- ### A05:2025 - Security Misconfiguration — WASM Sandboxing
69
+ ### A02:2025 - Security Misconfiguration — WASM Sandboxing
70
70
 
71
71
  A WebAssembly module loaded via the `?init` suffix runs inside the **same** JavaScript sandbox as the rest of the page — it gains no elevated OS-level privileges, but it does share the page's origin and any capabilities explicitly passed to it through the imports object. Two practical implications:
72
72
 
@@ -87,7 +87,7 @@ export default defineConfig({
87
87
 
88
88
  **Rule**: never grant a WASM module's imports object a host function it doesn't need (e.g. a raw `fetch` or filesystem-like capability) just because it's convenient — the imports object is the module's entire capability surface; treat it like a permissions list, not a utility bag.
89
89
 
90
- ### A03:2025 - Injection — Worker Message Contracts
90
+ ### A05:2025 - Injection — Worker Message Contracts
91
91
 
92
92
  A Web Worker (Shape 4) receiving untrusted `postMessage` payloads (e.g. data forwarded from a third-party iframe, or attacker-influenced input) must validate the message shape before acting on it — `onmessage` has no built-in origin check when the worker is same-document, but if a worker is ever exposed to `postMessage` from other windows/origins, validate `event.origin` before trusting `event.data`.
93
93
 
@@ -12,7 +12,7 @@ export type { {{PublicType}}, {{PublicOptions}} } from './core/{{public-module}}
12
12
  // export * as {{subArea}} from './{{sub-area}}'
13
13
 
14
14
  // ============================================================================
15
- // vite.config.ts — build.lib entry + rollupOptions.external example
15
+ // vite.config.ts — build.lib entry + rolldownOptions.external example
16
16
  // ============================================================================
17
17
  //
18
18
  // import { resolve } from 'node:path'
@@ -27,7 +27,7 @@ export type { {{PublicType}}, {{PublicOptions}} } from './core/{{public-module}}
27
27
  // formats: ['es', 'cjs'],
28
28
  // fileName: (format) => `{{PACKAGE_NAME}}.${format === 'es' ? 'js' : 'cjs'}`,
29
29
  // },
30
- // rollupOptions: {
30
+ // rolldownOptions: {
31
31
  // // Peer deps: declared in package.json "peerDependencies" AND excluded
32
32
  // // from the bundle here — never both bundle AND declare as a peer dep.
33
33
  // external: ['{{peer-dependency-name}}', /^{{peer-dependency-name}}\//],
@@ -59,14 +59,14 @@ export default defineConfig(({ mode, command }) => ({
59
59
  // formats: ['es', 'cjs'],
60
60
  // fileName: (format) => `{{PACKAGE_NAME}}.${format === 'es' ? 'js' : 'cjs'}`,
61
61
  // },
62
- // rollupOptions: {
62
+ // rolldownOptions: {
63
63
  // external: [/* peer deps, e.g. 'some-peer-lib' */],
64
64
  // },
65
65
 
66
66
  // ============================================================
67
67
  // {{SHAPE: multi-page}} — object map of page name -> HTML path
68
68
  // ============================================================
69
- // rollupOptions: {
69
+ // rolldownOptions: {
70
70
  // input: {
71
71
  // main: resolve(__dirname, 'index.html'),
72
72
  // about: resolve(__dirname, 'about.html'),
@@ -277,7 +277,7 @@ auto-install-peers=true
277
277
  pnpm install
278
278
 
279
279
  # Add dependency
280
- pnpm add vue-router pinia
280
+ pnpm add vue-router pinia @vue/devtools-api
281
281
 
282
282
  # Add dev dependency
283
283
  pnpm add -D vitest @vue/test-utils
@@ -349,7 +349,8 @@ const router = createRouter({ history: createWebHistory() });
349
349
  "dependencies": {
350
350
  "vue": "^3.5.0",
351
351
  "vue-router": "^5.0.0",
352
- "pinia": "^3.0.0"
352
+ "pinia": "^4.0.0",
353
+ "@vue/devtools-api": "^8.0.0"
353
354
  },
354
355
  "devDependencies": {
355
356
  "@types/node": "^20.0.0",
@@ -46,8 +46,8 @@ Ist der Zustand synchron und wird für das Rendering verwendet?
46
46
 
47
47
  **Zoneless als Standard (stabil) :**
48
48
  - ~33 KB Bundle-Einsparung (Zone.js optional)
49
- - +30-40% Rendering-Performance-Verbesserung laut Angular DevRel
50
- - Stabile API: `provideZonelessChangeDetection()` aus `@angular/core` (nicht mehr `Experimental`)
49
+ - Performance-Gewinne variieren je nach Anwendung (die Zahl „+30-40 %“ stammt aus einer Quelle von 2024): messen, nicht annehmen
50
+ - Kein Provider ab v21/v22 erforderlich: `provideZonelessChangeDetection()` wird nur in v20 benötigt (https://angular.dev/guide/zoneless)
51
51
 
52
52
  **Signal Forms (stabil v22) :**
53
53
  - Natives signal-basiertes Alternative zu Reactive Forms, **produktionsreif**
@@ -421,7 +421,7 @@ Verwendet die Anwendung Zoneless Change Detection?
421
421
  JA --> Lösen Event-Listener die CD korrekt aus?
422
422
  NEIN --> Wird Zone.js verwendet?
423
423
  JA --> GERINGFÜGIG in v22+: Migration zu Zoneless empfohlen (spart ~33 KB)
424
- NEIN --> Sicherstellen, dass provideZonelessChangeDetection() konfiguriert ist (stabil seit v20.2)
424
+ NEIN --> Sicherstellen, dass kein provideZoneChangeDetection() Zone.js reaktiviert (zoneless standardmäßig seit v21)
425
425
 
426
426
  Wird httpResource() für repetitive HTTP-Anfragen verwendet?
427
427
  NEIN --> Verwenden Komponenten signal + effect + HttpClient?
@@ -7,6 +7,20 @@ maxTurns: 8
7
7
  tools: [Read, Glob, Grep, Edit, Write, Bash, WebFetch, WebSearch]
8
8
  permissionMode: default
9
9
  skills: [security, git-workflow]
10
+ disallowedTools:
11
+ - "Bash(rm -rf:*)"
12
+ - "Bash(dd:*)"
13
+ - "Bash(mkfs:*)"
14
+ - "Bash(kubectl delete:*)"
15
+ - "Bash(helm uninstall:*)"
16
+ - "Bash(terraform destroy:*)"
17
+ - "Bash(tofu destroy:*)"
18
+ - "Bash(docker system prune -a*)"
19
+ - "Bash(docker volume rm:*)"
20
+ - "Bash(curl * | sh*)"
21
+ - "Bash(wget * | sh*)"
22
+ - "Bash(git push --force*)"
23
+ - "Bash(git push -f*)"
10
24
  ---
11
25
 
12
26
  # DevOps Engineer Agent
@@ -31,7 +45,7 @@ Sie sind ein **Senior DevOps Engineer** mit über 10 Jahren Erfahrung in CI/CD,
31
45
  | Docker | Multi-Stage-Builds, Image-Optimierung, Security-Scanning |
32
46
  | Docker Compose | Lokale Orchestrierung, Profiles, Extensions |
33
47
  | Kubernetes | Deployments, Services, Ingress, ConfigMaps, Secrets |
34
- | Helm | Charts, Values, Templating | 4.2.0 (MAJOR — Server-Side Apply, WASM-Plugins, API v4 ; Helm 3 Sicherheits-EOL Nov. 2026) |
48
+ | Helm | Charts, Values, Templating | 4.2.2 (Helm 4 = MAJOR — Server-Side Apply, WASM-Plugins, API v4 ; Helm 3 Sicherheits-EOL Nov. 2026) |
35
49
 
36
50
  ### Cloud-Provider
37
51
  | Provider | Services |
@@ -5,8 +5,19 @@ model: opus
5
5
  effort: xhigh
6
6
  maxTurns: 10
7
7
  memory: user
8
- tools: [Read, Glob, Grep, Edit, Write, Bash, Task, WebFetch, WebSearch]
8
+ tools: [Read, Glob, Grep, Edit, Write, Bash, Agent, WebFetch, WebSearch]
9
9
  permissionMode: default
10
+ disallowedTools:
11
+ - "Bash(rm -rf:*)"
12
+ - "Bash(dd:*)"
13
+ - "Bash(mkfs:*)"
14
+ - "Bash(:(){:|:&};:*)"
15
+ - "Bash(sudo:*)"
16
+ - "Bash(chmod 777:*)"
17
+ - "Bash(curl * | sh*)"
18
+ - "Bash(wget * | sh*)"
19
+ - "Bash(git push --force*)"
20
+ - "Bash(git push -f*)"
10
21
  ---
11
22
 
12
23
  # Ralph Conductor Agent v2.0