native-update 1.4.9 → 3.1.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 (265) hide show
  1. package/Readme.md +35 -9
  2. package/android/manifest-additions.xml +28 -0
  3. package/android/src/main/AndroidManifest.xml +3 -7
  4. package/android/src/main/java/com/aoneahsan/nativeupdate/BackgroundNotificationManager.kt +21 -13
  5. package/android/src/main/java/com/aoneahsan/nativeupdate/BackgroundUpdatePlugin.kt +15 -0
  6. package/android/src/main/java/com/aoneahsan/nativeupdate/BackgroundUpdateWorker.kt +23 -7
  7. package/android/src/main/java/com/aoneahsan/nativeupdate/LiveUpdatePlugin.kt +346 -31
  8. package/android/src/main/java/com/aoneahsan/nativeupdate/NativeUpdatePlugin.kt +32 -34
  9. package/android/src/main/java/com/aoneahsan/nativeupdate/NotificationActionReceiver.kt +10 -1
  10. package/android/src/main/java/com/aoneahsan/nativeupdate/SecurityManager.kt +18 -18
  11. package/cli/AGENTS.md +43 -0
  12. package/cli/CLAUDE.md +65 -0
  13. package/cli/commands/backend-create.js +56 -15
  14. package/cli/commands/bundle-create.js +39 -7
  15. package/cli/commands/monitor.js +72 -51
  16. package/cli/index.js +10 -24
  17. package/cli/package.json +11 -3
  18. package/dist/esm/app-review/app-review-manager.js +0 -1
  19. package/dist/esm/app-review/index.js +0 -1
  20. package/dist/esm/app-review/platform-review-handler.js +0 -1
  21. package/dist/esm/app-review/review-conditions-checker.js +0 -1
  22. package/dist/esm/app-review/review-rate-limiter.js +0 -1
  23. package/dist/esm/app-review/types.js +0 -1
  24. package/dist/esm/app-update/app-update-checker.js +0 -1
  25. package/dist/esm/app-update/app-update-installer.d.ts +1 -0
  26. package/dist/esm/app-update/app-update-installer.js +19 -8
  27. package/dist/esm/app-update/app-update-manager.js +0 -1
  28. package/dist/esm/app-update/app-update-notifier.js +0 -1
  29. package/dist/esm/app-update/index.js +0 -1
  30. package/dist/esm/app-update/platform-app-update.js +12 -3
  31. package/dist/esm/app-update/types.js +0 -1
  32. package/dist/esm/background-update/background-scheduler.js +0 -1
  33. package/dist/esm/background-update/index.js +0 -1
  34. package/dist/esm/background-update/notification-manager.js +0 -1
  35. package/dist/esm/config/support.js +0 -1
  36. package/dist/esm/core/analytics.d.ts +13 -0
  37. package/dist/esm/core/analytics.js +15 -1
  38. package/dist/esm/core/cache-manager.js +0 -1
  39. package/dist/esm/core/config.d.ts +6 -30
  40. package/dist/esm/core/config.js +1 -8
  41. package/dist/esm/core/errors.d.ts +1 -0
  42. package/dist/esm/core/errors.js +1 -1
  43. package/dist/esm/core/event-emitter.d.ts +0 -3
  44. package/dist/esm/core/event-emitter.js +8 -3
  45. package/dist/esm/core/logger.js +0 -1
  46. package/dist/esm/core/performance.js +0 -1
  47. package/dist/esm/core/plugin-manager.js +3 -1
  48. package/dist/esm/core/security.d.ts +22 -3
  49. package/dist/esm/core/security.js +46 -7
  50. package/dist/esm/definitions.d.ts +13 -40
  51. package/dist/esm/definitions.js +0 -1
  52. package/dist/esm/index.d.ts +3 -4
  53. package/dist/esm/index.js +3 -3
  54. package/dist/esm/live-update/bundle-manager.d.ts +8 -0
  55. package/dist/esm/live-update/bundle-manager.js +20 -1
  56. package/dist/esm/live-update/certificate-pinning.js +0 -1
  57. package/dist/esm/live-update/delta-processor.d.ts +1 -1
  58. package/dist/esm/live-update/delta-processor.js +3 -1
  59. package/dist/esm/live-update/download-manager.d.ts +36 -5
  60. package/dist/esm/live-update/download-manager.js +70 -24
  61. package/dist/esm/live-update/rollout-checker.d.ts +1 -1
  62. package/dist/esm/live-update/rollout-checker.js +5 -6
  63. package/dist/esm/live-update/update-manager.d.ts +12 -1
  64. package/dist/esm/live-update/update-manager.js +38 -11
  65. package/dist/esm/live-update/version-manager.d.ts +9 -12
  66. package/dist/esm/live-update/version-manager.js +40 -68
  67. package/dist/esm/plugin.js +82 -89
  68. package/dist/esm/security/crypto.js +11 -7
  69. package/dist/esm/security/validator.js +0 -1
  70. package/dist/esm/types/rollout.d.ts +85 -0
  71. package/dist/esm/types/rollout.js +25 -0
  72. package/dist/esm/web.d.ts +26 -1
  73. package/dist/esm/web.js +214 -75
  74. package/dist/plugin.cjs.js +1 -2
  75. package/dist/plugin.esm.js +1 -2
  76. package/dist/plugin.js +2 -3
  77. package/docs/AGENTS.md +38 -0
  78. package/docs/CHANGELOG.md +275 -0
  79. package/docs/CLAUDE.md +101 -0
  80. package/docs/MANUAL-TASKS.md +17 -0
  81. package/docs/MARKETING_WEBSITE_TRACKER.md +18 -2
  82. package/docs/MIGRATION.md +170 -0
  83. package/docs/PACKAGES.md +167 -0
  84. package/docs/PERFORMANCE.md +110 -0
  85. package/docs/PROJECT_COMPLETION_TRACKER.md +4 -35
  86. package/docs/README.md +12 -2
  87. package/docs/REMAINING_FEATURES.md +123 -76
  88. package/docs/ROADMAP.md +200 -120
  89. package/docs/SECURITY-IF-REPO-PUBLIC.md +232 -0
  90. package/docs/TESTING_REQUIREMENTS.md +1 -112
  91. package/docs/ai-knowledge-base/00-project-profile.md +38 -0
  92. package/docs/ai-knowledge-base/01-features.md +46 -0
  93. package/docs/ai-knowledge-base/02-routes.md +72 -0
  94. package/docs/ai-knowledge-base/03-tech-stack.md +57 -0
  95. package/docs/ai-knowledge-base/README.md +23 -0
  96. package/docs/analytics-tracking.md +37 -0
  97. package/docs/capacitor-official-plugins.md +46 -0
  98. package/docs/capawesome-plugins.md +29 -0
  99. package/docs/deployment/HOSTINGER_DEPLOY.md +370 -0
  100. package/docs/deployment/PRODUCTION-DEPLOY-CHECKLIST.md +184 -0
  101. package/docs/docs-site/plan.md +201 -0
  102. package/docs/docs-site/scope.md +127 -0
  103. package/docs/docs-site/tracker.json +235 -0
  104. package/docs/error-handling-tracking.md +37 -0
  105. package/docs/features/laravel-nova-backend/ASSESSMENT-SUMMARY.md +96 -0
  106. package/docs/features/laravel-nova-backend/IMPLEMENTATION-PLAN.md +504 -0
  107. package/docs/features/laravel-nova-backend/progress-tracker.json +184 -0
  108. package/docs/guides/testing-guide.md +15 -41
  109. package/docs/package-audit.md +41 -0
  110. package/docs/play-store/ASO-METADATA.md +5 -0
  111. package/docs/play-store/DATA-SAFETY.md +5 -0
  112. package/docs/play-store/DECLARATIONS.md +5 -0
  113. package/docs/play-store/README.md +27 -0
  114. package/docs/play-store/RELEASE-NOTES.md +99 -0
  115. package/docs/play-store/RELEASE-STEPS.md +6 -0
  116. package/docs/play-store/STORE-LISTING.md +7 -0
  117. package/docs/play-store/SUBMISSION-CHECKLIST.md +5 -0
  118. package/docs/production-readiness.md +1 -1
  119. package/docs/project-audit/2026-05-16/00-FINALIZATION-PLAN.md +123 -0
  120. package/docs/project-audit/2026-05-16/01-BATCH-PLAN.md +227 -0
  121. package/docs/project-audit/2026-05-16/02-AUDIT-FINDINGS.md +144 -0
  122. package/docs/project-audit/2026-05-16/sessions/batch-01.md +42 -0
  123. package/docs/project-audit/2026-05-16/sessions/batch-02.md +74 -0
  124. package/docs/project-audit/2026-05-16/sessions/batch-03.md +71 -0
  125. package/docs/project-audit/2026-05-16/sessions/batch-04.md +88 -0
  126. package/docs/project-audit/2026-05-16/sessions/batch-05.md +63 -0
  127. package/docs/project-audit/2026-05-16/sessions/batch-06.md +103 -0
  128. package/docs/project-audit/2026-05-16/sessions/batch-07.md +61 -0
  129. package/docs/project-audit/2026-05-16/sessions/batch-08.md +101 -0
  130. package/docs/project-audit/2026-05-16/sessions/batch-09.md +105 -0
  131. package/docs/project-audit/2026-05-16/sessions/batch-10.md +102 -0
  132. package/docs/project-audit/AUDIT-HISTORY.md +74 -0
  133. package/docs/project-audit/BATCH-PLAN.md +168 -0
  134. package/docs/project-audit/MARKETING-WEBSITE-FINDINGS-2026-05-11.md +73 -0
  135. package/docs/project-audit/PRODUCTION-READINESS-AUDIT-2026-05-08.md +275 -0
  136. package/docs/project-finalization/00-tracker.json +60 -0
  137. package/docs/project-knowledge-base/01-system-overview.md +227 -0
  138. package/docs/project-knowledge-base/02-routes-pages-forms-users.md +352 -0
  139. package/docs/project-knowledge-base/03-tech-stack-modules-services.md +379 -0
  140. package/docs/project-knowledge-base/04-data-models-integrations.md +244 -0
  141. package/docs/project-knowledge-base/05-docs-corpus-inventory.md +256 -0
  142. package/docs/project-knowledge-base/06-operations-testing-legal-content.md +208 -0
  143. package/docs/project-knowledge-base/README.md +103 -0
  144. package/docs/project-profiles/native-update-capacitor-update-platform-project-profile-last-updated-2026-05-19.md +81 -0
  145. package/docs/rules-tracker.md +102 -0
  146. package/docs/security/PRE-LAUNCH-PENTEST-CHECKLIST.md +116 -0
  147. package/docs/seo-aeo-rules.json +3043 -0
  148. package/docs/social-media-marketing/README.md +81 -0
  149. package/docs/social-media-marketing/posts-batch-01.md +613 -0
  150. package/docs/social-media-marketing/posts-batch-02.md +528 -0
  151. package/docs/social-media-marketing/whatsapp-messages-batch-01.md +458 -0
  152. package/docs/social-media-marketing/whatsapp-status-batch-01.md +355 -0
  153. package/docs/tracking/finalization-2026-05-16-tracker.json +346 -0
  154. package/docs/tracking/full-audit-tracker.json +121 -0
  155. package/docs/tracking/production-readiness-audit-tracker.json +429 -0
  156. package/docs/tracking/seo-checklist-tracker.json +333 -0
  157. package/ios/Plugin/BackgroundUpdate/BackgroundUpdatePlugin.swift +66 -9
  158. package/ios/Plugin/LiveUpdate/LiveUpdatePlugin.swift +306 -52
  159. package/ios/Plugin/NativeUpdatePlugin.swift +22 -9
  160. package/ios/Plugin/Security/SecurityManager.swift +13 -14
  161. package/package.json +37 -38
  162. package/cli/node_modules/.yarn-integrity +0 -16
  163. package/cli/node_modules/commander/LICENSE +0 -22
  164. package/cli/node_modules/commander/Readme.md +0 -1148
  165. package/cli/node_modules/commander/esm.mjs +0 -16
  166. package/cli/node_modules/commander/index.js +0 -26
  167. package/cli/node_modules/commander/lib/argument.js +0 -145
  168. package/cli/node_modules/commander/lib/command.js +0 -2179
  169. package/cli/node_modules/commander/lib/error.js +0 -43
  170. package/cli/node_modules/commander/lib/help.js +0 -462
  171. package/cli/node_modules/commander/lib/option.js +0 -329
  172. package/cli/node_modules/commander/lib/suggestSimilar.js +0 -100
  173. package/cli/node_modules/commander/package-support.json +0 -16
  174. package/cli/node_modules/commander/package.json +0 -80
  175. package/cli/node_modules/commander/typings/esm.d.mts +0 -3
  176. package/cli/node_modules/commander/typings/index.d.ts +0 -884
  177. package/cli/yarn.lock +0 -8
  178. package/dist/esm/__tests__/bundle-manager.test.d.ts +0 -1
  179. package/dist/esm/__tests__/bundle-manager.test.js +0 -151
  180. package/dist/esm/__tests__/bundle-manager.test.js.map +0 -1
  181. package/dist/esm/__tests__/config.test.d.ts +0 -1
  182. package/dist/esm/__tests__/config.test.js +0 -70
  183. package/dist/esm/__tests__/config.test.js.map +0 -1
  184. package/dist/esm/__tests__/delta-processor.test.d.ts +0 -1
  185. package/dist/esm/__tests__/delta-processor.test.js +0 -77
  186. package/dist/esm/__tests__/delta-processor.test.js.map +0 -1
  187. package/dist/esm/__tests__/firestore-schema.test.d.ts +0 -1
  188. package/dist/esm/__tests__/firestore-schema.test.js +0 -74
  189. package/dist/esm/__tests__/firestore-schema.test.js.map +0 -1
  190. package/dist/esm/__tests__/integration.test.d.ts +0 -1
  191. package/dist/esm/__tests__/integration.test.js +0 -78
  192. package/dist/esm/__tests__/integration.test.js.map +0 -1
  193. package/dist/esm/__tests__/manifest-reader.test.d.ts +0 -1
  194. package/dist/esm/__tests__/manifest-reader.test.js +0 -271
  195. package/dist/esm/__tests__/manifest-reader.test.js.map +0 -1
  196. package/dist/esm/__tests__/rollout-checker.test.d.ts +0 -1
  197. package/dist/esm/__tests__/rollout-checker.test.js +0 -210
  198. package/dist/esm/__tests__/rollout-checker.test.js.map +0 -1
  199. package/dist/esm/__tests__/security.test.d.ts +0 -1
  200. package/dist/esm/__tests__/security.test.js +0 -54
  201. package/dist/esm/__tests__/security.test.js.map +0 -1
  202. package/dist/esm/__tests__/version-manager.test.d.ts +0 -1
  203. package/dist/esm/__tests__/version-manager.test.js +0 -45
  204. package/dist/esm/__tests__/version-manager.test.js.map +0 -1
  205. package/dist/esm/app-review/app-review-manager.js.map +0 -1
  206. package/dist/esm/app-review/index.js.map +0 -1
  207. package/dist/esm/app-review/platform-review-handler.js.map +0 -1
  208. package/dist/esm/app-review/review-conditions-checker.js.map +0 -1
  209. package/dist/esm/app-review/review-rate-limiter.js.map +0 -1
  210. package/dist/esm/app-review/types.js.map +0 -1
  211. package/dist/esm/app-update/app-update-checker.js.map +0 -1
  212. package/dist/esm/app-update/app-update-installer.js.map +0 -1
  213. package/dist/esm/app-update/app-update-manager.js.map +0 -1
  214. package/dist/esm/app-update/app-update-notifier.js.map +0 -1
  215. package/dist/esm/app-update/index.js.map +0 -1
  216. package/dist/esm/app-update/platform-app-update.js.map +0 -1
  217. package/dist/esm/app-update/types.js.map +0 -1
  218. package/dist/esm/background-update/background-scheduler.js.map +0 -1
  219. package/dist/esm/background-update/index.js.map +0 -1
  220. package/dist/esm/background-update/notification-manager.js.map +0 -1
  221. package/dist/esm/config/support.js.map +0 -1
  222. package/dist/esm/core/analytics.js.map +0 -1
  223. package/dist/esm/core/cache-manager.js.map +0 -1
  224. package/dist/esm/core/config.js.map +0 -1
  225. package/dist/esm/core/errors.js.map +0 -1
  226. package/dist/esm/core/event-emitter.js.map +0 -1
  227. package/dist/esm/core/logger.js.map +0 -1
  228. package/dist/esm/core/performance.js.map +0 -1
  229. package/dist/esm/core/plugin-manager.js.map +0 -1
  230. package/dist/esm/core/security.js.map +0 -1
  231. package/dist/esm/definitions.js.map +0 -1
  232. package/dist/esm/firestore/firestore-client.d.ts +0 -109
  233. package/dist/esm/firestore/firestore-client.js +0 -264
  234. package/dist/esm/firestore/firestore-client.js.map +0 -1
  235. package/dist/esm/firestore/index.d.ts +0 -11
  236. package/dist/esm/firestore/index.js +0 -11
  237. package/dist/esm/firestore/index.js.map +0 -1
  238. package/dist/esm/firestore/manifest-reader.d.ts +0 -87
  239. package/dist/esm/firestore/manifest-reader.js +0 -294
  240. package/dist/esm/firestore/manifest-reader.js.map +0 -1
  241. package/dist/esm/firestore/schema.d.ts +0 -507
  242. package/dist/esm/firestore/schema.js +0 -73
  243. package/dist/esm/firestore/schema.js.map +0 -1
  244. package/dist/esm/index.js.map +0 -1
  245. package/dist/esm/live-update/bundle-manager.js.map +0 -1
  246. package/dist/esm/live-update/certificate-pinning.js.map +0 -1
  247. package/dist/esm/live-update/delta-processor.js.map +0 -1
  248. package/dist/esm/live-update/download-manager.js.map +0 -1
  249. package/dist/esm/live-update/rollout-checker.js.map +0 -1
  250. package/dist/esm/live-update/update-manager.js.map +0 -1
  251. package/dist/esm/live-update/version-manager.js.map +0 -1
  252. package/dist/esm/plugin.js.map +0 -1
  253. package/dist/esm/security/crypto.js.map +0 -1
  254. package/dist/esm/security/validator.js.map +0 -1
  255. package/dist/esm/web.js.map +0 -1
  256. package/dist/plugin.cjs.js.map +0 -1
  257. package/dist/plugin.esm.js.map +0 -1
  258. package/dist/plugin.js.map +0 -1
  259. package/docs/FIREBASE_INTEGRATION_TRACKER.md +0 -321
  260. package/docs/FIREBASE_QUERIES_AND_INDEXES_AUDIT.md +0 -221
  261. package/docs/examples/firebase-backend-example.md +0 -27
  262. package/docs/guides/no-cost-backend-implementation-plan.md +0 -77
  263. package/docs/guides/no-cost-firestore-google-drive-backend.md +0 -60
  264. package/docs/play-console-rejection-rules.json +0 -428
  265. /package/docs/{MARKETING_WEBSITE_PLAN.md → archive/MARKETING_WEBSITE_PLAN.md} +0 -0
@@ -0,0 +1,256 @@
1
+ # Native Update Docs Corpus Inventory
2
+
3
+ ## Metadata
4
+
5
+ - **Reference Date:** 2026-05-18
6
+ - **Last Updated:** 2026-05-18
7
+ - **Goal:** Enumerate the current `/docs` folder so AI tools know what documentation already exists before planning, writing, or duplicating work
8
+
9
+ ## Coverage Note
10
+
11
+ This file inventories the docs currently present in `/docs`. It is a high-context index, not a replacement for reading the source documents when exact wording or implementation detail is needed.
12
+
13
+ There is also a separate **public Docusaurus site** at the sibling repo `native-update-docs/` (deployed to Firebase Hosting). That site mirrors the curated user-facing subset (Tutorials, How-to, Reference, Explanation — Diátaxis), and is not duplicated here.
14
+
15
+ ## Root-Level Docs
16
+
17
+ | Path | Purpose / Notes |
18
+ |------|------------------|
19
+ | `docs/README.md` | Main docs landing page and public docs overview |
20
+ | `docs/APP_REVIEW_GUIDE.md` | Review-related guide content |
21
+ | `docs/BUNDLE_SIGNING.md` | Signing workflow and bundle security guidance |
22
+ | `docs/CHANGELOG.md` | Project change history |
23
+ | `docs/COMPREHENSIVE_AUDIT_REPORT.md` | Broad audit/reporting artifact |
24
+ | `docs/EXAMPLE_APPS_SIMPLIFICATION_PLAN.md` | Plan for simplifying example apps |
25
+ | `docs/EXAMPLE_APPS_SIMPLIFICATION_TRACKER.md` | Tracking file for example-app simplification |
26
+ | `docs/KNOWN_LIMITATIONS.md` | Explicit limitations and caveats |
27
+ | `docs/LIVE_UPDATES_GUIDE.md` | OTA/live update guidance |
28
+ | `docs/archive/MARKETING_WEBSITE_PLAN.md` | Marketing website planning document — SUPERSEDED, archived 2026-05-18 (also removed from public sitemap + website/public/package-docs/ mirror) |
29
+ | `docs/MARKETING_WEBSITE_TRACKER.md` | Marketing website progress tracker (SUPERSEDED — kept in `docs/` because the 2026-05-11 audit-batch entry in CLAUDE.md still references it; the SUPERSEDED notice in the file body explains why) |
30
+ | `docs/MIGRATION.md` | Migration information (includes v2 → v3.0.0 breaking-change notes for the Firestore removal) |
31
+ | `docs/NATIVE_UPDATES_GUIDE.md` | Native app update guidance |
32
+ | `docs/PERFORMANCE.md` | Real-world OTA framing + microbenchmark targets + hot-paths map |
33
+ | `docs/PROJECT_COMPLETION_TRACKER.md` | Completion/progress tracker |
34
+ | `docs/QUICK_START.md` | Fast-start implementation guidance |
35
+ | `docs/README.md` | Top-level docs overview |
36
+ | `docs/REMAINING_FEATURES.md` | Remaining or planned feature notes |
37
+ | `docs/ROADMAP.md` | Roadmap/status file |
38
+ | `docs/SECURITY.md` | High-level security documentation |
39
+ | `docs/SECURITY-IF-REPO-PUBLIC.md` | Preventive runbook for the day this repo goes public (secret-rotation table + history-scrub commands) |
40
+ | `docs/TESTING_REQUIREMENTS.md` | Testing expectations and requirements |
41
+ | `docs/analytics-tracking.md` | Analytics tracking conventions |
42
+ | `docs/background-updates.md` | Background update feature guide |
43
+ | `docs/capacitor-official-plugins.md` | Official Capacitor plugin status registry |
44
+ | `docs/capawesome-plugins.md` | Capawesome plugin status registry |
45
+ | `docs/cli-reference.md` | CLI usage reference |
46
+ | `docs/error-handling-tracking.md` | Error handling + tracking registry |
47
+ | `docs/package-audit.md` | Dependency audit notes |
48
+ | `docs/production-readiness.md` | Production readiness checklist/context (refreshed 2026-05-18) |
49
+ | `docs/rules-tracker.md` | Generic Project Rules application tracker |
50
+ | `docs/seo-aeo-rules.json` | SEO/AEO rules JSON |
51
+ | `docs/server-requirements.md` | Backend/server requirement notes |
52
+
53
+ Note: `docs/play-console-rejection-rules.json` is intentionally NOT kept here — the canonical file lives at `~/.claude/play-console-rejection-rules.json`. Old local copies were removed per the IRON-SOLID rule in CLAUDE.md.
54
+
55
+ ## API Docs
56
+
57
+ | Path | Purpose / Notes |
58
+ |------|------------------|
59
+ | `docs/api/API.md` | Top-level API overview |
60
+ | `docs/api/FEATURES.md` | Feature-oriented API/behavior summary |
61
+ | `docs/api/app-review-api.md` | App review API surface |
62
+ | `docs/api/app-update-api.md` | App update API surface |
63
+ | `docs/api/background-update-api.md` | Background update API surface |
64
+ | `docs/api/events-api.md` | Event listener and event model reference |
65
+ | `docs/api/live-update-api.md` | OTA/live update API reference |
66
+
67
+ ## Getting Started Docs
68
+
69
+ | Path | Purpose / Notes |
70
+ |------|------------------|
71
+ | `docs/getting-started/configuration.md` | Config options and setup details |
72
+ | `docs/getting-started/installation.md` | Installation steps |
73
+ | `docs/getting-started/quick-start.md` | Quick implementation guide |
74
+
75
+ ## Feature Docs
76
+
77
+ | Path | Purpose / Notes |
78
+ |------|------------------|
79
+ | `docs/features/app-reviews.md` | In-app review feature details |
80
+ | `docs/features/app-updates.md` | Native app update feature details |
81
+ | `docs/features/live-updates.md` | OTA/live update feature details |
82
+ | `docs/features/laravel-nova-backend/ASSESSMENT-SUMMARY.md` | Laravel + Nova backend assessment summary |
83
+ | `docs/features/laravel-nova-backend/IMPLEMENTATION-PLAN.md` | Laravel + Nova implementation plan |
84
+ | `docs/features/laravel-nova-backend/progress-tracker.json` | Laravel + Nova progress tracker |
85
+ | `docs/features/laravel-nova-backend/credentials.ignore.md` | gitignored credentials reference (not committed) |
86
+
87
+ ## Guide Docs
88
+
89
+ | Path | Purpose / Notes |
90
+ |------|------------------|
91
+ | `docs/guides/BACKEND_TEMPLATES_GUIDE.md` | How backend templates are intended to be used |
92
+ | `docs/guides/admin-panel.md` | Admin panel/dashboard usage |
93
+ | `docs/guides/channel-management.md` | Channel setup and usage |
94
+ | `docs/guides/dashboard-guide.md` | Dashboard usage guide |
95
+ | `docs/guides/deployment-guide.md` | Deployment guidance |
96
+ | `docs/guides/end-to-end-workflow.md` | Full workflow from setup to production |
97
+ | `docs/guides/key-management.md` | Key generation and management |
98
+ | `docs/guides/migration-from-codepush.md` | CodePush migration guide |
99
+ | `docs/guides/security-best-practices.md` | Secure update implementation guidance |
100
+ | `docs/guides/testing-guide.md` | Testing procedures and expectations |
101
+ | `docs/guides/troubleshooting.md` | Troubleshooting and issue resolution guide |
102
+
103
+ Note: `no-cost-firestore-google-drive-backend.md` and `no-cost-backend-implementation-plan.md` were removed on 2026-05-18 — the no-cost Firestore + Drive architecture was deliberately abandoned in v3.0.0 (Laravel + MySQL is the only backend now).
104
+
105
+ ## Examples Docs
106
+
107
+ | Path | Purpose / Notes |
108
+ |------|------------------|
109
+ | `docs/examples/advanced-scenarios.md` | More advanced use cases and patterns |
110
+ | `docs/examples/android-manifest-example.xml` | Android manifest example |
111
+ | `docs/examples/basic-usage.md` | Basic implementation examples |
112
+ | `docs/examples/node-express-backend-example.md` | Node/Express backend example |
113
+ | `docs/examples/react-capacitor-example.md` | React + Capacitor frontend example |
114
+
115
+ Note: `firebase-backend-example.md` was removed during post-closure cleanup (commit `3a8dda6`).
116
+
117
+ ## Plans
118
+
119
+ | Path | Purpose / Notes |
120
+ |------|------------------|
121
+ | `docs/plans/PLANNING_COMPLETE_SUMMARY.md` | Summary of planning phase |
122
+ | `docs/plans/TASK_1_ANDROID_EXAMPLE_APP.md` | Android example-app planning task |
123
+ | `docs/plans/TASK_2_API_ENDPOINTS.md` | API endpoint planning |
124
+ | `docs/plans/TASK_2_DASHBOARD_UI_UX.md` | Dashboard UX planning |
125
+ | `docs/plans/TASK_2_DATABASE_SCHEMA.md` | Database schema planning (historical — may pre-date Laravel + MySQL adoption) |
126
+ | `docs/plans/TASK_2_GOOGLE_DRIVE_INTEGRATION.md` | Drive integration planning |
127
+ | `docs/plans/TASK_2_SAAS_ARCHITECTURE.md` | SaaS architecture planning |
128
+ | `docs/plans/TASK_2_USER_AUTHENTICATION.md` | Auth planning (historical — predates the Socialite + Sanctum swap) |
129
+
130
+ ## Reports
131
+
132
+ Historical status, audit, and verification reports. Useful as timeline artifacts; not authoritative for current state.
133
+
134
+ | Path | Purpose / Notes |
135
+ |------|------------------|
136
+ | `docs/reports/AUDIT_SUMMARY_2025-12-26.md` | Historical audit summary |
137
+ | `docs/reports/CLAUDE-CODE-COMPLETION-PROMPT.md` | Internal prompt/report artifact |
138
+ | `docs/reports/CLAUDE_CODE_PROMPT.md` | Internal prompt/report artifact |
139
+ | `docs/reports/CODEBASE_STATUS_REPORT.md` | Codebase status report |
140
+ | `docs/reports/COMPLETE_VERIFICATION.md` | Verification report |
141
+ | `docs/reports/COMPREHENSIVE-PROJECT-AUDIT-2026-02-24.md` | Detailed later audit report |
142
+ | `docs/reports/EVENT_FLOW_VERIFICATION.md` | Event flow verification notes |
143
+ | `docs/reports/EXAMPLE_APPS_SIMPLIFICATION_COMPLETE.md` | Completion note for example-app simplification |
144
+ | `docs/reports/FINAL_STATUS.md` | Status summary |
145
+ | `docs/reports/FINAL_VERIFICATION_CHECKLIST.md` | Release/readiness checklist |
146
+ | `docs/reports/MARKETING_WEBSITE_COMPLETE.md` | Website completion report |
147
+ | `docs/reports/PACKAGE_COMPLETENESS_REPORT.md` | Package completeness analysis |
148
+ | `docs/reports/PRODUCTION_STATUS.md` | Historical production-status report; contains older readiness framing |
149
+ | `docs/reports/PROJECT_RESTRUCTURE_2025-12-27.md` | Restructure report |
150
+ | `docs/reports/PROJECT_RESTRUCTURE_FINAL_SUMMARY.md` | Final restructure summary |
151
+ | `docs/reports/PUBLISHING_VERIFICATION.md` | Publishing/release verification |
152
+ | `docs/reports/RELEASE_READY_SUMMARY.md` | Release readiness summary |
153
+ | `docs/reports/claude-completion.json` | JSON status/report artifact |
154
+
155
+ ## Security Subfolder
156
+
157
+ | Path | Purpose / Notes |
158
+ |------|------------------|
159
+ | `docs/security/certificate-pinning.md` | Certificate pinning details |
160
+ | `docs/security/PRE-LAUNCH-PENTEST-CHECKLIST.md` | DIY pentest checklist (dep hygiene, authN/authZ, CORS/CSRF, bundle integrity, file safety, data handling, operational safety, mobile platform, 9 specific attack paths) |
161
+
162
+ ## Deployment Subfolder
163
+
164
+ | Path | Purpose / Notes |
165
+ |------|------------------|
166
+ | `docs/deployment/PRODUCTION-DEPLOY-CHECKLIST.md` | Production deploy runbook |
167
+ | `docs/deployment/HOSTINGER_DEPLOY.md` | Hostinger-specific deploy notes |
168
+
169
+ ## Docs Site Subfolder
170
+
171
+ | Path | Purpose / Notes |
172
+ |------|------------------|
173
+ | `docs/docs-site/scope.md` | Public Docusaurus site scope |
174
+ | `docs/docs-site/plan.md` | Public Docusaurus site plan (10-batch flow) |
175
+ | `docs/docs-site/tracker.json` | Public Docusaurus site progress tracker (status: COMPLETE; 7-day cooldown) |
176
+
177
+ ## Project Audit Subfolder
178
+
179
+ | Path | Purpose / Notes |
180
+ |------|------------------|
181
+ | `docs/project-audit/PRODUCTION-READINESS-AUDIT-2026-05-08.md` | Production-readiness audit findings (39 items + 5 roadmap) |
182
+ | `docs/project-audit/BATCH-PLAN.md` | 10-batch production-readiness fix plan |
183
+ | `docs/project-audit/MARKETING-WEBSITE-FINDINGS-2026-05-11.md` | Marketing-website specific findings |
184
+ | `docs/project-audit/2026-05-16/` | Finalization audit for Play Store publishing (10 batches, all complete) |
185
+
186
+ ## Tracking Subfolder
187
+
188
+ | Path | Purpose / Notes |
189
+ |------|------------------|
190
+ | `docs/tracking/IMPLEMENTATION_TRACKER.md` | Implementation tracking |
191
+ | `docs/tracking/capacitor-rollout-note-2026-03-01.md` | Rollout note / dated tracking artifact |
192
+ | `docs/tracking/completion-tracker-2026-02-24.json` | JSON completion tracker |
193
+ | `docs/tracking/full-audit-tracker.json` | Retired full-audit tracker (superseded by production-readiness tracker) |
194
+ | `docs/tracking/production-readiness-audit-tracker.json` | Authoritative production-readiness audit tracker |
195
+ | `docs/tracking/finalization-2026-05-16-tracker.json` | Finalization-audit tracker (status: COMPLETE) |
196
+ | `docs/tracking/seo-checklist-tracker.json` | SEO checklist tracker |
197
+
198
+ ## Social Media Marketing Subfolder
199
+
200
+ | Path | Purpose / Notes |
201
+ |------|------------------|
202
+ | `docs/social-media-marketing/README.md` | Per-file/batch policy + run history + char-limit + content-honesty rules |
203
+ | `docs/social-media-marketing/posts-batch-01.md` | 10 LinkedIn/Facebook posts (2700–2900 chars each) |
204
+ | `docs/social-media-marketing/posts-batch-02.md` | 10 LinkedIn/Facebook posts |
205
+ | `docs/social-media-marketing/whatsapp-messages-batch-01.md` | 30 WhatsApp messages (400–600 chars) |
206
+ | `docs/social-media-marketing/whatsapp-status-batch-01.md` | 30 WhatsApp status messages (240–400 chars) |
207
+
208
+ ## Existing Project Profile and AI-Oriented Docs
209
+
210
+ | Path | Purpose / Notes |
211
+ |------|------------------|
212
+ | `docs/project-profiles/native-update-capacitor-update-platform-project-profile-last-updated-2026-05-19.md` | Current dated project profile (refreshed 2026-05-19 after v3.0.0 + Sanctum swap + finalization audit + Phase A purge); older 2026-03-* dated profiles deleted in the same commit per the weekly-refresh-with-history-cap rule |
213
+
214
+ ## How AI Should Use The Docs Corpus
215
+
216
+ ### For Implementation
217
+
218
+ - Start with `docs/getting-started/*`, `docs/api/*`, `docs/features/*`, and `docs/guides/*`
219
+
220
+ ### For Product Positioning
221
+
222
+ - Use `docs/README.md`, feature docs, dashboard guides, website pages, and the most recent project profile
223
+
224
+ ### For Architecture or Backend Planning
225
+
226
+ - Use `docs/features/laravel-nova-backend/*`, `docs/api/*`, `docs/deployment/*`, and the live Laravel codebase at `backend/`
227
+ - DO NOT use the historical `docs/plans/TASK_2_*` files as architectural truth — they predate the Laravel adoption
228
+
229
+ ### For Testing
230
+
231
+ - Use `docs/TESTING_REQUIREMENTS.md`, `docs/guides/testing-guide.md`, verification reports, and test files in source
232
+
233
+ ### For Historical Context
234
+
235
+ - Use `docs/plans/*`, `docs/reports/*`, and tracking files
236
+
237
+ ### For Legal / Compliance / Security
238
+
239
+ - Use `docs/SECURITY.md`, `docs/SECURITY-IF-REPO-PUBLIC.md`, `docs/security/*`, `docs/guides/security-best-practices.md`, website legal pages, and `docs/production-readiness.md`
240
+
241
+ ## Important Interpretation Rule
242
+
243
+ The `/docs` folder mixes:
244
+
245
+ - user-facing docs
246
+ - implementation docs
247
+ - planning artifacts
248
+ - historical reports
249
+ - status snapshots
250
+
251
+ AI tools should not treat all documents as equally current. For current technical truth, validate against:
252
+
253
+ 1. Source code (`src/`, `website/src/`, `backend/`)
254
+ 2. The newest dated documents (look at file dates and dated audit folders)
255
+ 3. This knowledge base (refreshed 2026-05-18)
256
+ 4. The root `CLAUDE.md` Audit Record table
@@ -0,0 +1,208 @@
1
+ # Native Update Operations, Testing, Legal, and Content Context
2
+
3
+ ## Metadata
4
+
5
+ - **Reference Date:** 2026-05-18
6
+ - **Last Updated:** 2026-05-18
7
+
8
+ ## Operations Context
9
+
10
+ ### Release and Delivery Model
11
+
12
+ - Plugin code ships via npm as `native-update`
13
+ - Dashboard supports browser-driven ZIP upload workflows
14
+ - Google Drive stores release bundles (server-side OAuth, encrypted tokens on the User row)
15
+ - Laravel + MySQL stores user accounts, apps, API keys, signing keys, builds, rollouts, subscriptions, and analytics events
16
+ - Nova admin at `/nova` provides full CRUD + custom actions over the same MySQL data
17
+
18
+ ### Channel Model
19
+
20
+ - production
21
+ - staging
22
+ - development
23
+
24
+ Observed product messaging and docs position these as the primary update channels.
25
+
26
+ ### Rollout Model
27
+
28
+ - percentage-based rollout
29
+ - pause/resume support
30
+ - gradual or scheduled rollout concepts in schema/docs
31
+ - rollout configuration stored on the Build row (`rollout_enabled`, `rollout_percentage`, `rollout_start_time`, `rollout_end_time`, `target_segments`)
32
+
33
+ ### Deployment Model
34
+
35
+ - **Backend (Laravel):** deployed to any PHP 8.2+ host. Runbook in `docs/deployment/PRODUCTION-DEPLOY-CHECKLIST.md`. Hostinger-specific notes in `docs/deployment/HOSTINGER_DEPLOY.md`. Queue worker required for async jobs (systemd unit template included).
36
+ - **Website (React SPA):** deployed to Firebase Hosting via the `website/firebase.json` config. Firebase Hosting is the ONLY Firebase usage; there is no Firestore, no Firebase Auth, no Firebase Functions in the live architecture.
37
+ - **Public docs site (Docusaurus):** sibling repo `native-update-docs/`, also Firebase Hosting (same hosting-only pattern).
38
+ - **Mobile dashboard wrapper:** website Capacitor-wrapped for Play Store publishing (see `docs/project-audit/2026-05-16/` for the publishing flow).
39
+
40
+ ## Testing Context
41
+
42
+ ### Test Layers Present In Repo
43
+
44
+ - Backend Pest/PHPUnit tests under `backend/tests/` (~136 passing including OAuth + Sanctum + Spatie + UpdateBuildRequest FormRequest + PayPal webhook + BundleUpload + UserLicense)
45
+ - iOS XCTest files under `ios/Tests/NativeUpdateTests/`
46
+ - Android JUnit/Kotlin tests under `android/src/test/java/com/aoneahsan/nativeupdate/`
47
+
48
+ ### Testing Documentation Present
49
+
50
+ - `docs/TESTING_REQUIREMENTS.md`
51
+ - `docs/guides/testing-guide.md`
52
+ - `docs/PERFORMANCE.md` (microbenchmark targets + regression workflow)
53
+ - verification and audit reports under `docs/reports/`
54
+
55
+ ## Security Context
56
+
57
+ ### Security Themes Repeated Across Repo
58
+
59
+ - SHA-256 checksum validation
60
+ - RSA-SHA256 signing and verification
61
+ - HTTPS enforcement
62
+ - certificate pinning support
63
+ - manifest/file integrity
64
+ - secure update delivery
65
+ - fail-closed on integrity violation; fail-open on availability (documented philosophy in the Docusaurus site `error-handling-philosophy.md`)
66
+ - private keys never leave the Laravel host
67
+ - Drive OAuth tokens encrypted at rest (Laravel encrypter)
68
+ - Sanctum tokens hashed at rest; plain-text shown once on issuance
69
+ - ProGuard/R8 + signing config on Android release builds
70
+
71
+ ### Security Docs Present
72
+
73
+ - `docs/SECURITY.md`
74
+ - `docs/SECURITY-IF-REPO-PUBLIC.md` (preventive runbook for the day the repo flips public — secret-rotation table + history-scrub commands)
75
+ - `docs/BUNDLE_SIGNING.md`
76
+ - `docs/security/certificate-pinning.md`
77
+ - `docs/security/PRE-LAUNCH-PENTEST-CHECKLIST.md` (10-section DIY pentest checklist)
78
+ - `docs/guides/security-best-practices.md`
79
+ - SecurityPage on website
80
+
81
+ ## Legal and Compliance Surfaces
82
+
83
+ ### Website Legal Pages
84
+
85
+ - `/privacy`
86
+ - `/terms`
87
+ - `/cookies`
88
+ - `/data-deletion`
89
+ - `/security`
90
+ - `/contact`
91
+
92
+ These pages are explicitly called out in `website/CLAUDE.md` as important and app-store-relevant. They were updated in 2026-05-16 Batch 7 to reflect the Sanctum + Laravel stack (Firebase Auth references removed).
93
+
94
+ ### Legal Messaging Themes In Website
95
+
96
+ - privacy handling
97
+ - account deletion path (revokes Sanctum tokens, soft-deletes User row, clears encrypted Drive tokens, cascades to apps/builds)
98
+ - support/contact identity
99
+ - security positioning (no fabricated SOC/ISO/SLA claims — removed in 2026-05-16 Batch 7)
100
+ - ownership/control messaging around Google Drive files
101
+
102
+ ### Play Store Compliance Notes
103
+
104
+ - Merged AndroidManifest at `android/app/build/intermediates/merged_manifests/*/AndroidManifest.xml` MUST be inspected before every AAB upload — Capacitor/Cordova plugins auto-inject permissions
105
+ - Sensitive permissions (CAMERA, RECORD_AUDIO, ACCESS_FINE_LOCATION, READ_CONTACTS, etc.) require: matching privacy-policy section + Data Safety row + runtime-prompt UX + non-permission fallback
106
+ - Branded launcher icons (15 PNGs), splash (11 PNGs), 3 Play Store graphics rendered from SVG via rsvg-convert in 2026-05-16 Batch 9
107
+ - Play Store rejection rules: read from `~/.claude/play-console-rejection-rules.json` (single global source — never copy into project)
108
+
109
+ ## Content and SEO Context
110
+
111
+ ### Built-In Public Content Surfaces
112
+
113
+ - Home page
114
+ - Features page (1492+ words, FAQ schema, HowTo schema, SoftwareApplication schema)
115
+ - Pricing page (1457+ words, Product schema with real $0/$29/$199 Offers)
116
+ - About page (1913+ words, Person + FAQPage schema)
117
+ - Docs page
118
+ - Examples page
119
+ - Feed page
120
+ - Sitemap page
121
+ - Contact page
122
+
123
+ ### Built-In Discovery Files
124
+
125
+ - `robots.txt` (30+ AI bots allow-listed)
126
+ - `sitemap.xml` (auto-generated, every public URL with `<lastmod>`)
127
+ - `sitemap-index.json`
128
+ - `feed.xml` (RSS 2.0 with runtime `lastBuildDate`)
129
+ - `llms.txt` (Jeremy Howard spec)
130
+ - `llms-full.txt` (long-form AI profile)
131
+ - `ai.txt` (training/citation policy)
132
+ - `humans.txt`
133
+ - `.well-known/security.txt` (RFC 9116)
134
+ - `pricing.md` (machine-readable pricing for AI buying agents)
135
+
136
+ ### Social/Portfolio Context Already Added
137
+
138
+ - Project profile exists under `docs/project-profiles/`
139
+ - Portfolio info file at root: `NATIVE-UPDATE_portfolio-info_YYYY-MM-DD.md` (weekly refresh)
140
+ - Social-media marketing content under `docs/social-media-marketing/` (posts, WhatsApp messages, status)
141
+ - This knowledge base supports future content generation with technical accuracy
142
+
143
+ ### Best Content Angles
144
+
145
+ - open-source Capacitor infrastructure
146
+ - OTA update engineering
147
+ - secure mobile release workflows
148
+ - dashboard and release-ops UX
149
+ - Laravel + Nova self-hostable backend (CodePush alternative without vendor lock-in)
150
+ - cross-platform engineering across TypeScript, Swift, Kotlin, PHP, and React
151
+ - AI-ready docs and developer enablement (llms.txt, JSON-LD, machine-readable pricing)
152
+
153
+ ## Planning and Decision-Making Rules For AI
154
+
155
+ - Do not invent user counts, stars, revenue, or adoption metrics.
156
+ - Prefer current source code and route definitions over older historical reports.
157
+ - Treat roadmap items as future-facing unless code confirms they are already shipped.
158
+ - When recommending changes for the website, consider sitemap/feed/legal page maintenance.
159
+ - When recommending backend changes, propose them against the Laravel codebase at `backend/`. The no-cost Firestore + Drive architecture was abandoned in v3.0.0 — do not resurrect it.
160
+ - When recommending storage changes, prefer Google Drive (already wired with server-side OAuth) or FilesHub (already wired for misc user assets). Don't propose S3 or Firebase Storage.
161
+
162
+ ## Known Constraints and Notes
163
+
164
+ - The repo contains both current and historical status documents.
165
+ - Some legacy docs describe earlier incomplete states.
166
+ - Admin access is determined through `spatie/laravel-permission` role assignment, not a `users.is_admin` boolean.
167
+ - `super-admin` role bypasses every `can:` gate via `Gate::before`.
168
+ - The dashboard is optimized for authenticated operators, not end users.
169
+ - The website `DocsPage.tsx` was refactored 2026-05-19 from 1,406 lines into a 166-line shell + 2 helpers (`docs-page/components/`) + 13 per-section components (`docs-page/sections/`). All files now satisfy the workspace 500-line max; largest sub-file is `ExamplesSection.tsx` at 157 lines.
170
+
171
+ ## AI Usage Recommendations By Category
172
+
173
+ ### For Development
174
+
175
+ - Use this knowledge base first
176
+ - then inspect source modules and exact docs files tied to the feature
177
+ - For backend work: read `backend/app/Http/Controllers/Dashboard/<thing>` + its FormRequest + its test before proposing changes
178
+
179
+ ### For Testing
180
+
181
+ - map the feature to its page/module/native component
182
+ - use testing docs plus test files to derive coverage strategy
183
+ - backend test pattern: `backend/tests/Feature/<Thing>Test.php` (Pest); run via `php artisan test`
184
+
185
+ ### For Legal or Policy Work
186
+
187
+ - review legal pages and security/privacy docs together
188
+ - do not rely only on marketing copy
189
+ - when scoping data-handling claims, validate against the actual Laravel models + migrations
190
+
191
+ ### For Marketing or Social Content
192
+
193
+ - use product profile + this knowledge base + current website messaging
194
+ - avoid unsupported performance or adoption claims
195
+ - per `docs/social-media-marketing/README.md`: max 7 hashtags per post; honesty rules apply; only describe features that exist in the live codebase
196
+
197
+ ### For Planning
198
+
199
+ - check roadmap, remaining-features docs, plans, and code reality together
200
+ - per-feature trackers live in `docs/features/<feature-slug>/00-tracker.json` (resumable JSON schema)
201
+
202
+ ## Maintenance Rule For This Knowledge Base
203
+
204
+ - Update this folder every 2 weeks while the project is active
205
+ - Update sooner when routes, forms, data models, docs, modules, legal pages, or backend assumptions change
206
+ - Keep `Reference Date` and `Last Updated` current in each file
207
+ - Keep this folder aligned with actual repo state, not just historical docs
208
+ - When the Laravel schema changes (new migration), update `04-data-models-integrations.md` in the same task
@@ -0,0 +1,103 @@
1
+ # Native Update AI Knowledge Base
2
+
3
+ ## Metadata
4
+
5
+ - **Project:** Native Update
6
+ - **Knowledge Base Purpose:** High-context reference set for AI tools, planning, development, QA, legal review, content generation, and portfolio/social reuse
7
+ - **Coverage Goal:** Provide a practical, current map of the product, codebase, docs corpus, routes, forms, users, modules, integrations, and operating assumptions
8
+ - **Reference Date:** 2026-05-18
9
+ - **Last Updated:** 2026-05-18
10
+ - **Update Cadence:** Every 2 weeks minimum while the project is active, plus any time major product or docs changes land
11
+ - **History Policy:** Keep update history in this file and keep only the latest 10 entries
12
+
13
+ ## Folder Purpose
14
+
15
+ This folder is the canonical high-context AI reference set for the Native Update project. It is meant to answer questions like:
16
+
17
+ - What does the product do?
18
+ - What features exist now?
19
+ - Which users exist?
20
+ - Which pages, routes, and forms are present?
21
+ - Which services, stores, modules, and native layers exist?
22
+ - What is the recommended backend and data model?
23
+ - Which docs already exist in `/docs` and what do they cover?
24
+ - What legal, marketing, testing, and planning context is already documented?
25
+
26
+ This folder is intentionally different from the public docs. Public docs explain usage. This knowledge base explains the whole project to an AI system or future collaborator.
27
+
28
+ ## File Map
29
+
30
+ - `01-system-overview.md`
31
+ Product scope, capabilities, platform coverage, user types, URLs, and decision context.
32
+
33
+ - `02-routes-pages-forms-users.md`
34
+ Website routes, dashboard/admin routes, page purposes, major interactions, forms, and access rules.
35
+
36
+ - `03-tech-stack-modules-services.md`
37
+ Repo architecture, package structure, frontend services, stores, plugin modules, CLI commands, native modules, and backend components.
38
+
39
+ - `04-data-models-integrations.md`
40
+ MySQL schema, model purposes, authentication model (Sanctum + Spatie RBAC), Google Drive flow, manifest publishing flow, and system boundaries.
41
+
42
+ - `05-docs-corpus-inventory.md`
43
+ Full inventory of the current `/docs` folder, grouped and described so AI can understand what knowledge already exists.
44
+
45
+ - `06-operations-testing-legal-content.md`
46
+ Testing posture, production/release considerations, legal pages, SEO/content context, and known constraints for planning or messaging.
47
+
48
+ ## Primary Project URLs
49
+
50
+ - Marketing website: `https://nativeupdate.aoneahsan.com`
51
+ - Docs entry: `https://nativeupdate.aoneahsan.com/docs`
52
+ - Public docs site (Docusaurus): `https://nativeupdate-docs.aoneahsan.com`
53
+ - Contact page: `https://nativeupdate.aoneahsan.com/contact`
54
+ - NPM package page: `https://www.npmjs.com/package/native-update`
55
+
56
+ ## High-Level Product Definition
57
+
58
+ Native Update is an open-source Capacitor update platform. It combines:
59
+
60
+ - OTA/live updates for web assets
61
+ - native app update handling
62
+ - in-app review prompting
63
+ - background update checks
64
+ - release manifests and rollout control
65
+ - security validation and signing support
66
+ - a Laravel 11 + Nova 5 web dashboard for app/build management
67
+ - example backends (Node.js + Express) and example apps (React + Capacitor)
68
+ - CLI tooling for release workflows
69
+
70
+ ## Backend Architecture (v3.0.0+)
71
+
72
+ The hosted SaaS and self-host paths both run the same Laravel backend at `backend/`. There is no Firestore branch. The plugin SDK no longer ships any Firestore code.
73
+
74
+ - Identity: Google OAuth via `laravel/socialite` → Sanctum personal access tokens
75
+ - RBAC: `spatie/laravel-permission` with `sanctum` guard; roles `super-admin`, `admin`, `user`
76
+ - Persistence: MySQL (Laravel migrations + Eloquent)
77
+ - Admin UI: Laravel Nova 5
78
+ - Storage: Google Drive (server-side OAuth, encrypted tokens) + FilesHub for misc user assets
79
+ - Mobile API key plane: per-app API keys via `ValidateApiKey` middleware (separate from Sanctum)
80
+
81
+ ## Recommended Use Of This Folder
82
+
83
+ - Use this folder as the first-stop AI context before generating plans, code proposals, QA checklists, legal summaries, portfolio content, SEO drafts, social content, or roadmap suggestions.
84
+ - Use the public `/docs` folder when exact implementation or end-user guidance is needed.
85
+ - If any detail in this folder and the source code conflict, the source code is the stronger authority and this folder should be updated.
86
+
87
+ ## Update Checklist
88
+
89
+ - Re-check all routes in `website/src/router.tsx`
90
+ - Re-check user/auth/admin assumptions in `backend/app/Http/Controllers/Auth/` + the spatie permission seeder
91
+ - Re-check forms and fields on dashboard pages
92
+ - Re-check package versions and tech stack across root, `website/`, `backend/`, `cli/`
93
+ - Re-check MySQL schema in `backend/database/migrations/`
94
+ - Re-check `/docs` inventory for added/removed files
95
+ - Re-check any new `CLAUDE.md` files in nested subprojects
96
+ - Update `Reference Date`, `Last Updated`, and `Update History`
97
+
98
+ ## Update History
99
+
100
+ | Date | Summary |
101
+ |------|---------|
102
+ | 2026-05-18 | Full regeneration after v3.0.0 (Firestore removed) + 2026-05-11 auth swap (Firebase Auth → Socialite + Sanctum + Spatie RBAC). Removed all Firebase/Firestore references; rewrote tech-stack, data-model, routes, and operations files against the live Laravel + MySQL + Nova architecture. |
103
+ | 2026-03-16 | Initial AI knowledge-base folder created with project-wide coverage across product, routes, forms, modules, data models, docs corpus, and operations context. |
@@ -0,0 +1,81 @@
1
+ # Native Update - Capacitor Update Platform Project Profile
2
+
3
+ ## Document Metadata
4
+
5
+ - **Project Name:** Native Update
6
+ - **Project Type:** Open-source Capacitor plugin + Laravel-backed update management platform
7
+ - **Primary Domain:** Mobile app infrastructure / developer tooling / OTA delivery
8
+ - **Owner / Creator:** Ahsan Mahmood
9
+ - **Primary Contact:** aoneahsan@gmail.com
10
+ - **Package Name:** `native-update`
11
+ - **Current Package Version Reference:** `3.0.1`
12
+ - **License:** MIT
13
+ - **Primary Website:** `https://nativeupdate.aoneahsan.com`
14
+ - **Public Docs Site:** `https://nativeupdate-docs.aoneahsan.com` (Docusaurus, sibling repo `native-update-docs`)
15
+ - **Reference Date:** 2026-05-19
16
+ - **Last Updated:** 2026-05-19
17
+ - **Filename Rule:** Always keep `last-updated-YYYY-MM-DD` in the filename
18
+ - **Status Reference:** This profile reflects the repository state visible on 2026-05-19 from package metadata, source layout, docs, tests, dashboard docs, example apps, public Docusaurus docs site, and the 2026-05-16 finalization-audit closure.
19
+
20
+ ## Verification Snapshot
21
+
22
+ - **Tests (root TypeScript):** `yarn test:run` — **62/62 passing** (Vitest)
23
+ - **Tests (backend Laravel):** `php artisan test` — **136/136 passing** (Pest/PHPUnit)
24
+ - **Build:** `yarn build` exit 0 (root plugin Rollup + website Vite + Docusaurus docs site); `yarn lint` exit 0 across root + website
25
+ - **Capacitor sync:** `npx cap sync android` clean; gradle config parses
26
+ - **Architecture:** v3.0.0 (2026-05-04) removed Firestore; Laravel 11 + Nova 5 + MySQL is the only backend. 2026-05-11 swapped Firebase Auth for Laravel Socialite + Sanctum personal access tokens + `spatie/laravel-permission` RBAC. 2026-05-16 finalization audit closed Play Store publishability end-to-end. 2026-05-18 Phase A cleanup purged the last Firebase/Firestore content references.
27
+
28
+ ## Executive Summary
29
+
30
+ Native Update is a full update-management solution for Capacitor apps. It combines over-the-air web asset updates, native app store update flows, in-app review prompts, background update checks, security tooling, CLI utilities, two reference example apps, a public Docusaurus documentation site, and a Capacitor-wrapped React dashboard backed by a Laravel 11 + Nova 5 SaaS into one ecosystem. The project is positioned as both a reusable plugin and a broader release-operations platform for hybrid mobile products. After the v3.0.0 architectural simplification and the 2026-05-11 auth swap, the project runs on a single Laravel backend with Sanctum-token dashboard auth and Spatie RBAC — no Firebase backend.
31
+
32
+ ## Current Positioning
33
+
34
+ Native Update helps Capacitor teams ship fixes faster, manage native store updates more intelligently, improve review prompting, and centralize release operations through a dashboard-driven workflow. It is stronger than a simple plugin because it includes the operational layer around updates — not just device APIs — and ships with a complete self-hosting story (Laravel + Nova + MySQL backend + Capacitor-wrapped dashboard + public Docusaurus docs site).
35
+
36
+ ## Core Product Value
37
+
38
+ - **Speed:** OTA delivery for faster fixes and content changes
39
+ - **Control:** Channels, percentage rollouts, pause/resume, rollback support, target-segment hooks, and update-strategy choices
40
+ - **Security:** RSA-SHA256 signing, SHA-256 checksums, HTTPS posture, certificate pinning, encrypted Drive token storage, hashed-at-rest Sanctum tokens, fail-closed integrity rules
41
+ - **Productivity:** CLI tooling (8 commands), 58-page Diátaxis docs site, two reference example apps, dashboard with TanStack Query-backed admin pages
42
+ - **Ownership:** Open-source MIT-licensed plugin; self-hostable Laravel + Nova backend; private signing keys never leave the host
43
+
44
+ ## Proof Points In Current Repo State
45
+
46
+ - Native Android (Kotlin) and iOS (Swift) implementations are present and tested (XCTest + JUnit)
47
+ - CLI package present at `cli/` with 8 commands; `monitor` has signal handling + failure bail
48
+ - Two reference example apps under `example-apps/`: `react-capacitor` (with app-update / app-review / background-update capability cards), `node-express` (minimal manifest-endpoint backend)
49
+ - Capacitor-wrapped React dashboard at `website/` with TanStack Query data plane + Radix Dialog + URL-state forms
50
+ - Laravel 11 + Nova 5 backend at `backend/` with full Pest test coverage (OAuth, Sanctum, Spatie, FormRequests, PayPal webhook, BundleUpload, UserLicense)
51
+ - Public Docusaurus docs site at sibling repo `native-update-docs`: 58 pages, ~76k words, Diátaxis-organized, Firebase Hosting deploy-ready with 7 discovery files (robots / llms / llms-full / humans / security / sitemap-index / sitemap) and 3 JSON-LD blocks per page
52
+ - Vitest-bench microbenchmark scaffold at `tools/bench/` for security-critical hot paths (SHA-256 + RSA-SHA256 verify)
53
+ - 3 GitHub Actions workflows: `ci.yml`, `release.yml` (tag-driven npm publish with provenance), `example-bundle.yml` (release+manual+weekly-cron signed bundle attached to GitHub Release)
54
+ - Android release readiness: signingConfigs + ProGuard/R8 + network_security_config + 10-section BUILD_FOR_PLAY_STORE.md runbook + 15 branded launcher PNGs + 11 splash PNGs + 3 Play Store graphics + screenshots/CAPTURE-GUIDE.md
55
+ - Pre-launch DIY pentest checklist at `docs/security/PRE-LAUNCH-PENTEST-CHECKLIST.md` (10 sections + 9 specific attack paths)
56
+ - Preventive repo-goes-public runbook at `docs/SECURITY-IF-REPO-PUBLIC.md`
57
+ - Current automated verification passed cleanly on 2026-05-19
58
+
59
+ ## Resume / CV Summary
60
+
61
+ Built **Native Update**, an open-source Capacitor update platform (v3.0.1, MIT-licensed) that unifies OTA delivery, native app updates, in-app reviews, RSA signing and SHA-256 checksum verification, an 8-command CLI for release operations, two reference example apps, a Laravel 11 + Nova 5 SaaS backend with Sanctum-token + Spatie-RBAC dashboard auth, a Capacitor-wrapped React dashboard, a public 58-page Docusaurus docs site, and a Play-Store-publishable Android distribution.
62
+
63
+ ## Resume-Ready Achievement Bullets
64
+
65
+ - Built and ship `native-update` v3.0.1 on NPM — an open-source Capacitor update platform combining OTA updates, app-store update flows, and in-app reviews, with native Kotlin/Swift implementations, 62 passing root TypeScript tests, 136 passing backend Pest tests, and a Detox E2E suite.
66
+ - Shipped a v3.0.0 BREAKING release that removed Firestore as a backend (~3000+ deletions) and routed all device → server traffic through a single Laravel HTTP API — cleaner ops, single source of truth, simpler reasoning for integrators.
67
+ - Swapped Firebase popup auth for Laravel Socialite + Sanctum personal access tokens + `spatie/laravel-permission` RBAC (super-admin / admin / user roles, `Gate::before` super-admin bypass, per-route `can:` middleware) in a single 2026-05-11 cutover — production-shape auth without Firebase lock-in.
68
+ - Built an entire ecosystem around the plugin: a Laravel 11 + Nova 5 SaaS backend, an 8-command CLI for release management, two reference example apps (React + Capacitor, Node.js + Express), and a React 19 + Vite 7 marketing/dashboard site (Capacitor-wrapped for Play Store) with full observability (Sentry + Clarity + Amplitude + page-view auto-track).
69
+ - Shipped a public Docusaurus documentation site (`native-update-docs` sibling repo, Firebase Hosting) with 58 Diátaxis-organized pages (~76k words), 7 discovery files (robots / llms / llms-full / humans / security / sitemap-index / sitemap), and 3 JSON-LD blocks per page — measurably AI-citable.
70
+ - Closed a 10-batch finalization audit on 2026-05-16 that made the Capacitor-wrapped dashboard Play-Store-publishable end-to-end: signingConfigs.release + ProGuard/R8 + network_security_config + 10-section BUILD_FOR_PLAY_STORE runbook + 15 branded launcher PNGs + 11 splash PNGs + Data Safety form + 4 rewritten legal pages.
71
+ - Adopted `native-update` as the canonical OTA strategy across the Ahsan project portfolio, eliminating store-resubmission cycles for content-only updates.
72
+ - Gated full-codebase audits behind a 7-day cooldown tracker to keep audit churn out of the commit log while preserving reproducible quality.
73
+
74
+ ## Update History
75
+
76
+ | Date | Type | Notes |
77
+ | --- | --- | --- |
78
+ | 2026-05-19 | Material refresh | Major regeneration after 4 months of architecture change: covers v3.0.0 Firestore removal (2026-05-04), 2026-05-11 auth swap (Firebase Auth → Socialite + Sanctum + Spatie RBAC), 2026-05-11 public Docusaurus docs site shipped (58 pages, ~76k words), 2026-05-16 finalization audit closure (Play Store publishability), and 2026-05-18 Phase A Firebase/Firestore residue purge. Updated version 1.4.9 → 3.0.1, test counts 81 → 62/62 root + 136/136 backend, added public docs site URL, refreshed proof points to reflect Laravel + Nova + Capacitor-wrapped dashboard + GitHub Actions CI/CD + Android release readiness. Older dated profiles (2026-03-25, 2026-03-24, 2026-03-16) deleted in the same commit per user direction; this is the first dated profile for v3.x. |
79
+ | 2026-03-25 | Remediation | Updated verification snapshot to the Yarn-only root package workflow after removing npm and pnpm from the root package path. (file deleted 2026-05-19) |
80
+ | 2026-03-24 | Refreshed | Updated metadata, verification snapshot, and repo-state summary to match current package state. (file deleted 2026-05-19) |
81
+ | 2026-03-16 | Previous | Prior project profile version. (file deleted 2026-05-19) |