@the-bearded-bear/claude-craft 3.4.0 → 3.5.0-next.0f69fca

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 (544) hide show
  1. package/Dev/i18n/de/Common/skills/documentation/SKILL.md +1 -1
  2. package/Dev/i18n/de/Common/skills/git-workflow/SKILL.md +1 -1
  3. package/Dev/i18n/de/Common/skills/kiss-dry-yagni/SKILL.md +1 -1
  4. package/Dev/i18n/de/Common/skills/security/SKILL.md +1 -1
  5. package/Dev/i18n/de/Common/skills/solid-principles/SKILL.md +1 -1
  6. package/Dev/i18n/de/Common/skills/testing/SKILL.md +1 -1
  7. package/Dev/i18n/de/Common/skills/workflow-analysis/SKILL.md +1 -1
  8. package/Dev/i18n/de/Common/templates/CLAUDE.md.template +56 -39
  9. package/Dev/i18n/de/Flutter/skills/architecture/SKILL.md +1 -1
  10. package/Dev/i18n/de/Flutter/skills/coding-standards/SKILL.md +1 -1
  11. package/Dev/i18n/de/Flutter/skills/performance/SKILL.md +1 -1
  12. package/Dev/i18n/de/Flutter/skills/quality-tools/SKILL.md +1 -1
  13. package/Dev/i18n/de/Flutter/skills/security-flutter/SKILL.md +1 -1
  14. package/Dev/i18n/de/Flutter/skills/state-management/SKILL.md +1 -1
  15. package/Dev/i18n/de/Flutter/skills/testing-flutter/SKILL.md +1 -1
  16. package/Dev/i18n/de/Flutter/skills/tooling/SKILL.md +1 -1
  17. package/Dev/i18n/de/Python/skills/architecture/SKILL.md +1 -1
  18. package/Dev/i18n/de/Python/skills/coding-standards/SKILL.md +1 -1
  19. package/Dev/i18n/de/Python/skills/testing-python/SKILL.md +1 -1
  20. package/Dev/i18n/de/Python/skills/tooling/SKILL.md +1 -1
  21. package/Dev/i18n/de/React/skills/architecture/SKILL.md +1 -1
  22. package/Dev/i18n/de/React/skills/coding-standards/SKILL.md +1 -1
  23. package/Dev/i18n/de/React/skills/quality-tools/SKILL.md +1 -1
  24. package/Dev/i18n/de/React/skills/security-react/SKILL.md +1 -1
  25. package/Dev/i18n/de/React/skills/testing-react/SKILL.md +1 -1
  26. package/Dev/i18n/de/React/skills/tooling/SKILL.md +1 -1
  27. package/Dev/i18n/de/ReactNative/skills/architecture/SKILL.md +1 -1
  28. package/Dev/i18n/de/ReactNative/skills/coding-standards/SKILL.md +1 -1
  29. package/Dev/i18n/de/ReactNative/skills/navigation/SKILL.md +1 -1
  30. package/Dev/i18n/de/ReactNative/skills/performance/SKILL.md +1 -1
  31. package/Dev/i18n/de/ReactNative/skills/quality-tools/SKILL.md +1 -1
  32. package/Dev/i18n/de/ReactNative/skills/security-reactnative/SKILL.md +1 -1
  33. package/Dev/i18n/de/ReactNative/skills/state-management/SKILL.md +1 -1
  34. package/Dev/i18n/de/ReactNative/skills/testing-reactnative/SKILL.md +1 -1
  35. package/Dev/i18n/de/ReactNative/skills/tooling/SKILL.md +1 -1
  36. package/Dev/i18n/de/Symfony/skills/aggregates/SKILL.md +1 -1
  37. package/Dev/i18n/de/Symfony/skills/architecture-clean-ddd/SKILL.md +1 -1
  38. package/Dev/i18n/de/Symfony/skills/async/SKILL.md +1 -1
  39. package/Dev/i18n/de/Symfony/skills/coding-standards/SKILL.md +1 -1
  40. package/Dev/i18n/de/Symfony/skills/cqrs/SKILL.md +1 -1
  41. package/Dev/i18n/de/Symfony/skills/ddd-patterns/SKILL.md +1 -1
  42. package/Dev/i18n/de/Symfony/skills/docker-hadolint/SKILL.md +1 -1
  43. package/Dev/i18n/de/Symfony/skills/doctrine-extensions/SKILL.md +1 -1
  44. package/Dev/i18n/de/Symfony/skills/domain-events/SKILL.md +1 -1
  45. package/Dev/i18n/de/Symfony/skills/i18n/SKILL.md +1 -1
  46. package/Dev/i18n/de/Symfony/skills/multitenant/SKILL.md +1 -1
  47. package/Dev/i18n/de/Symfony/skills/performance/SKILL.md +1 -1
  48. package/Dev/i18n/de/Symfony/skills/quality-tools/SKILL.md +1 -1
  49. package/Dev/i18n/de/Symfony/skills/security-symfony/SKILL.md +1 -1
  50. package/Dev/i18n/de/Symfony/skills/testing-symfony/SKILL.md +1 -1
  51. package/Dev/i18n/de/Symfony/skills/value-objects/SKILL.md +1 -1
  52. package/Dev/i18n/en/Common/skills/documentation/SKILL.md +1 -1
  53. package/Dev/i18n/en/Common/skills/git-workflow/SKILL.md +1 -1
  54. package/Dev/i18n/en/Common/skills/kiss-dry-yagni/SKILL.md +1 -1
  55. package/Dev/i18n/en/Common/skills/security/SKILL.md +1 -1
  56. package/Dev/i18n/en/Common/skills/solid-principles/SKILL.md +1 -1
  57. package/Dev/i18n/en/Common/skills/testing/SKILL.md +1 -1
  58. package/Dev/i18n/en/Common/skills/workflow-analysis/SKILL.md +1 -1
  59. package/Dev/i18n/en/Flutter/skills/architecture/SKILL.md +1 -1
  60. package/Dev/i18n/en/Flutter/skills/coding-standards/SKILL.md +1 -1
  61. package/Dev/i18n/en/Flutter/skills/performance/SKILL.md +1 -1
  62. package/Dev/i18n/en/Flutter/skills/quality-tools/SKILL.md +1 -1
  63. package/Dev/i18n/en/Flutter/skills/security-flutter/SKILL.md +1 -1
  64. package/Dev/i18n/en/Flutter/skills/state-management/SKILL.md +1 -1
  65. package/Dev/i18n/en/Flutter/skills/testing-flutter/SKILL.md +1 -1
  66. package/Dev/i18n/en/Flutter/skills/tooling/SKILL.md +1 -1
  67. package/Dev/i18n/en/Python/rules/08-quality-tools.md +572 -0
  68. package/Dev/i18n/en/Python/rules/11-security-python.md +596 -0
  69. package/Dev/i18n/en/Python/skills/architecture/SKILL.md +1 -1
  70. package/Dev/i18n/en/Python/skills/coding-standards/SKILL.md +1 -1
  71. package/Dev/i18n/en/Python/skills/testing-python/SKILL.md +1 -1
  72. package/Dev/i18n/en/Python/skills/tooling/SKILL.md +1 -1
  73. package/Dev/i18n/en/React/skills/architecture/SKILL.md +1 -1
  74. package/Dev/i18n/en/React/skills/coding-standards/SKILL.md +1 -1
  75. package/Dev/i18n/en/React/skills/quality-tools/SKILL.md +1 -1
  76. package/Dev/i18n/en/React/skills/security-react/SKILL.md +1 -1
  77. package/Dev/i18n/en/React/skills/testing-react/SKILL.md +1 -1
  78. package/Dev/i18n/en/React/skills/tooling/SKILL.md +1 -1
  79. package/Dev/i18n/en/ReactNative/skills/architecture/SKILL.md +1 -1
  80. package/Dev/i18n/en/ReactNative/skills/coding-standards/SKILL.md +1 -1
  81. package/Dev/i18n/en/ReactNative/skills/navigation/SKILL.md +1 -1
  82. package/Dev/i18n/en/ReactNative/skills/performance/SKILL.md +1 -1
  83. package/Dev/i18n/en/ReactNative/skills/quality-tools/SKILL.md +1 -1
  84. package/Dev/i18n/en/ReactNative/skills/security-reactnative/SKILL.md +1 -1
  85. package/Dev/i18n/en/ReactNative/skills/state-management/SKILL.md +1 -1
  86. package/Dev/i18n/en/ReactNative/skills/testing-reactnative/SKILL.md +1 -1
  87. package/Dev/i18n/en/ReactNative/skills/tooling/SKILL.md +1 -1
  88. package/Dev/i18n/en/Symfony/skills/aggregates/SKILL.md +1 -1
  89. package/Dev/i18n/en/Symfony/skills/architecture-clean-ddd/SKILL.md +1 -1
  90. package/Dev/i18n/en/Symfony/skills/async/SKILL.md +1 -1
  91. package/Dev/i18n/en/Symfony/skills/coding-standards/SKILL.md +1 -1
  92. package/Dev/i18n/en/Symfony/skills/cqrs/SKILL.md +1 -1
  93. package/Dev/i18n/en/Symfony/skills/ddd-patterns/SKILL.md +1 -1
  94. package/Dev/i18n/en/Symfony/skills/docker-hadolint/SKILL.md +1 -1
  95. package/Dev/i18n/en/Symfony/skills/doctrine-extensions/SKILL.md +1 -1
  96. package/Dev/i18n/en/Symfony/skills/domain-events/SKILL.md +1 -1
  97. package/Dev/i18n/en/Symfony/skills/i18n/SKILL.md +1 -1
  98. package/Dev/i18n/en/Symfony/skills/multitenant/SKILL.md +1 -1
  99. package/Dev/i18n/en/Symfony/skills/performance/SKILL.md +1 -1
  100. package/Dev/i18n/en/Symfony/skills/quality-tools/SKILL.md +1 -1
  101. package/Dev/i18n/en/Symfony/skills/security-symfony/SKILL.md +1 -1
  102. package/Dev/i18n/en/Symfony/skills/testing-symfony/SKILL.md +1 -1
  103. package/Dev/i18n/en/Symfony/skills/value-objects/SKILL.md +1 -1
  104. package/Dev/i18n/es/Common/skills/documentation/SKILL.md +1 -1
  105. package/Dev/i18n/es/Common/skills/git-workflow/SKILL.md +1 -1
  106. package/Dev/i18n/es/Common/skills/kiss-dry-yagni/SKILL.md +1 -1
  107. package/Dev/i18n/es/Common/skills/security/SKILL.md +1 -1
  108. package/Dev/i18n/es/Common/skills/solid-principles/SKILL.md +1 -1
  109. package/Dev/i18n/es/Common/skills/testing/SKILL.md +1 -1
  110. package/Dev/i18n/es/Common/skills/workflow-analysis/SKILL.md +1 -1
  111. package/Dev/i18n/es/Common/templates/CLAUDE.md.template +57 -40
  112. package/Dev/i18n/es/Flutter/skills/architecture/SKILL.md +1 -1
  113. package/Dev/i18n/es/Flutter/skills/coding-standards/SKILL.md +1 -1
  114. package/Dev/i18n/es/Flutter/skills/performance/SKILL.md +1 -1
  115. package/Dev/i18n/es/Flutter/skills/quality-tools/SKILL.md +1 -1
  116. package/Dev/i18n/es/Flutter/skills/security-flutter/SKILL.md +1 -1
  117. package/Dev/i18n/es/Flutter/skills/state-management/SKILL.md +1 -1
  118. package/Dev/i18n/es/Flutter/skills/testing-flutter/SKILL.md +1 -1
  119. package/Dev/i18n/es/Flutter/skills/tooling/SKILL.md +1 -1
  120. package/Dev/i18n/es/Python/skills/architecture/SKILL.md +1 -1
  121. package/Dev/i18n/es/Python/skills/coding-standards/SKILL.md +1 -1
  122. package/Dev/i18n/es/Python/skills/testing-python/SKILL.md +1 -1
  123. package/Dev/i18n/es/Python/skills/tooling/SKILL.md +1 -1
  124. package/Dev/i18n/es/React/skills/architecture/SKILL.md +1 -1
  125. package/Dev/i18n/es/React/skills/coding-standards/SKILL.md +1 -1
  126. package/Dev/i18n/es/React/skills/quality-tools/SKILL.md +1 -1
  127. package/Dev/i18n/es/React/skills/security-react/SKILL.md +1 -1
  128. package/Dev/i18n/es/React/skills/testing-react/SKILL.md +1 -1
  129. package/Dev/i18n/es/React/skills/tooling/SKILL.md +1 -1
  130. package/Dev/i18n/es/ReactNative/skills/architecture/SKILL.md +1 -1
  131. package/Dev/i18n/es/ReactNative/skills/coding-standards/SKILL.md +1 -1
  132. package/Dev/i18n/es/ReactNative/skills/navigation/SKILL.md +1 -1
  133. package/Dev/i18n/es/ReactNative/skills/performance/SKILL.md +1 -1
  134. package/Dev/i18n/es/ReactNative/skills/quality-tools/SKILL.md +1 -1
  135. package/Dev/i18n/es/ReactNative/skills/security-reactnative/SKILL.md +1 -1
  136. package/Dev/i18n/es/ReactNative/skills/state-management/SKILL.md +1 -1
  137. package/Dev/i18n/es/ReactNative/skills/testing-reactnative/SKILL.md +1 -1
  138. package/Dev/i18n/es/ReactNative/skills/tooling/SKILL.md +1 -1
  139. package/Dev/i18n/es/Symfony/skills/aggregates/SKILL.md +1 -1
  140. package/Dev/i18n/es/Symfony/skills/architecture-clean-ddd/SKILL.md +1 -1
  141. package/Dev/i18n/es/Symfony/skills/async/SKILL.md +1 -1
  142. package/Dev/i18n/es/Symfony/skills/coding-standards/SKILL.md +1 -1
  143. package/Dev/i18n/es/Symfony/skills/cqrs/SKILL.md +1 -1
  144. package/Dev/i18n/es/Symfony/skills/ddd-patterns/SKILL.md +1 -1
  145. package/Dev/i18n/es/Symfony/skills/docker-hadolint/SKILL.md +1 -1
  146. package/Dev/i18n/es/Symfony/skills/doctrine-extensions/SKILL.md +1 -1
  147. package/Dev/i18n/es/Symfony/skills/domain-events/SKILL.md +1 -1
  148. package/Dev/i18n/es/Symfony/skills/i18n/SKILL.md +1 -1
  149. package/Dev/i18n/es/Symfony/skills/multitenant/SKILL.md +1 -1
  150. package/Dev/i18n/es/Symfony/skills/performance/SKILL.md +1 -1
  151. package/Dev/i18n/es/Symfony/skills/quality-tools/SKILL.md +1 -1
  152. package/Dev/i18n/es/Symfony/skills/security-symfony/SKILL.md +1 -1
  153. package/Dev/i18n/es/Symfony/skills/testing-symfony/SKILL.md +1 -1
  154. package/Dev/i18n/es/Symfony/skills/value-objects/SKILL.md +1 -1
  155. package/Dev/i18n/fr/Common/skills/documentation/SKILL.md +1 -1
  156. package/Dev/i18n/fr/Common/skills/git-workflow/SKILL.md +1 -1
  157. package/Dev/i18n/fr/Common/skills/kiss-dry-yagni/SKILL.md +1 -1
  158. package/Dev/i18n/fr/Common/skills/security/SKILL.md +1 -1
  159. package/Dev/i18n/fr/Common/skills/solid-principles/SKILL.md +1 -1
  160. package/Dev/i18n/fr/Common/skills/testing/SKILL.md +1 -1
  161. package/Dev/i18n/fr/Common/skills/workflow-analysis/SKILL.md +1 -1
  162. package/Dev/i18n/fr/Common/templates/CLAUDE.md.template +56 -39
  163. package/Dev/i18n/fr/Flutter/skills/architecture/SKILL.md +1 -1
  164. package/Dev/i18n/fr/Flutter/skills/coding-standards/SKILL.md +1 -1
  165. package/Dev/i18n/fr/Flutter/skills/performance/SKILL.md +1 -1
  166. package/Dev/i18n/fr/Flutter/skills/quality-tools/SKILL.md +1 -1
  167. package/Dev/i18n/fr/Flutter/skills/security-flutter/SKILL.md +1 -1
  168. package/Dev/i18n/fr/Flutter/skills/state-management/SKILL.md +1 -1
  169. package/Dev/i18n/fr/Flutter/skills/testing-flutter/SKILL.md +1 -1
  170. package/Dev/i18n/fr/Flutter/skills/tooling/SKILL.md +1 -1
  171. package/Dev/i18n/fr/Python/skills/architecture/SKILL.md +1 -1
  172. package/Dev/i18n/fr/Python/skills/coding-standards/SKILL.md +1 -1
  173. package/Dev/i18n/fr/Python/skills/testing-python/SKILL.md +1 -1
  174. package/Dev/i18n/fr/Python/skills/tooling/SKILL.md +1 -1
  175. package/Dev/i18n/fr/React/skills/architecture/SKILL.md +1 -1
  176. package/Dev/i18n/fr/React/skills/coding-standards/SKILL.md +1 -1
  177. package/Dev/i18n/fr/React/skills/quality-tools/SKILL.md +1 -1
  178. package/Dev/i18n/fr/React/skills/security-react/SKILL.md +1 -1
  179. package/Dev/i18n/fr/React/skills/testing-react/SKILL.md +1 -1
  180. package/Dev/i18n/fr/React/skills/tooling/SKILL.md +1 -1
  181. package/Dev/i18n/fr/ReactNative/skills/architecture/SKILL.md +1 -1
  182. package/Dev/i18n/fr/ReactNative/skills/coding-standards/SKILL.md +1 -1
  183. package/Dev/i18n/fr/ReactNative/skills/navigation/SKILL.md +1 -1
  184. package/Dev/i18n/fr/ReactNative/skills/performance/SKILL.md +1 -1
  185. package/Dev/i18n/fr/ReactNative/skills/quality-tools/SKILL.md +1 -1
  186. package/Dev/i18n/fr/ReactNative/skills/security-reactnative/SKILL.md +1 -1
  187. package/Dev/i18n/fr/ReactNative/skills/state-management/SKILL.md +1 -1
  188. package/Dev/i18n/fr/ReactNative/skills/testing-reactnative/SKILL.md +1 -1
  189. package/Dev/i18n/fr/ReactNative/skills/tooling/SKILL.md +1 -1
  190. package/Dev/i18n/fr/Symfony/skills/aggregates/SKILL.md +1 -1
  191. package/Dev/i18n/fr/Symfony/skills/architecture-clean-ddd/SKILL.md +1 -1
  192. package/Dev/i18n/fr/Symfony/skills/async/SKILL.md +1 -1
  193. package/Dev/i18n/fr/Symfony/skills/coding-standards/SKILL.md +1 -1
  194. package/Dev/i18n/fr/Symfony/skills/cqrs/SKILL.md +1 -1
  195. package/Dev/i18n/fr/Symfony/skills/ddd-patterns/SKILL.md +1 -1
  196. package/Dev/i18n/fr/Symfony/skills/docker-hadolint/SKILL.md +1 -1
  197. package/Dev/i18n/fr/Symfony/skills/doctrine-extensions/SKILL.md +1 -1
  198. package/Dev/i18n/fr/Symfony/skills/domain-events/SKILL.md +1 -1
  199. package/Dev/i18n/fr/Symfony/skills/i18n/SKILL.md +1 -1
  200. package/Dev/i18n/fr/Symfony/skills/multitenant/SKILL.md +1 -1
  201. package/Dev/i18n/fr/Symfony/skills/performance/SKILL.md +1 -1
  202. package/Dev/i18n/fr/Symfony/skills/quality-tools/SKILL.md +1 -1
  203. package/Dev/i18n/fr/Symfony/skills/security-symfony/SKILL.md +1 -1
  204. package/Dev/i18n/fr/Symfony/skills/testing-symfony/SKILL.md +1 -1
  205. package/Dev/i18n/fr/Symfony/skills/value-objects/SKILL.md +1 -1
  206. package/Dev/i18n/pt/Common/skills/documentation/SKILL.md +1 -1
  207. package/Dev/i18n/pt/Common/skills/git-workflow/SKILL.md +1 -1
  208. package/Dev/i18n/pt/Common/skills/kiss-dry-yagni/SKILL.md +1 -1
  209. package/Dev/i18n/pt/Common/skills/security/SKILL.md +1 -1
  210. package/Dev/i18n/pt/Common/skills/solid-principles/SKILL.md +1 -1
  211. package/Dev/i18n/pt/Common/skills/testing/SKILL.md +1 -1
  212. package/Dev/i18n/pt/Common/skills/workflow-analysis/SKILL.md +1 -1
  213. package/Dev/i18n/pt/Common/templates/CLAUDE.md.template +56 -39
  214. package/Dev/i18n/pt/Flutter/skills/architecture/SKILL.md +1 -1
  215. package/Dev/i18n/pt/Flutter/skills/coding-standards/SKILL.md +1 -1
  216. package/Dev/i18n/pt/Flutter/skills/performance/SKILL.md +1 -1
  217. package/Dev/i18n/pt/Flutter/skills/quality-tools/SKILL.md +1 -1
  218. package/Dev/i18n/pt/Flutter/skills/security-flutter/SKILL.md +1 -1
  219. package/Dev/i18n/pt/Flutter/skills/state-management/SKILL.md +1 -1
  220. package/Dev/i18n/pt/Flutter/skills/tooling/SKILL.md +1 -1
  221. package/Dev/i18n/pt/Python/skills/architecture/SKILL.md +1 -1
  222. package/Dev/i18n/pt/Python/skills/coding-standards/SKILL.md +1 -1
  223. package/Dev/i18n/pt/Python/skills/testing-python/SKILL.md +1 -1
  224. package/Dev/i18n/pt/Python/skills/tooling/SKILL.md +1 -1
  225. package/Dev/i18n/pt/React/skills/architecture/SKILL.md +1 -1
  226. package/Dev/i18n/pt/React/skills/coding-standards/SKILL.md +1 -1
  227. package/Dev/i18n/pt/React/skills/quality-tools/SKILL.md +1 -1
  228. package/Dev/i18n/pt/React/skills/security-react/SKILL.md +1 -1
  229. package/Dev/i18n/pt/React/skills/testing-react/SKILL.md +1 -1
  230. package/Dev/i18n/pt/React/skills/tooling/SKILL.md +1 -1
  231. package/Dev/i18n/pt/ReactNative/skills/architecture/SKILL.md +1 -1
  232. package/Dev/i18n/pt/ReactNative/skills/coding-standards/SKILL.md +1 -1
  233. package/Dev/i18n/pt/ReactNative/skills/navigation/SKILL.md +1 -1
  234. package/Dev/i18n/pt/ReactNative/skills/performance/SKILL.md +1 -1
  235. package/Dev/i18n/pt/ReactNative/skills/quality-tools/SKILL.md +1 -1
  236. package/Dev/i18n/pt/ReactNative/skills/security-reactnative/SKILL.md +1 -1
  237. package/Dev/i18n/pt/ReactNative/skills/state-management/SKILL.md +1 -1
  238. package/Dev/i18n/pt/ReactNative/skills/testing-reactnative/SKILL.md +1 -1
  239. package/Dev/i18n/pt/ReactNative/skills/tooling/SKILL.md +1 -1
  240. package/Dev/i18n/pt/Symfony/skills/aggregates/SKILL.md +1 -1
  241. package/Dev/i18n/pt/Symfony/skills/architecture-clean-ddd/SKILL.md +1 -1
  242. package/Dev/i18n/pt/Symfony/skills/async/SKILL.md +1 -1
  243. package/Dev/i18n/pt/Symfony/skills/coding-standards/SKILL.md +1 -1
  244. package/Dev/i18n/pt/Symfony/skills/cqrs/SKILL.md +1 -1
  245. package/Dev/i18n/pt/Symfony/skills/ddd-patterns/SKILL.md +1 -1
  246. package/Dev/i18n/pt/Symfony/skills/docker-hadolint/SKILL.md +1 -1
  247. package/Dev/i18n/pt/Symfony/skills/doctrine-extensions/SKILL.md +1 -1
  248. package/Dev/i18n/pt/Symfony/skills/domain-events/SKILL.md +1 -1
  249. package/Dev/i18n/pt/Symfony/skills/i18n/SKILL.md +1 -1
  250. package/Dev/i18n/pt/Symfony/skills/multitenant/SKILL.md +1 -1
  251. package/Dev/i18n/pt/Symfony/skills/performance/SKILL.md +1 -1
  252. package/Dev/i18n/pt/Symfony/skills/quality-tools/SKILL.md +1 -1
  253. package/Dev/i18n/pt/Symfony/skills/security-symfony/SKILL.md +1 -1
  254. package/Dev/i18n/pt/Symfony/skills/testing-symfony/SKILL.md +1 -1
  255. package/Dev/i18n/pt/Symfony/skills/value-objects/SKILL.md +1 -1
  256. package/Dev/scripts/install-angular-rules.sh +284 -203
  257. package/Dev/scripts/install-common-rules.sh +16 -2
  258. package/Dev/scripts/install-csharp-rules.sh +217 -193
  259. package/Dev/scripts/install-flutter-rules.sh +288 -206
  260. package/Dev/scripts/install-laravel-rules.sh +298 -209
  261. package/Dev/scripts/install-php-rules.sh +220 -206
  262. package/Dev/scripts/install-python-rules.sh +199 -200
  263. package/Dev/scripts/install-react-rules.sh +253 -204
  264. package/Dev/scripts/install-reactnative-rules.sh +275 -207
  265. package/Dev/scripts/install-symfony-rules.sh +356 -635
  266. package/Dev/scripts/install-vuejs-rules.sh +291 -300
  267. package/Dev/scripts/migrate-project.sh +3 -4
  268. package/Dev/scripts/tcl-common.sh +329 -0
  269. package/Project/i18n/de/commands/decompose-tasks.md +2 -2
  270. package/Project/i18n/de/commands/generate-backlog.md +6 -6
  271. package/Project/i18n/en/commands/decompose-tasks.md +2 -2
  272. package/Project/i18n/en/commands/generate-backlog.md +6 -6
  273. package/Project/i18n/es/commands/decompose-tasks.md +2 -2
  274. package/Project/i18n/es/commands/generate-backlog.md +6 -6
  275. package/Project/i18n/fr/commands/decompose-tasks.md +2 -2
  276. package/Project/i18n/fr/commands/generate-backlog.md +7 -7
  277. package/Project/i18n/pt/commands/decompose-tasks.md +2 -2
  278. package/Project/i18n/pt/commands/generate-backlog.md +6 -6
  279. package/README.md +30 -4
  280. package/package.json +1 -1
  281. package/Dev/i18n/de/Common/skills/documentation/REFERENCE.md +0 -555
  282. package/Dev/i18n/de/Common/skills/git-workflow/REFERENCE.md +0 -541
  283. package/Dev/i18n/de/Common/skills/kiss-dry-yagni/REFERENCE.md +0 -417
  284. package/Dev/i18n/de/Common/skills/security/REFERENCE.md +0 -540
  285. package/Dev/i18n/de/Common/skills/solid-principles/REFERENCE.md +0 -396
  286. package/Dev/i18n/de/Common/skills/testing/REFERENCE.md +0 -463
  287. package/Dev/i18n/de/Common/skills/workflow-analysis/REFERENCE.md +0 -226
  288. package/Dev/i18n/de/Flutter/skills/architecture/REFERENCE.md +0 -455
  289. package/Dev/i18n/de/Flutter/skills/coding-standards/REFERENCE.md +0 -247
  290. package/Dev/i18n/de/Flutter/skills/performance/REFERENCE.md +0 -230
  291. package/Dev/i18n/de/Flutter/skills/quality-tools/REFERENCE.md +0 -239
  292. package/Dev/i18n/de/Flutter/skills/security-flutter/REFERENCE.md +0 -247
  293. package/Dev/i18n/de/Flutter/skills/state-management/REFERENCE.md +0 -0
  294. package/Dev/i18n/de/Flutter/skills/testing-flutter/REFERENCE.md +0 -0
  295. package/Dev/i18n/de/Flutter/skills/tooling/REFERENCE.md +0 -542
  296. package/Dev/i18n/de/Python/skills/architecture/REFERENCE.md +0 -444
  297. package/Dev/i18n/de/Python/skills/coding-standards/REFERENCE.md +0 -572
  298. package/Dev/i18n/de/Python/skills/testing-python/REFERENCE.md +0 -387
  299. package/Dev/i18n/de/Python/skills/tooling/REFERENCE.md +0 -351
  300. package/Dev/i18n/de/React/skills/architecture/REFERENCE.md +0 -490
  301. package/Dev/i18n/de/React/skills/coding-standards/REFERENCE.md +0 -500
  302. package/Dev/i18n/de/React/skills/quality-tools/REFERENCE.md +0 -758
  303. package/Dev/i18n/de/React/skills/security-react/REFERENCE.md +0 -793
  304. package/Dev/i18n/de/React/skills/testing-react/REFERENCE.md +0 -999
  305. package/Dev/i18n/de/React/skills/tooling/REFERENCE.md +0 -777
  306. package/Dev/i18n/de/ReactNative/skills/architecture/REFERENCE.md +0 -1253
  307. package/Dev/i18n/de/ReactNative/skills/coding-standards/REFERENCE.md +0 -1230
  308. package/Dev/i18n/de/ReactNative/skills/navigation/REFERENCE.md +0 -601
  309. package/Dev/i18n/de/ReactNative/skills/performance/REFERENCE.md +0 -727
  310. package/Dev/i18n/de/ReactNative/skills/quality-tools/REFERENCE.md +0 -122
  311. package/Dev/i18n/de/ReactNative/skills/security-reactnative/REFERENCE.md +0 -719
  312. package/Dev/i18n/de/ReactNative/skills/state-management/REFERENCE.md +0 -607
  313. package/Dev/i18n/de/ReactNative/skills/testing-reactnative/REFERENCE.md +0 -386
  314. package/Dev/i18n/de/ReactNative/skills/tooling/REFERENCE.md +0 -281
  315. package/Dev/i18n/de/Symfony/skills/aggregates/REFERENCE.md +0 -115
  316. package/Dev/i18n/de/Symfony/skills/architecture-clean-ddd/REFERENCE.md +0 -813
  317. package/Dev/i18n/de/Symfony/skills/async/REFERENCE.md +0 -190
  318. package/Dev/i18n/de/Symfony/skills/coding-standards/REFERENCE.md +0 -402
  319. package/Dev/i18n/de/Symfony/skills/cqrs/REFERENCE.md +0 -426
  320. package/Dev/i18n/de/Symfony/skills/ddd-patterns/REFERENCE.md +0 -1220
  321. package/Dev/i18n/de/Symfony/skills/docker-hadolint/REFERENCE.md +0 -772
  322. package/Dev/i18n/de/Symfony/skills/doctrine-extensions/REFERENCE.md +0 -927
  323. package/Dev/i18n/de/Symfony/skills/domain-events/REFERENCE.md +0 -129
  324. package/Dev/i18n/de/Symfony/skills/i18n/REFERENCE.md +0 -185
  325. package/Dev/i18n/de/Symfony/skills/multitenant/REFERENCE.md +0 -432
  326. package/Dev/i18n/de/Symfony/skills/performance/REFERENCE.md +0 -888
  327. package/Dev/i18n/de/Symfony/skills/quality-tools/REFERENCE.md +0 -982
  328. package/Dev/i18n/de/Symfony/skills/security-symfony/REFERENCE.md +0 -353
  329. package/Dev/i18n/de/Symfony/skills/testing-symfony/REFERENCE.md +0 -452
  330. package/Dev/i18n/de/Symfony/skills/value-objects/REFERENCE.md +0 -536
  331. package/Dev/i18n/de/Symfony/templates/aggregate-examples.md +0 -1128
  332. package/Dev/i18n/de/Symfony/templates/domain-event-examples.md +0 -1091
  333. package/Dev/i18n/de/Symfony/templates/value-object-examples.md +0 -1129
  334. package/Dev/i18n/en/Common/skills/documentation/REFERENCE.md +0 -555
  335. package/Dev/i18n/en/Common/skills/git-workflow/REFERENCE.md +0 -541
  336. package/Dev/i18n/en/Common/skills/kiss-dry-yagni/REFERENCE.md +0 -417
  337. package/Dev/i18n/en/Common/skills/security/REFERENCE.md +0 -540
  338. package/Dev/i18n/en/Common/skills/solid-principles/REFERENCE.md +0 -396
  339. package/Dev/i18n/en/Common/skills/testing/REFERENCE.md +0 -463
  340. package/Dev/i18n/en/Common/skills/workflow-analysis/REFERENCE.md +0 -226
  341. package/Dev/i18n/en/Flutter/skills/architecture/REFERENCE.md +0 -455
  342. package/Dev/i18n/en/Flutter/skills/coding-standards/REFERENCE.md +0 -247
  343. package/Dev/i18n/en/Flutter/skills/performance/REFERENCE.md +0 -230
  344. package/Dev/i18n/en/Flutter/skills/quality-tools/REFERENCE.md +0 -239
  345. package/Dev/i18n/en/Flutter/skills/security-flutter/REFERENCE.md +0 -247
  346. package/Dev/i18n/en/Flutter/skills/state-management/REFERENCE.md +0 -0
  347. package/Dev/i18n/en/Flutter/skills/testing-flutter/REFERENCE.md +0 -0
  348. package/Dev/i18n/en/Flutter/skills/tooling/REFERENCE.md +0 -542
  349. package/Dev/i18n/en/Python/skills/architecture/REFERENCE.md +0 -444
  350. package/Dev/i18n/en/Python/skills/coding-standards/REFERENCE.md +0 -572
  351. package/Dev/i18n/en/Python/skills/testing-python/REFERENCE.md +0 -387
  352. package/Dev/i18n/en/Python/skills/tooling/REFERENCE.md +0 -351
  353. package/Dev/i18n/en/React/skills/architecture/REFERENCE.md +0 -651
  354. package/Dev/i18n/en/React/skills/coding-standards/REFERENCE.md +0 -716
  355. package/Dev/i18n/en/React/skills/quality-tools/REFERENCE.md +0 -758
  356. package/Dev/i18n/en/React/skills/security-react/REFERENCE.md +0 -793
  357. package/Dev/i18n/en/React/skills/testing-react/REFERENCE.md +0 -999
  358. package/Dev/i18n/en/React/skills/tooling/REFERENCE.md +0 -777
  359. package/Dev/i18n/en/ReactNative/skills/architecture/REFERENCE.md +0 -1253
  360. package/Dev/i18n/en/ReactNative/skills/coding-standards/REFERENCE.md +0 -1230
  361. package/Dev/i18n/en/ReactNative/skills/navigation/REFERENCE.md +0 -601
  362. package/Dev/i18n/en/ReactNative/skills/performance/REFERENCE.md +0 -727
  363. package/Dev/i18n/en/ReactNative/skills/quality-tools/REFERENCE.md +0 -122
  364. package/Dev/i18n/en/ReactNative/skills/security-reactnative/REFERENCE.md +0 -719
  365. package/Dev/i18n/en/ReactNative/skills/state-management/REFERENCE.md +0 -607
  366. package/Dev/i18n/en/ReactNative/skills/testing-reactnative/REFERENCE.md +0 -386
  367. package/Dev/i18n/en/ReactNative/skills/tooling/REFERENCE.md +0 -281
  368. package/Dev/i18n/en/Symfony/skills/aggregates/REFERENCE.md +0 -115
  369. package/Dev/i18n/en/Symfony/skills/architecture-clean-ddd/REFERENCE.md +0 -979
  370. package/Dev/i18n/en/Symfony/skills/async/REFERENCE.md +0 -190
  371. package/Dev/i18n/en/Symfony/skills/coding-standards/REFERENCE.md +0 -402
  372. package/Dev/i18n/en/Symfony/skills/cqrs/REFERENCE.md +0 -426
  373. package/Dev/i18n/en/Symfony/skills/ddd-patterns/REFERENCE.md +0 -1220
  374. package/Dev/i18n/en/Symfony/skills/docker-hadolint/REFERENCE.md +0 -767
  375. package/Dev/i18n/en/Symfony/skills/doctrine-extensions/REFERENCE.md +0 -927
  376. package/Dev/i18n/en/Symfony/skills/domain-events/REFERENCE.md +0 -129
  377. package/Dev/i18n/en/Symfony/skills/i18n/REFERENCE.md +0 -185
  378. package/Dev/i18n/en/Symfony/skills/multitenant/REFERENCE.md +0 -432
  379. package/Dev/i18n/en/Symfony/skills/performance/REFERENCE.md +0 -888
  380. package/Dev/i18n/en/Symfony/skills/quality-tools/REFERENCE.md +0 -982
  381. package/Dev/i18n/en/Symfony/skills/security-symfony/REFERENCE.md +0 -1055
  382. package/Dev/i18n/en/Symfony/skills/testing-symfony/REFERENCE.md +0 -1121
  383. package/Dev/i18n/en/Symfony/skills/value-objects/REFERENCE.md +0 -536
  384. package/Dev/i18n/en/Symfony/templates/aggregate-examples.md +0 -1128
  385. package/Dev/i18n/en/Symfony/templates/domain-event-examples.md +0 -1091
  386. package/Dev/i18n/en/Symfony/templates/value-object-examples.md +0 -1129
  387. package/Dev/i18n/es/Common/skills/documentation/REFERENCE.md +0 -555
  388. package/Dev/i18n/es/Common/skills/git-workflow/REFERENCE.md +0 -541
  389. package/Dev/i18n/es/Common/skills/kiss-dry-yagni/REFERENCE.md +0 -417
  390. package/Dev/i18n/es/Common/skills/security/REFERENCE.md +0 -540
  391. package/Dev/i18n/es/Common/skills/solid-principles/REFERENCE.md +0 -396
  392. package/Dev/i18n/es/Common/skills/testing/REFERENCE.md +0 -463
  393. package/Dev/i18n/es/Common/skills/workflow-analysis/REFERENCE.md +0 -226
  394. package/Dev/i18n/es/Flutter/skills/architecture/REFERENCE.md +0 -455
  395. package/Dev/i18n/es/Flutter/skills/coding-standards/REFERENCE.md +0 -247
  396. package/Dev/i18n/es/Flutter/skills/performance/REFERENCE.md +0 -230
  397. package/Dev/i18n/es/Flutter/skills/quality-tools/REFERENCE.md +0 -239
  398. package/Dev/i18n/es/Flutter/skills/security-flutter/REFERENCE.md +0 -247
  399. package/Dev/i18n/es/Flutter/skills/state-management/REFERENCE.md +0 -0
  400. package/Dev/i18n/es/Flutter/skills/testing-flutter/REFERENCE.md +0 -0
  401. package/Dev/i18n/es/Flutter/skills/tooling/REFERENCE.md +0 -542
  402. package/Dev/i18n/es/Python/skills/architecture/REFERENCE.md +0 -445
  403. package/Dev/i18n/es/Python/skills/coding-standards/REFERENCE.md +0 -572
  404. package/Dev/i18n/es/Python/skills/testing-python/REFERENCE.md +0 -387
  405. package/Dev/i18n/es/Python/skills/tooling/REFERENCE.md +0 -351
  406. package/Dev/i18n/es/React/skills/architecture/REFERENCE.md +0 -583
  407. package/Dev/i18n/es/React/skills/coding-standards/REFERENCE.md +0 -716
  408. package/Dev/i18n/es/React/skills/quality-tools/REFERENCE.md +0 -758
  409. package/Dev/i18n/es/React/skills/security-react/REFERENCE.md +0 -793
  410. package/Dev/i18n/es/React/skills/testing-react/REFERENCE.md +0 -999
  411. package/Dev/i18n/es/React/skills/tooling/REFERENCE.md +0 -777
  412. package/Dev/i18n/es/ReactNative/skills/architecture/REFERENCE.md +0 -1253
  413. package/Dev/i18n/es/ReactNative/skills/coding-standards/REFERENCE.md +0 -1230
  414. package/Dev/i18n/es/ReactNative/skills/navigation/REFERENCE.md +0 -601
  415. package/Dev/i18n/es/ReactNative/skills/performance/REFERENCE.md +0 -727
  416. package/Dev/i18n/es/ReactNative/skills/quality-tools/REFERENCE.md +0 -122
  417. package/Dev/i18n/es/ReactNative/skills/security-reactnative/REFERENCE.md +0 -719
  418. package/Dev/i18n/es/ReactNative/skills/state-management/REFERENCE.md +0 -607
  419. package/Dev/i18n/es/ReactNative/skills/testing-reactnative/REFERENCE.md +0 -386
  420. package/Dev/i18n/es/ReactNative/skills/tooling/REFERENCE.md +0 -281
  421. package/Dev/i18n/es/Symfony/skills/aggregates/REFERENCE.md +0 -115
  422. package/Dev/i18n/es/Symfony/skills/architecture-clean-ddd/REFERENCE.md +0 -270
  423. package/Dev/i18n/es/Symfony/skills/async/REFERENCE.md +0 -190
  424. package/Dev/i18n/es/Symfony/skills/coding-standards/REFERENCE.md +0 -402
  425. package/Dev/i18n/es/Symfony/skills/cqrs/REFERENCE.md +0 -426
  426. package/Dev/i18n/es/Symfony/skills/ddd-patterns/REFERENCE.md +0 -1220
  427. package/Dev/i18n/es/Symfony/skills/docker-hadolint/REFERENCE.md +0 -265
  428. package/Dev/i18n/es/Symfony/skills/doctrine-extensions/REFERENCE.md +0 -927
  429. package/Dev/i18n/es/Symfony/skills/domain-events/REFERENCE.md +0 -129
  430. package/Dev/i18n/es/Symfony/skills/i18n/REFERENCE.md +0 -185
  431. package/Dev/i18n/es/Symfony/skills/multitenant/REFERENCE.md +0 -432
  432. package/Dev/i18n/es/Symfony/skills/performance/REFERENCE.md +0 -888
  433. package/Dev/i18n/es/Symfony/skills/quality-tools/REFERENCE.md +0 -982
  434. package/Dev/i18n/es/Symfony/skills/security-symfony/REFERENCE.md +0 -1055
  435. package/Dev/i18n/es/Symfony/skills/testing-symfony/REFERENCE.md +0 -370
  436. package/Dev/i18n/es/Symfony/skills/value-objects/REFERENCE.md +0 -536
  437. package/Dev/i18n/es/Symfony/templates/aggregate-examples.md +0 -1128
  438. package/Dev/i18n/es/Symfony/templates/domain-event-examples.md +0 -375
  439. package/Dev/i18n/es/Symfony/templates/value-object-examples.md +0 -626
  440. package/Dev/i18n/fr/Common/skills/documentation/REFERENCE.md +0 -555
  441. package/Dev/i18n/fr/Common/skills/git-workflow/REFERENCE.md +0 -541
  442. package/Dev/i18n/fr/Common/skills/kiss-dry-yagni/REFERENCE.md +0 -417
  443. package/Dev/i18n/fr/Common/skills/security/REFERENCE.md +0 -540
  444. package/Dev/i18n/fr/Common/skills/solid-principles/REFERENCE.md +0 -396
  445. package/Dev/i18n/fr/Common/skills/testing/REFERENCE.md +0 -463
  446. package/Dev/i18n/fr/Common/skills/workflow-analysis/REFERENCE.md +0 -226
  447. package/Dev/i18n/fr/Flutter/skills/architecture/REFERENCE.md +0 -1763
  448. package/Dev/i18n/fr/Flutter/skills/coding-standards/REFERENCE.md +0 -1147
  449. package/Dev/i18n/fr/Flutter/skills/performance/REFERENCE.md +0 -230
  450. package/Dev/i18n/fr/Flutter/skills/quality-tools/REFERENCE.md +0 -239
  451. package/Dev/i18n/fr/Flutter/skills/security-flutter/REFERENCE.md +0 -247
  452. package/Dev/i18n/fr/Flutter/skills/state-management/REFERENCE.md +0 -408
  453. package/Dev/i18n/fr/Flutter/skills/testing-flutter/REFERENCE.md +0 -692
  454. package/Dev/i18n/fr/Flutter/skills/tooling/REFERENCE.md +0 -542
  455. package/Dev/i18n/fr/Python/skills/architecture/REFERENCE.md +0 -1383
  456. package/Dev/i18n/fr/Python/skills/coding-standards/REFERENCE.md +0 -934
  457. package/Dev/i18n/fr/Python/skills/testing-python/REFERENCE.md +0 -778
  458. package/Dev/i18n/fr/Python/skills/tooling/REFERENCE.md +0 -730
  459. package/Dev/i18n/fr/React/skills/architecture/REFERENCE.md +0 -1005
  460. package/Dev/i18n/fr/React/skills/coding-standards/REFERENCE.md +0 -995
  461. package/Dev/i18n/fr/React/skills/quality-tools/REFERENCE.md +0 -758
  462. package/Dev/i18n/fr/React/skills/security-react/REFERENCE.md +0 -793
  463. package/Dev/i18n/fr/React/skills/testing-react/REFERENCE.md +0 -999
  464. package/Dev/i18n/fr/React/skills/tooling/REFERENCE.md +0 -777
  465. package/Dev/i18n/fr/ReactNative/skills/architecture/REFERENCE.md +0 -1253
  466. package/Dev/i18n/fr/ReactNative/skills/coding-standards/REFERENCE.md +0 -1230
  467. package/Dev/i18n/fr/ReactNative/skills/navigation/REFERENCE.md +0 -601
  468. package/Dev/i18n/fr/ReactNative/skills/performance/REFERENCE.md +0 -727
  469. package/Dev/i18n/fr/ReactNative/skills/quality-tools/REFERENCE.md +0 -122
  470. package/Dev/i18n/fr/ReactNative/skills/security-reactnative/REFERENCE.md +0 -719
  471. package/Dev/i18n/fr/ReactNative/skills/state-management/REFERENCE.md +0 -607
  472. package/Dev/i18n/fr/ReactNative/skills/testing-reactnative/REFERENCE.md +0 -386
  473. package/Dev/i18n/fr/ReactNative/skills/tooling/REFERENCE.md +0 -281
  474. package/Dev/i18n/fr/Symfony/skills/aggregates/REFERENCE.md +0 -115
  475. package/Dev/i18n/fr/Symfony/skills/architecture-clean-ddd/REFERENCE.md +0 -979
  476. package/Dev/i18n/fr/Symfony/skills/async/REFERENCE.md +0 -190
  477. package/Dev/i18n/fr/Symfony/skills/coding-standards/REFERENCE.md +0 -402
  478. package/Dev/i18n/fr/Symfony/skills/cqrs/REFERENCE.md +0 -426
  479. package/Dev/i18n/fr/Symfony/skills/ddd-patterns/REFERENCE.md +0 -1220
  480. package/Dev/i18n/fr/Symfony/skills/docker-hadolint/REFERENCE.md +0 -767
  481. package/Dev/i18n/fr/Symfony/skills/doctrine-extensions/REFERENCE.md +0 -927
  482. package/Dev/i18n/fr/Symfony/skills/domain-events/REFERENCE.md +0 -129
  483. package/Dev/i18n/fr/Symfony/skills/i18n/REFERENCE.md +0 -185
  484. package/Dev/i18n/fr/Symfony/skills/multitenant/REFERENCE.md +0 -432
  485. package/Dev/i18n/fr/Symfony/skills/performance/REFERENCE.md +0 -888
  486. package/Dev/i18n/fr/Symfony/skills/quality-tools/REFERENCE.md +0 -982
  487. package/Dev/i18n/fr/Symfony/skills/security-symfony/REFERENCE.md +0 -1055
  488. package/Dev/i18n/fr/Symfony/skills/testing-symfony/REFERENCE.md +0 -1121
  489. package/Dev/i18n/fr/Symfony/skills/value-objects/REFERENCE.md +0 -536
  490. package/Dev/i18n/fr/Symfony/templates/aggregate-examples.md +0 -1128
  491. package/Dev/i18n/fr/Symfony/templates/domain-event-examples.md +0 -1091
  492. package/Dev/i18n/fr/Symfony/templates/value-object-examples.md +0 -1129
  493. package/Dev/i18n/pt/Common/skills/documentation/REFERENCE.md +0 -555
  494. package/Dev/i18n/pt/Common/skills/git-workflow/REFERENCE.md +0 -541
  495. package/Dev/i18n/pt/Common/skills/kiss-dry-yagni/REFERENCE.md +0 -417
  496. package/Dev/i18n/pt/Common/skills/security/REFERENCE.md +0 -540
  497. package/Dev/i18n/pt/Common/skills/solid-principles/REFERENCE.md +0 -396
  498. package/Dev/i18n/pt/Common/skills/testing/REFERENCE.md +0 -463
  499. package/Dev/i18n/pt/Common/skills/workflow-analysis/REFERENCE.md +0 -226
  500. package/Dev/i18n/pt/Flutter/skills/architecture/REFERENCE.md +0 -455
  501. package/Dev/i18n/pt/Flutter/skills/coding-standards/REFERENCE.md +0 -247
  502. package/Dev/i18n/pt/Flutter/skills/performance/REFERENCE.md +0 -230
  503. package/Dev/i18n/pt/Flutter/skills/quality-tools/REFERENCE.md +0 -239
  504. package/Dev/i18n/pt/Flutter/skills/security-flutter/REFERENCE.md +0 -247
  505. package/Dev/i18n/pt/Flutter/skills/state-management/REFERENCE.md +0 -408
  506. package/Dev/i18n/pt/Flutter/skills/tooling/REFERENCE.md +0 -542
  507. package/Dev/i18n/pt/Python/skills/architecture/REFERENCE.md +0 -444
  508. package/Dev/i18n/pt/Python/skills/coding-standards/REFERENCE.md +0 -572
  509. package/Dev/i18n/pt/Python/skills/testing-python/REFERENCE.md +0 -387
  510. package/Dev/i18n/pt/Python/skills/tooling/REFERENCE.md +0 -351
  511. package/Dev/i18n/pt/React/skills/architecture/REFERENCE.md +0 -651
  512. package/Dev/i18n/pt/React/skills/coding-standards/REFERENCE.md +0 -716
  513. package/Dev/i18n/pt/React/skills/quality-tools/REFERENCE.md +0 -758
  514. package/Dev/i18n/pt/React/skills/security-react/REFERENCE.md +0 -793
  515. package/Dev/i18n/pt/React/skills/testing-react/REFERENCE.md +0 -999
  516. package/Dev/i18n/pt/React/skills/tooling/REFERENCE.md +0 -777
  517. package/Dev/i18n/pt/ReactNative/skills/architecture/REFERENCE.md +0 -200
  518. package/Dev/i18n/pt/ReactNative/skills/coding-standards/REFERENCE.md +0 -1230
  519. package/Dev/i18n/pt/ReactNative/skills/navigation/REFERENCE.md +0 -601
  520. package/Dev/i18n/pt/ReactNative/skills/performance/REFERENCE.md +0 -727
  521. package/Dev/i18n/pt/ReactNative/skills/quality-tools/REFERENCE.md +0 -122
  522. package/Dev/i18n/pt/ReactNative/skills/security-reactnative/REFERENCE.md +0 -719
  523. package/Dev/i18n/pt/ReactNative/skills/state-management/REFERENCE.md +0 -566
  524. package/Dev/i18n/pt/ReactNative/skills/testing-reactnative/REFERENCE.md +0 -386
  525. package/Dev/i18n/pt/ReactNative/skills/tooling/REFERENCE.md +0 -281
  526. package/Dev/i18n/pt/Symfony/skills/aggregates/REFERENCE.md +0 -115
  527. package/Dev/i18n/pt/Symfony/skills/architecture-clean-ddd/REFERENCE.md +0 -979
  528. package/Dev/i18n/pt/Symfony/skills/async/REFERENCE.md +0 -190
  529. package/Dev/i18n/pt/Symfony/skills/coding-standards/REFERENCE.md +0 -402
  530. package/Dev/i18n/pt/Symfony/skills/cqrs/REFERENCE.md +0 -426
  531. package/Dev/i18n/pt/Symfony/skills/ddd-patterns/REFERENCE.md +0 -1220
  532. package/Dev/i18n/pt/Symfony/skills/docker-hadolint/REFERENCE.md +0 -767
  533. package/Dev/i18n/pt/Symfony/skills/doctrine-extensions/REFERENCE.md +0 -927
  534. package/Dev/i18n/pt/Symfony/skills/domain-events/REFERENCE.md +0 -129
  535. package/Dev/i18n/pt/Symfony/skills/i18n/REFERENCE.md +0 -185
  536. package/Dev/i18n/pt/Symfony/skills/multitenant/REFERENCE.md +0 -432
  537. package/Dev/i18n/pt/Symfony/skills/performance/REFERENCE.md +0 -888
  538. package/Dev/i18n/pt/Symfony/skills/quality-tools/REFERENCE.md +0 -982
  539. package/Dev/i18n/pt/Symfony/skills/security-symfony/REFERENCE.md +0 -1055
  540. package/Dev/i18n/pt/Symfony/skills/testing-symfony/REFERENCE.md +0 -1121
  541. package/Dev/i18n/pt/Symfony/skills/value-objects/REFERENCE.md +0 -536
  542. package/Dev/i18n/pt/Symfony/templates/aggregate-examples.md +0 -1128
  543. package/Dev/i18n/pt/Symfony/templates/domain-event-examples.md +0 -1091
  544. package/Dev/i18n/pt/Symfony/templates/value-object-examples.md +0 -1129
@@ -1,719 +0,0 @@
1
- # Security - React Native Best Practices
2
-
3
- ## Introduction
4
-
5
- La sécurité est critique dans les applications mobiles qui manipulent des données sensibles.
6
-
7
- ---
8
-
9
- ## Secure Storage
10
-
11
- ### 1. Expo SecureStore (iOS Keychain / Android Keystore)
12
-
13
- ```typescript
14
- // services/storage/secure.storage.ts
15
- import * as SecureStore from 'expo-secure-store';
16
- import { Platform } from 'react-native';
17
-
18
- class SecureStorage {
19
- /**
20
- * Store sensitive data securely
21
- * iOS: Keychain
22
- * Android: Encrypted SharedPreferences with Keystore
23
- */
24
- async setItem(key: string, value: string): Promise<void> {
25
- if (Platform.OS === 'web') {
26
- // Web fallback (not secure, warn user)
27
- console.warn('SecureStore not available on web, using localStorage');
28
- localStorage.setItem(key, value);
29
- return;
30
- }
31
-
32
- await SecureStore.setItemAsync(key, value, {
33
- keychainAccessible: SecureStore.WHEN_UNLOCKED_THIS_DEVICE_ONLY,
34
- });
35
- }
36
-
37
- async getItem(key: string): Promise<string | null> {
38
- if (Platform.OS === 'web') {
39
- return localStorage.getItem(key);
40
- }
41
-
42
- return await SecureStore.getItemAsync(key);
43
- }
44
-
45
- async removeItem(key: string): Promise<void> {
46
- if (Platform.OS === 'web') {
47
- localStorage.removeItem(key);
48
- return;
49
- }
50
-
51
- await SecureStore.deleteItemAsync(key);
52
- }
53
- }
54
-
55
- export const secureStorage = new SecureStorage();
56
- ```
57
-
58
- ### 2. MMKV with Encryption
59
-
60
- ```typescript
61
- // services/storage/mmkv.storage.ts
62
- import { MMKV } from 'react-native-mmkv';
63
-
64
- // Encrypted storage
65
- export const secureMMKV = new MMKV({
66
- id: 'secure-storage',
67
- encryptionKey: 'your-encryption-key', // Store in Keychain/Keystore
68
- });
69
-
70
- // Usage
71
- secureMMKV.set('accessToken', token);
72
- const token = secureMMKV.getString('accessToken');
73
- ```
74
-
75
- ### What to Store Securely
76
-
77
- ```typescript
78
- // ✅ Store in SecureStore
79
- // - Access tokens
80
- // - Refresh tokens
81
- // - API keys
82
- // - User credentials
83
- // - Biometric keys
84
- // - Encryption keys
85
-
86
- // ✅ Store in MMKV (encrypted)
87
- // - User preferences
88
- // - Session data
89
- // - Cache data
90
-
91
- // ❌ NEVER store in plain text
92
- // - Passwords
93
- // - Credit card numbers
94
- // - Social security numbers
95
- // - Health data
96
- ```
97
-
98
- ---
99
-
100
- ## API Security
101
-
102
- ### 1. Token Management
103
-
104
- ```typescript
105
- // services/auth/token.service.ts
106
- import { secureStorage } from '@/services/storage/secure.storage';
107
-
108
- class TokenService {
109
- private readonly ACCESS_TOKEN_KEY = 'access_token';
110
- private readonly REFRESH_TOKEN_KEY = 'refresh_token';
111
-
112
- async saveTokens(accessToken: string, refreshToken: string): Promise<void> {
113
- await Promise.all([
114
- secureStorage.setItem(this.ACCESS_TOKEN_KEY, accessToken),
115
- secureStorage.setItem(this.REFRESH_TOKEN_KEY, refreshToken),
116
- ]);
117
- }
118
-
119
- async getAccessToken(): Promise<string | null> {
120
- return await secureStorage.getItem(this.ACCESS_TOKEN_KEY);
121
- }
122
-
123
- async getRefreshToken(): Promise<string | null> {
124
- return await secureStorage.getItem(this.REFRESH_TOKEN_KEY);
125
- }
126
-
127
- async clearTokens(): Promise<void> {
128
- await Promise.all([
129
- secureStorage.removeItem(this.ACCESS_TOKEN_KEY),
130
- secureStorage.removeItem(this.REFRESH_TOKEN_KEY),
131
- ]);
132
- }
133
-
134
- async refreshAccessToken(): Promise<string> {
135
- const refreshToken = await this.getRefreshToken();
136
- if (!refreshToken) {
137
- throw new Error('No refresh token available');
138
- }
139
-
140
- // Call refresh endpoint
141
- const response = await fetch('/api/auth/refresh', {
142
- method: 'POST',
143
- headers: { 'Content-Type': 'application/json' },
144
- body: JSON.stringify({ refreshToken }),
145
- });
146
-
147
- if (!response.ok) {
148
- await this.clearTokens();
149
- throw new Error('Token refresh failed');
150
- }
151
-
152
- const { accessToken, refreshToken: newRefreshToken } = await response.json();
153
- await this.saveTokens(accessToken, newRefreshToken);
154
-
155
- return accessToken;
156
- }
157
- }
158
-
159
- export const tokenService = new TokenService();
160
- ```
161
-
162
- ### 2. API Request Security
163
-
164
- ```typescript
165
- // services/api/interceptors.ts
166
- import { tokenService } from '@/services/auth/token.service';
167
- import type { AxiosInstance, AxiosError } from 'axios';
168
- import { router } from 'expo-router';
169
-
170
- export const setupInterceptors = (instance: AxiosInstance) => {
171
- // Request interceptor - Add auth token
172
- instance.interceptors.request.use(
173
- async (config) => {
174
- const token = await tokenService.getAccessToken();
175
-
176
- if (token) {
177
- config.headers.Authorization = `Bearer ${token}`;
178
- }
179
-
180
- // Add request ID for tracking
181
- config.headers['X-Request-ID'] = generateRequestId();
182
-
183
- // Add app version
184
- config.headers['X-App-Version'] = Constants.expoConfig?.version;
185
-
186
- return config;
187
- },
188
- (error) => Promise.reject(error)
189
- );
190
-
191
- // Response interceptor - Handle token refresh
192
- instance.interceptors.response.use(
193
- (response) => response,
194
- async (error: AxiosError) => {
195
- const originalRequest = error.config;
196
-
197
- // Token expired, try to refresh
198
- if (error.response?.status === 401 && originalRequest && !originalRequest._retry) {
199
- originalRequest._retry = true;
200
-
201
- try {
202
- const newToken = await tokenService.refreshAccessToken();
203
- originalRequest.headers.Authorization = `Bearer ${newToken}`;
204
- return instance(originalRequest);
205
- } catch (refreshError) {
206
- // Refresh failed, logout user
207
- await tokenService.clearTokens();
208
- router.replace('/(auth)/login');
209
- return Promise.reject(refreshError);
210
- }
211
- }
212
-
213
- return Promise.reject(error);
214
- }
215
- );
216
- };
217
-
218
- function generateRequestId(): string {
219
- return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
220
- }
221
- ```
222
-
223
- ### 3. Certificate Pinning
224
-
225
- ```typescript
226
- // For bare workflow with react-native-ssl-pinning
227
- import { fetch as sslFetch } from 'react-native-ssl-pinning';
228
-
229
- const fetchWithPinning = async () => {
230
- try {
231
- const response = await sslFetch('https://api.example.com/data', {
232
- method: 'GET',
233
- sslPinning: {
234
- certs: ['certificate'], // Certificate in android/app/src/main/assets/
235
- },
236
- });
237
- return response.json();
238
- } catch (error) {
239
- console.error('SSL Pinning failed:', error);
240
- throw error;
241
- }
242
- };
243
- ```
244
-
245
- ---
246
-
247
- ## Input Validation & Sanitization
248
-
249
- ### 1. Validation with Zod
250
-
251
- ```typescript
252
- // utils/validation.schemas.ts
253
- import { z } from 'zod';
254
-
255
- export const loginSchema = z.object({
256
- email: z
257
- .string()
258
- .email('Invalid email format')
259
- .max(255, 'Email too long'),
260
- password: z
261
- .string()
262
- .min(8, 'Password must be at least 8 characters')
263
- .max(128, 'Password too long')
264
- .regex(
265
- /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/,
266
- 'Password must contain uppercase, lowercase, and number'
267
- ),
268
- });
269
-
270
- export const profileUpdateSchema = z.object({
271
- name: z
272
- .string()
273
- .min(1, 'Name required')
274
- .max(100, 'Name too long')
275
- .regex(/^[a-zA-Z\s]+$/, 'Name can only contain letters'),
276
- bio: z
277
- .string()
278
- .max(500, 'Bio too long')
279
- .optional(),
280
- website: z
281
- .string()
282
- .url('Invalid URL')
283
- .optional()
284
- .or(z.literal('')),
285
- });
286
-
287
- // Usage
288
- const validateLogin = (data: unknown) => {
289
- try {
290
- return loginSchema.parse(data);
291
- } catch (error) {
292
- if (error instanceof z.ZodError) {
293
- // Handle validation errors
294
- console.error(error.errors);
295
- }
296
- throw error;
297
- }
298
- };
299
- ```
300
-
301
- ### 2. Sanitization
302
-
303
- ```typescript
304
- // utils/sanitize.utils.ts
305
-
306
- /**
307
- * Sanitize user input to prevent XSS
308
- */
309
- export const sanitizeString = (input: string): string => {
310
- return input
311
- .replace(/</g, '&lt;')
312
- .replace(/>/g, '&gt;')
313
- .replace(/"/g, '&quot;')
314
- .replace(/'/g, '&#x27;')
315
- .replace(/\//g, '&#x2F;');
316
- };
317
-
318
- /**
319
- * Sanitize HTML (if needed)
320
- */
321
- export const sanitizeHTML = (html: string): string => {
322
- // Use DOMPurify or similar
323
- // For React Native, use react-native-render-html with sanitization
324
- return html; // Implement based on your needs
325
- };
326
-
327
- /**
328
- * Validate and sanitize URL
329
- */
330
- export const sanitizeURL = (url: string): string | null => {
331
- try {
332
- const parsed = new URL(url);
333
- // Only allow http and https
334
- if (!['http:', 'https:'].includes(parsed.protocol)) {
335
- return null;
336
- }
337
- return parsed.toString();
338
- } catch {
339
- return null;
340
- }
341
- };
342
- ```
343
-
344
- ---
345
-
346
- ## Biometric Authentication
347
-
348
- ### 1. Setup
349
-
350
- ```bash
351
- npx expo install expo-local-authentication
352
- ```
353
-
354
- ### 2. Implementation
355
-
356
- ```typescript
357
- // hooks/useBiometrics.ts
358
- import * as LocalAuthentication from 'expo-local-authentication';
359
- import { useState, useEffect } from 'react';
360
-
361
- export const useBiometrics = () => {
362
- const [isAvailable, setIsAvailable] = useState(false);
363
- const [biometricType, setBiometricType] = useState<string | null>(null);
364
-
365
- useEffect(() => {
366
- checkBiometrics();
367
- }, []);
368
-
369
- const checkBiometrics = async () => {
370
- const compatible = await LocalAuthentication.hasHardwareAsync();
371
- const enrolled = await LocalAuthentication.isEnrolledAsync();
372
- const types = await LocalAuthentication.supportedAuthenticationTypesAsync();
373
-
374
- setIsAvailable(compatible && enrolled);
375
-
376
- if (types.includes(LocalAuthentication.AuthenticationType.FACIAL_RECOGNITION)) {
377
- setBiometricType('Face ID');
378
- } else if (types.includes(LocalAuthentication.AuthenticationType.FINGERPRINT)) {
379
- setBiometricType('Touch ID');
380
- }
381
- };
382
-
383
- const authenticate = async (): Promise<boolean> => {
384
- try {
385
- const result = await LocalAuthentication.authenticateAsync({
386
- promptMessage: 'Authenticate to continue',
387
- fallbackLabel: 'Use passcode',
388
- cancelLabel: 'Cancel',
389
- });
390
-
391
- return result.success;
392
- } catch (error) {
393
- console.error('Biometric authentication error:', error);
394
- return false;
395
- }
396
- };
397
-
398
- return {
399
- isAvailable,
400
- biometricType,
401
- authenticate,
402
- };
403
- };
404
-
405
- // Usage
406
- const LoginScreen = () => {
407
- const { isAvailable, biometricType, authenticate } = useBiometrics();
408
-
409
- const handleBiometricLogin = async () => {
410
- const success = await authenticate();
411
- if (success) {
412
- // Login user
413
- }
414
- };
415
-
416
- return (
417
- <View>
418
- {isAvailable && (
419
- <Button onPress={handleBiometricLogin}>
420
- Login with {biometricType}
421
- </Button>
422
- )}
423
- </View>
424
- );
425
- };
426
- ```
427
-
428
- ---
429
-
430
- ## Code Obfuscation
431
-
432
- ### 1. react-native-obfuscating-transformer
433
-
434
- ```bash
435
- npm install --save-dev react-native-obfuscating-transformer
436
- ```
437
-
438
- ### 2. metro.config.js
439
-
440
- ```javascript
441
- const obfuscatingTransformer = require('react-native-obfuscating-transformer');
442
-
443
- module.exports = {
444
- transformer: {
445
- babelTransformerPath: obfuscatingTransformer,
446
- },
447
- };
448
- ```
449
-
450
- ### 3. What to Obfuscate
451
-
452
- ```typescript
453
- // ✅ Obfuscate
454
- // - API keys (but prefer env variables)
455
- // - Business logic
456
- // - Algorithms
457
- // - Sensitive constants
458
-
459
- // ❌ Don't rely solely on obfuscation
460
- // It's security through obscurity, not real security
461
- // Always use proper encryption for sensitive data
462
- ```
463
-
464
- ---
465
-
466
- ## Environment Variables Security
467
-
468
- ### 1. .env Setup
469
-
470
- ```bash
471
- # .env.development
472
- EXPO_PUBLIC_API_URL=https://dev-api.example.com
473
- EXPO_PUBLIC_ENVIRONMENT=development
474
-
475
- # Don't commit secrets!
476
- # Use EAS Secrets for sensitive values
477
- ```
478
-
479
- ### 2. EAS Secrets
480
-
481
- ```bash
482
- # Set secret
483
- eas secret:create --name API_KEY --value "your-secret-key" --type string
484
-
485
- # List secrets
486
- eas secret:list
487
-
488
- # Use in app.config.ts
489
- export default {
490
- expo: {
491
- extra: {
492
- apiKey: process.env.API_KEY,
493
- },
494
- },
495
- };
496
- ```
497
-
498
- ### 3. Access in App
499
-
500
- ```typescript
501
- // config/env.ts
502
- import Constants from 'expo-constants';
503
-
504
- export const ENV = {
505
- API_URL: Constants.expoConfig?.extra?.apiUrl || 'https://api.example.com',
506
- API_KEY: Constants.expoConfig?.extra?.apiKey,
507
- ENVIRONMENT: Constants.expoConfig?.extra?.environment || 'production',
508
- };
509
-
510
- // ❌ NEVER
511
- export const ENV = {
512
- API_KEY: 'hardcoded-key-in-source', // NEVER DO THIS!
513
- };
514
- ```
515
-
516
- ---
517
-
518
- ## Network Security
519
-
520
- ### 1. HTTPS Only
521
-
522
- ```typescript
523
- // services/api/client.ts
524
- import axios from 'axios';
525
-
526
- export const apiClient = axios.create({
527
- baseURL: ENV.API_URL,
528
- timeout: 10000,
529
- headers: {
530
- 'Content-Type': 'application/json',
531
- },
532
- });
533
-
534
- // Ensure HTTPS
535
- if (!ENV.API_URL.startsWith('https://')) {
536
- console.error('API URL must use HTTPS');
537
- // In production, throw error
538
- if (ENV.ENVIRONMENT === 'production') {
539
- throw new Error('Insecure API URL');
540
- }
541
- }
542
- ```
543
-
544
- ### 2. Timeout Configuration
545
-
546
- ```typescript
547
- // Prevent hanging requests
548
- const apiClient = axios.create({
549
- timeout: 10000, // 10 seconds
550
- timeoutErrorMessage: 'Request timeout',
551
- });
552
- ```
553
-
554
- ---
555
-
556
- ## Screen Security
557
-
558
- ### 1. Prevent Screenshots (iOS/Android)
559
-
560
- ```typescript
561
- // utils/security.utils.ts
562
- import { Platform } from 'react-native';
563
-
564
- export const preventScreenshots = () => {
565
- if (Platform.OS === 'android') {
566
- // Use react-native-screen-capture or similar
567
- // ScreenCapture.preventScreenCapture();
568
- }
569
- // iOS: Set UIApplicationUserInterfaceStylePrivacy in Info.plist
570
- };
571
-
572
- export const allowScreenshots = () => {
573
- if (Platform.OS === 'android') {
574
- // ScreenCapture.allowScreenCapture();
575
- }
576
- };
577
- ```
578
-
579
- ### 2. Secure Text Input
580
-
581
- ```typescript
582
- // components/SecureTextInput.tsx
583
- import { TextInput, type TextInputProps } from 'react-native';
584
-
585
- interface SecureTextInputProps extends TextInputProps {
586
- autoComplete?: 'off';
587
- }
588
-
589
- export const SecureTextInput: FC<SecureTextInputProps> = (props) => {
590
- return (
591
- <TextInput
592
- {...props}
593
- autoComplete="off"
594
- autoCorrect={false}
595
- autoCapitalize="none"
596
- secureTextEntry
597
- textContentType="none" // Disable autofill
598
- />
599
- );
600
- };
601
- ```
602
-
603
- ---
604
-
605
- ## Deep Link Security
606
-
607
- ### 1. Validate Deep Links
608
-
609
- ```typescript
610
- // utils/deeplink.utils.ts
611
- export const validateDeepLink = (url: string): boolean => {
612
- try {
613
- const parsed = new URL(url);
614
-
615
- // Only allow your app's scheme
616
- if (parsed.protocol !== 'myapp:') {
617
- return false;
618
- }
619
-
620
- // Validate host
621
- const allowedHosts = ['login', 'profile', 'article'];
622
- if (!allowedHosts.includes(parsed.host)) {
623
- return false;
624
- }
625
-
626
- return true;
627
- } catch {
628
- return false;
629
- }
630
- };
631
-
632
- // Usage in app
633
- const handleDeepLink = (url: string) => {
634
- if (!validateDeepLink(url)) {
635
- console.error('Invalid deep link:', url);
636
- return;
637
- }
638
-
639
- // Process valid deep link
640
- const parsed = new URL(url);
641
- router.push(parsed.pathname);
642
- };
643
- ```
644
-
645
- ---
646
-
647
- ## Security Checklist
648
-
649
- ### Development Phase
650
- - [ ] Sensitive data in SecureStore/Keychain
651
- - [ ] API tokens secured
652
- - [ ] Input validation implemented (Zod)
653
- - [ ] HTTPS enforced
654
- - [ ] Environment variables configured
655
- - [ ] Biometric auth (if needed)
656
- - [ ] Deep links validated
657
- - [ ] No hardcoded secrets in code
658
-
659
- ### Pre-Production
660
- - [ ] Code obfuscation enabled
661
- - [ ] Certificate pinning (if needed)
662
- - [ ] Screenshot prevention (if needed)
663
- - [ ] EAS Secrets configured
664
- - [ ] Security audit completed
665
- - [ ] Penetration testing done
666
-
667
- ### Post-Production
668
- - [ ] Monitor for security incidents
669
- - [ ] Regular dependency updates
670
- - [ ] Token rotation strategy
671
- - [ ] Incident response plan
672
-
673
- ---
674
-
675
- ## Common Vulnerabilities
676
-
677
- ### 1. XSS (Cross-Site Scripting)
678
-
679
- ```typescript
680
- // ❌ VULNERABLE
681
- <Text>{userInput}</Text> // If userInput contains malicious HTML
682
-
683
- // ✅ SAFE
684
- <Text>{sanitizeString(userInput)}</Text>
685
- ```
686
-
687
- ### 2. SQL Injection (Backend)
688
-
689
- ```typescript
690
- // ❌ VULNERABLE (backend)
691
- const query = `SELECT * FROM users WHERE email = '${email}'`;
692
-
693
- // ✅ SAFE (backend)
694
- const query = 'SELECT * FROM users WHERE email = ?';
695
- db.query(query, [email]);
696
- ```
697
-
698
- ### 3. Man-in-the-Middle
699
-
700
- ```typescript
701
- // ❌ VULNERABLE
702
- fetch('http://api.example.com/data'); // HTTP!
703
-
704
- // ✅ SAFE
705
- fetch('https://api.example.com/data'); // HTTPS
706
- // + Certificate pinning for extra security
707
- ```
708
-
709
- ---
710
-
711
- ## Security Resources
712
-
713
- - [OWASP Mobile Security](https://owasp.org/www-project-mobile-security/)
714
- - [React Native Security Best Practices](https://reactnative.dev/docs/security)
715
- - [Expo Security](https://docs.expo.dev/guides/security/)
716
-
717
- ---
718
-
719
- **La sécurité n'est pas une fonctionnalité, c'est une responsabilité.**