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.
- package/Readme.md +35 -9
- package/android/manifest-additions.xml +28 -0
- package/android/src/main/AndroidManifest.xml +3 -7
- package/android/src/main/java/com/aoneahsan/nativeupdate/BackgroundNotificationManager.kt +21 -13
- package/android/src/main/java/com/aoneahsan/nativeupdate/BackgroundUpdatePlugin.kt +15 -0
- package/android/src/main/java/com/aoneahsan/nativeupdate/BackgroundUpdateWorker.kt +23 -7
- package/android/src/main/java/com/aoneahsan/nativeupdate/LiveUpdatePlugin.kt +346 -31
- package/android/src/main/java/com/aoneahsan/nativeupdate/NativeUpdatePlugin.kt +32 -34
- package/android/src/main/java/com/aoneahsan/nativeupdate/NotificationActionReceiver.kt +10 -1
- package/android/src/main/java/com/aoneahsan/nativeupdate/SecurityManager.kt +18 -18
- package/cli/AGENTS.md +43 -0
- package/cli/CLAUDE.md +65 -0
- package/cli/commands/backend-create.js +56 -15
- package/cli/commands/bundle-create.js +39 -7
- package/cli/commands/monitor.js +72 -51
- package/cli/index.js +10 -24
- package/cli/package.json +11 -3
- package/dist/esm/app-review/app-review-manager.js +0 -1
- package/dist/esm/app-review/index.js +0 -1
- package/dist/esm/app-review/platform-review-handler.js +0 -1
- package/dist/esm/app-review/review-conditions-checker.js +0 -1
- package/dist/esm/app-review/review-rate-limiter.js +0 -1
- package/dist/esm/app-review/types.js +0 -1
- package/dist/esm/app-update/app-update-checker.js +0 -1
- package/dist/esm/app-update/app-update-installer.d.ts +1 -0
- package/dist/esm/app-update/app-update-installer.js +19 -8
- package/dist/esm/app-update/app-update-manager.js +0 -1
- package/dist/esm/app-update/app-update-notifier.js +0 -1
- package/dist/esm/app-update/index.js +0 -1
- package/dist/esm/app-update/platform-app-update.js +12 -3
- package/dist/esm/app-update/types.js +0 -1
- package/dist/esm/background-update/background-scheduler.js +0 -1
- package/dist/esm/background-update/index.js +0 -1
- package/dist/esm/background-update/notification-manager.js +0 -1
- package/dist/esm/config/support.js +0 -1
- package/dist/esm/core/analytics.d.ts +13 -0
- package/dist/esm/core/analytics.js +15 -1
- package/dist/esm/core/cache-manager.js +0 -1
- package/dist/esm/core/config.d.ts +6 -30
- package/dist/esm/core/config.js +1 -8
- package/dist/esm/core/errors.d.ts +1 -0
- package/dist/esm/core/errors.js +1 -1
- package/dist/esm/core/event-emitter.d.ts +0 -3
- package/dist/esm/core/event-emitter.js +8 -3
- package/dist/esm/core/logger.js +0 -1
- package/dist/esm/core/performance.js +0 -1
- package/dist/esm/core/plugin-manager.js +3 -1
- package/dist/esm/core/security.d.ts +22 -3
- package/dist/esm/core/security.js +46 -7
- package/dist/esm/definitions.d.ts +13 -40
- package/dist/esm/definitions.js +0 -1
- package/dist/esm/index.d.ts +3 -4
- package/dist/esm/index.js +3 -3
- package/dist/esm/live-update/bundle-manager.d.ts +8 -0
- package/dist/esm/live-update/bundle-manager.js +20 -1
- package/dist/esm/live-update/certificate-pinning.js +0 -1
- package/dist/esm/live-update/delta-processor.d.ts +1 -1
- package/dist/esm/live-update/delta-processor.js +3 -1
- package/dist/esm/live-update/download-manager.d.ts +36 -5
- package/dist/esm/live-update/download-manager.js +70 -24
- package/dist/esm/live-update/rollout-checker.d.ts +1 -1
- package/dist/esm/live-update/rollout-checker.js +5 -6
- package/dist/esm/live-update/update-manager.d.ts +12 -1
- package/dist/esm/live-update/update-manager.js +38 -11
- package/dist/esm/live-update/version-manager.d.ts +9 -12
- package/dist/esm/live-update/version-manager.js +40 -68
- package/dist/esm/plugin.js +82 -89
- package/dist/esm/security/crypto.js +11 -7
- package/dist/esm/security/validator.js +0 -1
- package/dist/esm/types/rollout.d.ts +85 -0
- package/dist/esm/types/rollout.js +25 -0
- package/dist/esm/web.d.ts +26 -1
- package/dist/esm/web.js +214 -75
- package/dist/plugin.cjs.js +1 -2
- package/dist/plugin.esm.js +1 -2
- package/dist/plugin.js +2 -3
- package/docs/AGENTS.md +38 -0
- package/docs/CHANGELOG.md +275 -0
- package/docs/CLAUDE.md +101 -0
- package/docs/MANUAL-TASKS.md +17 -0
- package/docs/MARKETING_WEBSITE_TRACKER.md +18 -2
- package/docs/MIGRATION.md +170 -0
- package/docs/PACKAGES.md +167 -0
- package/docs/PERFORMANCE.md +110 -0
- package/docs/PROJECT_COMPLETION_TRACKER.md +4 -35
- package/docs/README.md +12 -2
- package/docs/REMAINING_FEATURES.md +123 -76
- package/docs/ROADMAP.md +200 -120
- package/docs/SECURITY-IF-REPO-PUBLIC.md +232 -0
- package/docs/TESTING_REQUIREMENTS.md +1 -112
- package/docs/ai-knowledge-base/00-project-profile.md +38 -0
- package/docs/ai-knowledge-base/01-features.md +46 -0
- package/docs/ai-knowledge-base/02-routes.md +72 -0
- package/docs/ai-knowledge-base/03-tech-stack.md +57 -0
- package/docs/ai-knowledge-base/README.md +23 -0
- package/docs/analytics-tracking.md +37 -0
- package/docs/capacitor-official-plugins.md +46 -0
- package/docs/capawesome-plugins.md +29 -0
- package/docs/deployment/HOSTINGER_DEPLOY.md +370 -0
- package/docs/deployment/PRODUCTION-DEPLOY-CHECKLIST.md +184 -0
- package/docs/docs-site/plan.md +201 -0
- package/docs/docs-site/scope.md +127 -0
- package/docs/docs-site/tracker.json +235 -0
- package/docs/error-handling-tracking.md +37 -0
- package/docs/features/laravel-nova-backend/ASSESSMENT-SUMMARY.md +96 -0
- package/docs/features/laravel-nova-backend/IMPLEMENTATION-PLAN.md +504 -0
- package/docs/features/laravel-nova-backend/progress-tracker.json +184 -0
- package/docs/guides/testing-guide.md +15 -41
- package/docs/package-audit.md +41 -0
- package/docs/play-store/ASO-METADATA.md +5 -0
- package/docs/play-store/DATA-SAFETY.md +5 -0
- package/docs/play-store/DECLARATIONS.md +5 -0
- package/docs/play-store/README.md +27 -0
- package/docs/play-store/RELEASE-NOTES.md +99 -0
- package/docs/play-store/RELEASE-STEPS.md +6 -0
- package/docs/play-store/STORE-LISTING.md +7 -0
- package/docs/play-store/SUBMISSION-CHECKLIST.md +5 -0
- package/docs/production-readiness.md +1 -1
- package/docs/project-audit/2026-05-16/00-FINALIZATION-PLAN.md +123 -0
- package/docs/project-audit/2026-05-16/01-BATCH-PLAN.md +227 -0
- package/docs/project-audit/2026-05-16/02-AUDIT-FINDINGS.md +144 -0
- package/docs/project-audit/2026-05-16/sessions/batch-01.md +42 -0
- package/docs/project-audit/2026-05-16/sessions/batch-02.md +74 -0
- package/docs/project-audit/2026-05-16/sessions/batch-03.md +71 -0
- package/docs/project-audit/2026-05-16/sessions/batch-04.md +88 -0
- package/docs/project-audit/2026-05-16/sessions/batch-05.md +63 -0
- package/docs/project-audit/2026-05-16/sessions/batch-06.md +103 -0
- package/docs/project-audit/2026-05-16/sessions/batch-07.md +61 -0
- package/docs/project-audit/2026-05-16/sessions/batch-08.md +101 -0
- package/docs/project-audit/2026-05-16/sessions/batch-09.md +105 -0
- package/docs/project-audit/2026-05-16/sessions/batch-10.md +102 -0
- package/docs/project-audit/AUDIT-HISTORY.md +74 -0
- package/docs/project-audit/BATCH-PLAN.md +168 -0
- package/docs/project-audit/MARKETING-WEBSITE-FINDINGS-2026-05-11.md +73 -0
- package/docs/project-audit/PRODUCTION-READINESS-AUDIT-2026-05-08.md +275 -0
- package/docs/project-finalization/00-tracker.json +60 -0
- package/docs/project-knowledge-base/01-system-overview.md +227 -0
- package/docs/project-knowledge-base/02-routes-pages-forms-users.md +352 -0
- package/docs/project-knowledge-base/03-tech-stack-modules-services.md +379 -0
- package/docs/project-knowledge-base/04-data-models-integrations.md +244 -0
- package/docs/project-knowledge-base/05-docs-corpus-inventory.md +256 -0
- package/docs/project-knowledge-base/06-operations-testing-legal-content.md +208 -0
- package/docs/project-knowledge-base/README.md +103 -0
- package/docs/project-profiles/native-update-capacitor-update-platform-project-profile-last-updated-2026-05-19.md +81 -0
- package/docs/rules-tracker.md +102 -0
- package/docs/security/PRE-LAUNCH-PENTEST-CHECKLIST.md +116 -0
- package/docs/seo-aeo-rules.json +3043 -0
- package/docs/social-media-marketing/README.md +81 -0
- package/docs/social-media-marketing/posts-batch-01.md +613 -0
- package/docs/social-media-marketing/posts-batch-02.md +528 -0
- package/docs/social-media-marketing/whatsapp-messages-batch-01.md +458 -0
- package/docs/social-media-marketing/whatsapp-status-batch-01.md +355 -0
- package/docs/tracking/finalization-2026-05-16-tracker.json +346 -0
- package/docs/tracking/full-audit-tracker.json +121 -0
- package/docs/tracking/production-readiness-audit-tracker.json +429 -0
- package/docs/tracking/seo-checklist-tracker.json +333 -0
- package/ios/Plugin/BackgroundUpdate/BackgroundUpdatePlugin.swift +66 -9
- package/ios/Plugin/LiveUpdate/LiveUpdatePlugin.swift +306 -52
- package/ios/Plugin/NativeUpdatePlugin.swift +22 -9
- package/ios/Plugin/Security/SecurityManager.swift +13 -14
- package/package.json +37 -38
- package/cli/node_modules/.yarn-integrity +0 -16
- package/cli/node_modules/commander/LICENSE +0 -22
- package/cli/node_modules/commander/Readme.md +0 -1148
- package/cli/node_modules/commander/esm.mjs +0 -16
- package/cli/node_modules/commander/index.js +0 -26
- package/cli/node_modules/commander/lib/argument.js +0 -145
- package/cli/node_modules/commander/lib/command.js +0 -2179
- package/cli/node_modules/commander/lib/error.js +0 -43
- package/cli/node_modules/commander/lib/help.js +0 -462
- package/cli/node_modules/commander/lib/option.js +0 -329
- package/cli/node_modules/commander/lib/suggestSimilar.js +0 -100
- package/cli/node_modules/commander/package-support.json +0 -16
- package/cli/node_modules/commander/package.json +0 -80
- package/cli/node_modules/commander/typings/esm.d.mts +0 -3
- package/cli/node_modules/commander/typings/index.d.ts +0 -884
- package/cli/yarn.lock +0 -8
- package/dist/esm/__tests__/bundle-manager.test.d.ts +0 -1
- package/dist/esm/__tests__/bundle-manager.test.js +0 -151
- package/dist/esm/__tests__/bundle-manager.test.js.map +0 -1
- package/dist/esm/__tests__/config.test.d.ts +0 -1
- package/dist/esm/__tests__/config.test.js +0 -70
- package/dist/esm/__tests__/config.test.js.map +0 -1
- package/dist/esm/__tests__/delta-processor.test.d.ts +0 -1
- package/dist/esm/__tests__/delta-processor.test.js +0 -77
- package/dist/esm/__tests__/delta-processor.test.js.map +0 -1
- package/dist/esm/__tests__/firestore-schema.test.d.ts +0 -1
- package/dist/esm/__tests__/firestore-schema.test.js +0 -74
- package/dist/esm/__tests__/firestore-schema.test.js.map +0 -1
- package/dist/esm/__tests__/integration.test.d.ts +0 -1
- package/dist/esm/__tests__/integration.test.js +0 -78
- package/dist/esm/__tests__/integration.test.js.map +0 -1
- package/dist/esm/__tests__/manifest-reader.test.d.ts +0 -1
- package/dist/esm/__tests__/manifest-reader.test.js +0 -271
- package/dist/esm/__tests__/manifest-reader.test.js.map +0 -1
- package/dist/esm/__tests__/rollout-checker.test.d.ts +0 -1
- package/dist/esm/__tests__/rollout-checker.test.js +0 -210
- package/dist/esm/__tests__/rollout-checker.test.js.map +0 -1
- package/dist/esm/__tests__/security.test.d.ts +0 -1
- package/dist/esm/__tests__/security.test.js +0 -54
- package/dist/esm/__tests__/security.test.js.map +0 -1
- package/dist/esm/__tests__/version-manager.test.d.ts +0 -1
- package/dist/esm/__tests__/version-manager.test.js +0 -45
- package/dist/esm/__tests__/version-manager.test.js.map +0 -1
- package/dist/esm/app-review/app-review-manager.js.map +0 -1
- package/dist/esm/app-review/index.js.map +0 -1
- package/dist/esm/app-review/platform-review-handler.js.map +0 -1
- package/dist/esm/app-review/review-conditions-checker.js.map +0 -1
- package/dist/esm/app-review/review-rate-limiter.js.map +0 -1
- package/dist/esm/app-review/types.js.map +0 -1
- package/dist/esm/app-update/app-update-checker.js.map +0 -1
- package/dist/esm/app-update/app-update-installer.js.map +0 -1
- package/dist/esm/app-update/app-update-manager.js.map +0 -1
- package/dist/esm/app-update/app-update-notifier.js.map +0 -1
- package/dist/esm/app-update/index.js.map +0 -1
- package/dist/esm/app-update/platform-app-update.js.map +0 -1
- package/dist/esm/app-update/types.js.map +0 -1
- package/dist/esm/background-update/background-scheduler.js.map +0 -1
- package/dist/esm/background-update/index.js.map +0 -1
- package/dist/esm/background-update/notification-manager.js.map +0 -1
- package/dist/esm/config/support.js.map +0 -1
- package/dist/esm/core/analytics.js.map +0 -1
- package/dist/esm/core/cache-manager.js.map +0 -1
- package/dist/esm/core/config.js.map +0 -1
- package/dist/esm/core/errors.js.map +0 -1
- package/dist/esm/core/event-emitter.js.map +0 -1
- package/dist/esm/core/logger.js.map +0 -1
- package/dist/esm/core/performance.js.map +0 -1
- package/dist/esm/core/plugin-manager.js.map +0 -1
- package/dist/esm/core/security.js.map +0 -1
- package/dist/esm/definitions.js.map +0 -1
- package/dist/esm/firestore/firestore-client.d.ts +0 -109
- package/dist/esm/firestore/firestore-client.js +0 -264
- package/dist/esm/firestore/firestore-client.js.map +0 -1
- package/dist/esm/firestore/index.d.ts +0 -11
- package/dist/esm/firestore/index.js +0 -11
- package/dist/esm/firestore/index.js.map +0 -1
- package/dist/esm/firestore/manifest-reader.d.ts +0 -87
- package/dist/esm/firestore/manifest-reader.js +0 -294
- package/dist/esm/firestore/manifest-reader.js.map +0 -1
- package/dist/esm/firestore/schema.d.ts +0 -507
- package/dist/esm/firestore/schema.js +0 -73
- package/dist/esm/firestore/schema.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/live-update/bundle-manager.js.map +0 -1
- package/dist/esm/live-update/certificate-pinning.js.map +0 -1
- package/dist/esm/live-update/delta-processor.js.map +0 -1
- package/dist/esm/live-update/download-manager.js.map +0 -1
- package/dist/esm/live-update/rollout-checker.js.map +0 -1
- package/dist/esm/live-update/update-manager.js.map +0 -1
- package/dist/esm/live-update/version-manager.js.map +0 -1
- package/dist/esm/plugin.js.map +0 -1
- package/dist/esm/security/crypto.js.map +0 -1
- package/dist/esm/security/validator.js.map +0 -1
- package/dist/esm/web.js.map +0 -1
- package/dist/plugin.cjs.js.map +0 -1
- package/dist/plugin.esm.js.map +0 -1
- package/dist/plugin.js.map +0 -1
- package/docs/FIREBASE_INTEGRATION_TRACKER.md +0 -321
- package/docs/FIREBASE_QUERIES_AND_INDEXES_AUDIT.md +0 -221
- package/docs/examples/firebase-backend-example.md +0 -27
- package/docs/guides/no-cost-backend-implementation-plan.md +0 -77
- package/docs/guides/no-cost-firestore-google-drive-backend.md +0 -60
- package/docs/play-console-rejection-rules.json +0 -428
- /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) |
|