devendra-skill-package 1.0.2

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 (223) hide show
  1. package/.github/skills/boiler-project-generator/SKILL.md +103 -0
  2. package/.github/skills/boiler-project-generator/assets/templates/android/README.md +3 -0
  3. package/.github/skills/boiler-project-generator/assets/templates/angular/README.md +3 -0
  4. package/.github/skills/boiler-project-generator/assets/templates/flutter/README.md +3 -0
  5. package/.github/skills/boiler-project-generator/assets/templates/ios/README.md +3 -0
  6. package/.github/skills/boiler-project-generator/assets/templates/react/README.md +3 -0
  7. package/.github/skills/boiler-project-generator/assets/templates/react-native/README.md +3 -0
  8. package/.github/skills/boiler-project-generator/assets/templates/react-native/api-setup.ts +76 -0
  9. package/.github/skills/boiler-project-generator/assets/templates/react-native/component-primary-button.tsx +29 -0
  10. package/.github/skills/boiler-project-generator/assets/templates/react-native/env-config.env +4 -0
  11. package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-auth-screen.tsx +45 -0
  12. package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-dashboard-screen.tsx +45 -0
  13. package/.github/skills/boiler-project-generator/assets/templates/react-native/feature-profile-screen.tsx +45 -0
  14. package/.github/skills/boiler-project-generator/assets/templates/react-native/hook-use-app-boot.ts +11 -0
  15. package/.github/skills/boiler-project-generator/assets/templates/react-native/navigation-setup.tsx +25 -0
  16. package/.github/skills/boiler-project-generator/assets/templates/react-native/project-structure.md +24 -0
  17. package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-hooks.ts +5 -0
  18. package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-session-slice.ts +29 -0
  19. package/.github/skills/boiler-project-generator/assets/templates/react-native/redux-store.ts +15 -0
  20. package/.github/skills/boiler-project-generator/assets/templates/react-native/theme-index.ts +23 -0
  21. package/.github/skills/boiler-project-generator/assets/templates/react-native/utils-helpers.ts +7 -0
  22. package/.github/skills/boiler-project-generator/metadata.yaml +29 -0
  23. package/.github/skills/boiler-project-generator/references/android.md +19 -0
  24. package/.github/skills/boiler-project-generator/references/angular.md +14 -0
  25. package/.github/skills/boiler-project-generator/references/flutter.md +17 -0
  26. package/.github/skills/boiler-project-generator/references/ios.md +17 -0
  27. package/.github/skills/boiler-project-generator/references/react-native.md +103 -0
  28. package/.github/skills/boiler-project-generator/references/react.md +17 -0
  29. package/.github/skills/boiler-project-generator/scripts/angular.js +43 -0
  30. package/.github/skills/boiler-project-generator/scripts/generate-project.mjs +107 -0
  31. package/.github/skills/boiler-project-generator/scripts/init.js +105 -0
  32. package/.github/skills/boiler-project-generator/scripts/react-native.js +1041 -0
  33. package/.github/skills/boiler-project-generator/scripts/react.js +32 -0
  34. package/.github/skills/clean-architecture-generator/SKILL.md +235 -0
  35. package/.github/skills/clean-architecture-generator/references/architecture-core.md +126 -0
  36. package/.github/skills/clean-architecture-generator/references/platform-angular.md +374 -0
  37. package/.github/skills/clean-architecture-generator/references/platform-flutter.md +366 -0
  38. package/.github/skills/clean-architecture-generator/references/platform-react-native.md +590 -0
  39. package/.github/skills/clean-architecture-generator/references/platform-react.md +261 -0
  40. package/.github/skills/code-test-coverage-analyzer/SKILL.md +1358 -0
  41. package/.github/skills/code-test-coverage-analyzer/assets/config-questionnaire.md +118 -0
  42. package/.github/skills/code-test-coverage-analyzer/assets/conflict-resolution-protocol.md +99 -0
  43. package/.github/skills/code-test-coverage-analyzer/assets/coverage-calculation-rules.md +294 -0
  44. package/.github/skills/code-test-coverage-analyzer/assets/multi-strategy-search.md +145 -0
  45. package/.github/skills/code-test-coverage-analyzer/assets/output-file-contracts.md +651 -0
  46. package/.github/skills/code-test-coverage-analyzer/assets/status-definitions.md +273 -0
  47. package/.github/skills/code-test-coverage-analyzer/examples/example-invocation.md +208 -0
  48. package/.github/skills/code-test-coverage-analyzer/references/android-patterns.md +229 -0
  49. package/.github/skills/code-test-coverage-analyzer/references/angular-patterns.md +177 -0
  50. package/.github/skills/code-test-coverage-analyzer/references/backend-patterns.md +383 -0
  51. package/.github/skills/code-test-coverage-analyzer/references/flutter-patterns.md +254 -0
  52. package/.github/skills/code-test-coverage-analyzer/references/ios-patterns.md +228 -0
  53. package/.github/skills/code-test-coverage-analyzer/references/react-native-patterns.md +431 -0
  54. package/.github/skills/code-test-coverage-analyzer/references/react-patterns.md +206 -0
  55. package/.github/skills/code-test-coverage-analyzer/scripts/detect-platform.ps1 +261 -0
  56. package/.github/skills/code-test-coverage-analyzer/scripts/scan-repository.ps1 +242 -0
  57. package/.github/skills/code-test-coverage-analyzer/templates/brd-compliance-row.md +107 -0
  58. package/.github/skills/code-test-coverage-analyzer/templates/test-case-row.md +130 -0
  59. package/.github/skills/code-test-coverage-analyzer/templates/user-story-compliance-row.md +170 -0
  60. package/.github/skills/custom-font-integrator/SKILL.md +373 -0
  61. package/.github/skills/custom-font-integrator/assets/FontTestScreen.js +150 -0
  62. package/.github/skills/custom-font-integrator/references/example-info-plist.xml +21 -0
  63. package/.github/skills/custom-font-integrator/scripts/setup-fonts.sh +99 -0
  64. package/.github/skills/encryption-decryption-utility/Instructions.md +282 -0
  65. package/.github/skills/encryption-decryption-utility/README.md +222 -0
  66. package/.github/skills/encryption-decryption-utility/SKILL.md +645 -0
  67. package/.github/skills/encryption-decryption-utility/assets/encryption-config-template.json +13 -0
  68. package/.github/skills/encryption-decryption-utility/assets/platform-matrix.json +180 -0
  69. package/.github/skills/encryption-decryption-utility/metadata.yaml +51 -0
  70. package/.github/skills/encryption-decryption-utility/references/android-crypto.md +157 -0
  71. package/.github/skills/encryption-decryption-utility/references/angular-crypto.md +130 -0
  72. package/.github/skills/encryption-decryption-utility/references/approach-1-webcrypto.md +95 -0
  73. package/.github/skills/encryption-decryption-utility/references/approach-2-rsa-aes-cbc.md +111 -0
  74. package/.github/skills/encryption-decryption-utility/references/approach-3-aes-sharedkey.md +114 -0
  75. package/.github/skills/encryption-decryption-utility/references/architecture.md +233 -0
  76. package/.github/skills/encryption-decryption-utility/references/backend-alignment.md +506 -0
  77. package/.github/skills/encryption-decryption-utility/references/dependency-guidance.md +234 -0
  78. package/.github/skills/encryption-decryption-utility/references/ec-implementation.md +832 -0
  79. package/.github/skills/encryption-decryption-utility/references/error-handling-playbook.md +234 -0
  80. package/.github/skills/encryption-decryption-utility/references/flutter-crypto.md +105 -0
  81. package/.github/skills/encryption-decryption-utility/references/ios-crypto.md +338 -0
  82. package/.github/skills/encryption-decryption-utility/references/native-rsa-implementation.md +373 -0
  83. package/.github/skills/encryption-decryption-utility/references/node-crypto.md +86 -0
  84. package/.github/skills/encryption-decryption-utility/references/react-crypto.md +105 -0
  85. package/.github/skills/encryption-decryption-utility/references/react-native-crypto.md +1001 -0
  86. package/.github/skills/encryption-decryption-utility/references/react-web-crypto.md +668 -0
  87. package/.github/skills/encryption-decryption-utility/references/security-checklist.md +176 -0
  88. package/.github/skills/encryption-decryption-utility/references/web-crypto.md +74 -0
  89. package/.github/skills/encryption-decryption-utility/scripts/detect.js +128 -0
  90. package/.github/skills/encryption-decryption-utility/scripts/install.js +1713 -0
  91. package/.github/skills/encryption-decryption-utility/scripts/setup.js +800 -0
  92. package/.github/skills/encryption-decryption-utility/template.md +241 -0
  93. package/.github/skills/encryption-decryption-utility/templates/config-questionnaire.md +467 -0
  94. package/.github/skills/encryption-decryption-utility/templates/delivery-checklist.md +206 -0
  95. package/.github/skills/encryption-decryption-utility/templates/implementation-plan.md +304 -0
  96. package/.github/skills/feature-generator/SKILL.MD +2741 -0
  97. package/.github/skills/feature-generator/assets/fingerprint-schema.json +385 -0
  98. package/.github/skills/feature-generator/assets/spec-template.md +172 -0
  99. package/.github/skills/feature-generator/assets/transform-rules.json +82 -0
  100. package/.github/skills/feature-generator/references/api-envelope-patterns.md +327 -0
  101. package/.github/skills/feature-generator/references/screen-logic-patterns.md +399 -0
  102. package/.github/skills/feature-generator/references/state-library-patterns.md +464 -0
  103. package/.github/skills/figma-ui-mapper/README.md +34 -0
  104. package/.github/skills/figma-ui-mapper/SKILL.md +101 -0
  105. package/.github/skills/figma-ui-mapper/assets/templates/component-map-template.md +30 -0
  106. package/.github/skills/figma-ui-mapper/assets/templates/generation-report-template.md +49 -0
  107. package/.github/skills/figma-ui-mapper/metadata.yaml +22 -0
  108. package/.github/skills/figma-ui-mapper/references/android.md +11 -0
  109. package/.github/skills/figma-ui-mapper/references/angular.md +18 -0
  110. package/.github/skills/figma-ui-mapper/references/capacitor.md +18 -0
  111. package/.github/skills/figma-ui-mapper/references/common.md +23 -0
  112. package/.github/skills/figma-ui-mapper/references/expo.md +18 -0
  113. package/.github/skills/figma-ui-mapper/references/flutter.md +18 -0
  114. package/.github/skills/figma-ui-mapper/references/frameworks/angular/rules.md +23 -0
  115. package/.github/skills/figma-ui-mapper/references/frameworks/capacitor/rules.md +23 -0
  116. package/.github/skills/figma-ui-mapper/references/frameworks/expo/rules.md +23 -0
  117. package/.github/skills/figma-ui-mapper/references/frameworks/flutter/rules.md +23 -0
  118. package/.github/skills/figma-ui-mapper/references/frameworks/ionic/rules.md +23 -0
  119. package/.github/skills/figma-ui-mapper/references/frameworks/kotlin-multiplatform/rules.md +23 -0
  120. package/.github/skills/figma-ui-mapper/references/frameworks/native-android/rules.md +23 -0
  121. package/.github/skills/figma-ui-mapper/references/frameworks/native-ios/rules.md +23 -0
  122. package/.github/skills/figma-ui-mapper/references/frameworks/next/rules.md +23 -0
  123. package/.github/skills/figma-ui-mapper/references/frameworks/nuxt/rules.md +23 -0
  124. package/.github/skills/figma-ui-mapper/references/frameworks/react/rules.md +19 -0
  125. package/.github/skills/figma-ui-mapper/references/frameworks/react-native/rules.md +23 -0
  126. package/.github/skills/figma-ui-mapper/references/frameworks/svelte/rules.md +23 -0
  127. package/.github/skills/figma-ui-mapper/references/frameworks/vue/rules.md +23 -0
  128. package/.github/skills/figma-ui-mapper/references/ionic.md +18 -0
  129. package/.github/skills/figma-ui-mapper/references/ios.md +11 -0
  130. package/.github/skills/figma-ui-mapper/references/kotlin-multiplatform.md +18 -0
  131. package/.github/skills/figma-ui-mapper/references/native-android.md +18 -0
  132. package/.github/skills/figma-ui-mapper/references/native-ios.md +18 -0
  133. package/.github/skills/figma-ui-mapper/references/next.md +18 -0
  134. package/.github/skills/figma-ui-mapper/references/nuxt.md +18 -0
  135. package/.github/skills/figma-ui-mapper/references/react-figma-guideline.md +21 -0
  136. package/.github/skills/figma-ui-mapper/references/react-native.md +18 -0
  137. package/.github/skills/figma-ui-mapper/references/react.md +18 -0
  138. package/.github/skills/figma-ui-mapper/references/script-usage.md +46 -0
  139. package/.github/skills/figma-ui-mapper/references/svelte.md +18 -0
  140. package/.github/skills/figma-ui-mapper/references/vue.md +18 -0
  141. package/.github/skills/figma-ui-mapper/references/workflow.md +74 -0
  142. package/.github/skills/figma-ui-mapper/scripts/generate-page-through-figma.js +635 -0
  143. package/.github/skills/figma-ui-mapper/scripts/generate-react-page-through-figma.js +4 -0
  144. package/.github/skills/frontend-task-breakdown/SKILL.md +734 -0
  145. package/.github/skills/md-file-converter/SKILL.md +291 -0
  146. package/.github/skills/md-file-converter/config/formats.json +114 -0
  147. package/.github/skills/md-file-converter/extractors/extract-docx.sh +120 -0
  148. package/.github/skills/md-file-converter/extractors/extract-eml.py +108 -0
  149. package/.github/skills/md-file-converter/extractors/extract-pdf.sh +97 -0
  150. package/.github/skills/md-file-converter/extractors/extract-pptx.py +143 -0
  151. package/.github/skills/md-file-converter/extractors/extract-xlsx.py +175 -0
  152. package/.github/skills/md-file-converter/scripts/check-tools.sh +47 -0
  153. package/.github/skills/md-file-converter/scripts/extract-archive.sh +83 -0
  154. package/.github/skills/md-file-converter/scripts/extract-ocr.sh +77 -0
  155. package/.github/skills/md-file-converter/scripts/get-metadata.sh +57 -0
  156. package/.github/skills/md-file-converter/templates/output.md +73 -0
  157. package/.github/skills/md-file-converter/templates/unsupported-object.md +6 -0
  158. package/.github/skills/mockAPI-contract-generator/SKILL.md +607 -0
  159. package/.github/skills/test-case-validator/CHANGELOG.md +155 -0
  160. package/.github/skills/test-case-validator/CONFIGURATION.md +130 -0
  161. package/.github/skills/test-case-validator/EXAMPLES.md +50 -0
  162. package/.github/skills/test-case-validator/QUALITY_SCORING.md +98 -0
  163. package/.github/skills/test-case-validator/README.md +111 -0
  164. package/.github/skills/test-case-validator/REPORT_TEMPLATE.md +116 -0
  165. package/.github/skills/test-case-validator/SKILL.md +209 -0
  166. package/.github/skills/test-case-validator/SYSTEM_PROMPT.md +127 -0
  167. package/.github/skills/test-case-validator/TRACEABILITY_ENGINE.md +152 -0
  168. package/.github/skills/test-case-validator/VALIDATION_RULES.md +411 -0
  169. package/.github/skills/test-case-validator/config/default.config.yaml +62 -0
  170. package/.github/skills/test-case-validator/docs/ARCHITECTURE.md +66 -0
  171. package/.github/skills/test-case-validator/docs/EXTENDING.md +85 -0
  172. package/.github/skills/test-case-validator/docs/FAQ.md +88 -0
  173. package/.github/skills/test-case-validator/docs/VERSIONING.md +55 -0
  174. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-brd.md +43 -0
  175. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-test-cases.csv +9 -0
  176. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/input-user-story.md +29 -0
  177. package/.github/skills/test-case-validator/examples/example-1-manual-qa-ecommerce/output-report.md +303 -0
  178. package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-spec.md +43 -0
  179. package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/input-test-files-index.md +56 -0
  180. package/.github/skills/test-case-validator/examples/example-2-automated-frontend-suite/output-report.md +274 -0
  181. package/.github/skills/test-case-validator/prompts/00-applicability-resolution.md +61 -0
  182. package/.github/skills/test-case-validator/prompts/01-extraction-user-story.md +58 -0
  183. package/.github/skills/test-case-validator/prompts/02-extraction-brd.md +64 -0
  184. package/.github/skills/test-case-validator/prompts/03-extraction-test-cases.md +92 -0
  185. package/.github/skills/test-case-validator/prompts/04-traceability-matrix.md +41 -0
  186. package/.github/skills/test-case-validator/prompts/05-coverage-analysis.md +46 -0
  187. package/.github/skills/test-case-validator/prompts/06-missing-scenario-detection.md +32 -0
  188. package/.github/skills/test-case-validator/prompts/07-duplicate-detection.md +36 -0
  189. package/.github/skills/test-case-validator/prompts/08-risk-analysis.md +39 -0
  190. package/.github/skills/test-case-validator/prompts/09-gated-wiring-validation.md +53 -0
  191. package/.github/skills/test-case-validator/prompts/10-observation-report.md +56 -0
  192. package/.github/skills/test-case-validator/prompts/11-final-report-assembly.md +57 -0
  193. package/.github/skills/test-case-validator/templates/coverage-table.md +25 -0
  194. package/.github/skills/test-case-validator/templates/executive-summary.md +38 -0
  195. package/.github/skills/test-case-validator/templates/final-summary-block.md +87 -0
  196. package/.github/skills/test-case-validator/templates/observation-entry.md +41 -0
  197. package/.github/skills/test-case-validator/templates/rtm-row.md +25 -0
  198. package/.github/skills/validation-engine-builder/README.md +50 -0
  199. package/.github/skills/validation-engine-builder/SKILL.md +241 -0
  200. package/.github/skills/validation-engine-builder/references/core.md +158 -0
  201. package/.github/skills/validation-engine-builder/references/platform-angular.md +166 -0
  202. package/.github/skills/validation-engine-builder/references/platform-flutter.md +118 -0
  203. package/.github/skills/validation-engine-builder/references/platform-react-native.md +170 -0
  204. package/.github/skills/validation-engine-builder/references/platform-react.md +94 -0
  205. package/.github/skills/validation-engine-builder/scripts/apply-to-project.js +80 -0
  206. package/.github/skills/validation-engine-builder/scripts/generate-angular.js +271 -0
  207. package/.github/skills/validation-engine-builder/scripts/generate-flutter.js +298 -0
  208. package/.github/skills/validation-engine-builder/scripts/generate-react-native.js +217 -0
  209. package/.github/skills/validation-engine-builder/scripts/generate-react.js +163 -0
  210. package/.github/skills/validation-engine-builder/scripts/install-deps.js +53 -0
  211. package/.github/skills/validation-engine-builder/scripts/shared/detect-platform.js +68 -0
  212. package/.github/skills/validation-engine-builder/scripts/shared/npm-deps.js +103 -0
  213. package/.github/skills/validation-engine-builder/scripts/shared/rhf-hook.js +43 -0
  214. package/.github/skills/validation-engine-builder/scripts/shared/ts-messages-regex.js +62 -0
  215. package/.github/skills/validation-engine-builder/scripts/shared/util.js +44 -0
  216. package/.github/skills/validation-engine-builder/scripts/shared/yup-schemas.js +80 -0
  217. package/.github/skills/validation-engine-builder/template.md +73 -0
  218. package/.github/skills/validation-engine-builder/templates/messages.json +22 -0
  219. package/.github/skills/validation-engine-builder/templates/regex.json +16 -0
  220. package/.github/skills/validation-engine-builder/templates/schemas.json +48 -0
  221. package/bin/index.js +145 -0
  222. package/package.json +22 -0
  223. package/readme.md +0 -0
@@ -0,0 +1,241 @@
1
+ # Skill Execution Template: Encryption-Decryption Generator
2
+
3
+ Use this template whenever this skill is invoked. Follow steps in order.
4
+
5
+ ---
6
+
7
+ ## 0) Pre-Flight: Dependency Chain Check (React Native projects only)
8
+
9
+ Before asking any questions, verify the dependency chain will work:
10
+
11
+ ```bash
12
+ node -p "require('./package.json').dependencies['react-native']"
13
+ npm ls react-native-quick-crypto react-native-nitro-modules react-native-worklets buffer 2>&1
14
+ ```
15
+
16
+ If React Native >= 0.76 and `react-native-quick-crypto` >= 1.0 will be used:
17
+ - `react-native-nitro-modules` MUST be installed (peer dep, not auto-installed reliably)
18
+ - `react-native-worklets` MUST be installed (peer dep)
19
+ - After install, Android `.cxx` cache MUST be cleaned before building
20
+ - See `references/dependency-guidance.md` → "CRITICAL: Transitive Dependencies" for version matrix
21
+
22
+ ---
23
+
24
+ ## 1) Platform and Approach Gate (Ask First)
25
+
26
+ Before any other question, confirm:
27
+
28
+ 1. **Which platform?**
29
+ Options: `angular`, `web`, `node`, `android`, `ios`, `flutter`, `react`, `react-native`
30
+ Default for this workspace: `react-native`
31
+
32
+ 2. **For React Native — which encryption layer?**
33
+ - **React Native (JS)** — JS-based crypto using `react-native-quick-crypto`. Default = approach 4.
34
+ - **Native** — Device OS-level crypto. Android `javax.crypto.Cipher` + iOS CryptoKit/CommonCrypto. Default = approach 5.
35
+ If omitted, apply default (React Native JS / approach 4) and continue.
36
+
37
+ 3. **For React Native — which encryption model?**
38
+ - **RSA** (default) — RSA-OAEP key wrapping. Approach 4 (JS) or 5 (Native).
39
+ - **EC** — ECDH P-256 + HKDF-SHA256 + AES-256-GCM. Approach 6. Per-request or session-init contract.
40
+ If omitted, apply RSA default.
41
+
42
+ 4. **Which approach?** (validate against `assets/platform-matrix.json`)
43
+
44
+ Collect all remaining configuration questions in one pass using `templates/config-questionnaire.md`.
45
+ Do not write any files until all answers are received and validated.
46
+ Apply documented defaults automatically for unanswered non-critical fields.
47
+
48
+ ---
49
+
50
+ ## 2) Confirmed Configuration Snapshot
51
+
52
+ Record final selections before implementation (copy from `templates/config-questionnaire.md`):
53
+
54
+ - Platform:
55
+ - Approach:
56
+ - Encryption layer (RN only): React Native (JS) / Native
57
+ - RSA padding: Default = RSA-OAEP
58
+ - RSA key source: Default = API
59
+ - RSA key endpoint: Default = `<API_BASE_URL>/api/security/public-key`
60
+ - RSA key retries: Default = 3
61
+ - RSA key response format: Default = `{ public_key: string, key_id: string, expires_at?: string }`
62
+ - RSA key caching policy: Default = in-memory only (never persist to disk or storage)
63
+ - [EC model only] EC contract type: Default = per-request (**ask developer** for session-init; no default)
64
+ - [EC model only] EC key endpoint: Default = `<API_BASE_URL>/api/security/ec-public-key`
65
+ - [EC session-init only] `SESSION_INIT_ENDPOINT`: **REQUIRED — ask developer, no default**
66
+ - [EC session-init only] `CREATE_SESSION_ENDPOINT`: **REQUIRED — ask developer, no default**
67
+ - [EC session-init only] `HKDF_INFO` string: **REQUIRED — ask developer, no default** (never assume `'enc'`)
68
+ - [EC session-init only] `AAD_SHAPE` (canonical JSON field list): **REQUIRED — ask developer, no default**
69
+ - [EC session-init only] `NONCE_FORMAT` (length, charset, encoding): **REQUIRED — ask developer, no default**
70
+ - [EC session-init only] `RESPONSE_ENCODING` (standard-base64 / base64url): **REQUIRED — ask developer, no default**
71
+ - [EC session-init only] `DEVICE_ID_SOURCE`: **REQUIRED — ask developer, no default**
72
+ - [EC session-init only] `encrypted_shared_aes_key` handling: **REQUIRED — ask developer** (used / ignored)
73
+ - API client type: Default = Axios
74
+ - API layer path: Default = `src/services/api.ts`
75
+ - Encryption toggle: Default = env-flag
76
+ - HMAC signing: Default = No
77
+ - URL exclusions: Default = none
78
+ - [Native mode only] Min iOS version: Default = 13
79
+ - [Native mode only] Android Kotlin package: Default = `com.example.security`
80
+
81
+ ---
82
+
83
+ ## 3) Project Analysis
84
+
85
+ Before writing any file, identify existing structure to avoid duplication:
86
+
87
+ - API client file location:
88
+ - Existing interceptor location (if any):
89
+ - Config / env module (react-native-config, dotenv, etc.):
90
+ - Token / storage service:
91
+ - App startup / init file (`index.js`, `main.ts`, `App.tsx`, etc.):
92
+ - [Native mode] Android native modules folder (`android/app/src/main/java/...`):
93
+ - [Native mode] iOS native modules folder (`ios/`):
94
+ - [Angular] NgModule or standalone (check for `src/app/app.module.ts`):
95
+
96
+ Do not create unnecessary folders or duplicate existing architecture.
97
+
98
+ ---
99
+
100
+ ## 4) Dependency and Compatibility Check
101
+
102
+ 1. Read React Native / framework version from `package.json` or project manifest.
103
+ 2. Check existing crypto, keychain, and network dependencies.
104
+ 3. Use `references/dependency-guidance.md` to select compatible package versions.
105
+ 4. Identify which packages are already installed (skip those).
106
+ 5. Propose install command for new packages only.
107
+
108
+ ---
109
+
110
+ ## 5) Run detect.js
111
+
112
+ ```bash
113
+ node scripts/detect.js --project-path <projectPath>
114
+ ```
115
+
116
+ - Exit 0 (ENCRYPTION_NOT_FOUND): proceed normally.
117
+ - Exit 1 (ENCRYPTION_FOUND): display the reuse/replace/refactor/cancel menu and wait for user input before continuing.
118
+ - Exit 2 (input error): report and halt.
119
+
120
+ ---
121
+
122
+ ## 6) Implementation Plan
123
+
124
+ Fill out `templates/implementation-plan.md` before writing any files:
125
+
126
+ React Native JS mode files to write:
127
+ - `src/services/security/types.ts`
128
+ - `src/services/security/encryption.service.ts`
129
+ - `src/services/security/decryption.service.ts`
130
+ - `src/services/security/rsa-key.service.ts`
131
+ - `src/services/security/keychain.service.ts`
132
+ - `src/services/security/hmac.service.ts`
133
+ - `src/services/security/encryption-config.ts`
134
+ - `src/services/security/encryption.interceptor.ts`
135
+
136
+ EC mode (approach 6) files to write:
137
+ - `src/services/security/types.ts` (add EC types alongside RSA types)
138
+ - `src/services/security/ec-key.service.ts`
139
+ - `src/services/security/ec-crypto.util.ts` (per-request: `ecEncryptPayload`/`ecDeriveKey`; session-init: `deriveSessionKey`/`sessionEncrypt`/`sessionDecrypt`)
140
+ - `src/services/security/keychain.service.ts`
141
+ - `src/services/security/hmac.service.ts` (if HMAC enabled)
142
+ - `src/services/security/encryption-config.ts`
143
+ - Patch `src/services/api.ts` with `ENCRYPTION_MODEL` routing
144
+ - `src/api/axiosInstance.ts` (create or patch)
145
+ - `index.js` (prepend polyfill)
146
+
147
+ Native mode additional files:
148
+ - `android/…/NativeCryptoModule.kt`
149
+ - `android/…/NativeCryptoPackage.kt`
150
+ - `ios/NativeCryptoModule.swift`
151
+ - `ios/NativeCryptoModule.m`
152
+ - `src/services/security/native-crypto.module.ts`
153
+
154
+ ---
155
+
156
+ ## 7) Generate and Install Files
157
+
158
+ 1. Build a resolved config from `assets/encryption-config-template.json` merged with collected inputs.
159
+ 2. Write config to a temporary file (delete immediately after install regardless of exit code).
160
+ 3. Run: `node scripts/install.js --config-json <tempFile> [--detection-mode <mode>]`
161
+ 4. On exit 0: continue. On exit 1 or 2: report and halt.
162
+
163
+ ---
164
+
165
+ ## 8) Validation Checklist (Both Modes)
166
+
167
+ - POST/PUT/PATCH encrypted correctly.
168
+ - GET and FormData skipped.
169
+ - Nonce generated per request.
170
+ - Request map handles concurrency (unique `requestId` per request).
171
+ - Key unavailable path fails securely (blocks encrypted calls).
172
+ - Invalid auth tag path triggers secure logout/session reset.
173
+ - No sensitive logging.
174
+ - Auth tag verified on decryption.
175
+
176
+ React Native JS mode:
177
+ - AES-256-GCM and auth tag verified via `react-native-quick-crypto`.
178
+
179
+ Native mode:
180
+ - AES-256-GCM verified by native platform cipher (Android `javax.crypto.Cipher` / iOS CryptoKit).
181
+ - `NativeModules.NativeCryptoModule` accessible from JS at startup.
182
+
183
+ Run items from `references/security-checklist.md` (platform section) and `templates/delivery-checklist.md`.
184
+
185
+ ### EC Mode (Approach 6) Additional Validation
186
+
187
+ - Server EC public key validated: 65 bytes, first byte `0x04`.
188
+ - ECDH shared secret computed correctly.
189
+ - Derived AES key never logged or transmitted — only `ephemeral_public_key` in envelope.
190
+ - Ephemeral EC key pair discarded after `computeSecret()`.
191
+ - `toBase64()` helper used everywhere — NOT `Buffer.toString('base64')` (broken on Hermes).
192
+ - `byteCopy()` used on sliced buffers before passing to quick-crypto native code.
193
+ - Dual Buffer imports compile without conflict (`Buffer from 'buffer'` + `Buffer as QCBuffer from 'react-native-quick-crypto'`).
194
+
195
+ ### Session-Init EC Mode (Additional Validation)
196
+
197
+ - `deriveSessionKey()` uses backend's exact HKDF `info` string (not `'enc'`).
198
+ - `buildSessionAad()` produces canonical JSON with alphabetically sorted keys.
199
+ - `sessionEncrypt()` uses nonce-as-IV and correct AAD (confirmed from contract).
200
+ - `sessionDecrypt()` uses correct IV source (confirmed from contract).
201
+ - `urlSafeBase64ToStd()` applied to all base64url fields from server.
202
+ - `initEncryptionSession` sends real freshly-generated `client_ecdh_pub`.
203
+ - `createSession` runs only after `initEncryptionSession` succeeds.
204
+ - `encrypted_shared_aes_key` handling matches confirmed contract.
205
+ - `device_id` consistent across init, HKDF, AAD, and encrypted requests.
206
+ - Nonce format matches backend contract exactly.
207
+ - Nonce generator uses CSPRNG (`randomBytes`) — NOT `Math.random()` — nonce IS the AES-GCM IV.
208
+ - Token persistence is separate from session key lifetime.
209
+ - Dead debug code removed (unwrapSessionKey, tryAesGcmDecrypt, hkdfExpandOnly, hkdfSwapped).
210
+
211
+ ---
212
+
213
+ ## 9) Backend Alignment
214
+
215
+ For approaches 4 and 5, print the full backend contract from `references/backend-alignment.md` so the user can share it with their server team.
216
+
217
+ ---
218
+
219
+ ## 10) Build Verification
220
+
221
+ Read `buildCommand` from `assets/platform-matrix.json` for the selected platform and run it.
222
+ Retry up to 3 times on failure, then report exit code 4.
223
+
224
+ ---
225
+
226
+ ## 11) Setup Report
227
+
228
+ Print the 6-field setup report:
229
+
230
+ ```
231
+ === SETUP REPORT ===
232
+ Platform : <platform>
233
+ Approach : <approach>
234
+ HMAC enabled : <true|false>
235
+ URL exclusions : <comma-separated or blank>
236
+ Files written/patched : <integer>
237
+ Build status : <PASS|FAIL>
238
+ ====================
239
+ ```
240
+
241
+ Include packages installed, any manual steps required (pod install, MainApplication registration), and residual risks.