qualia-framework 2.2.1 → 2.4.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 (29) hide show
  1. package/framework/hooks/confirm-delete.sh +2 -2
  2. package/framework/hooks/migration-validate.sh +2 -2
  3. package/framework/hooks/pre-commit.sh +4 -4
  4. package/framework/hooks/pre-deploy-gate.sh +6 -21
  5. package/framework/install.sh +9 -4
  6. package/framework/qualia-engine/VERSION +1 -1
  7. package/framework/qualia-engine/templates/projects/ai-agent.md +1 -1
  8. package/framework/qualia-engine/templates/projects/voice-agent.md +4 -4
  9. package/framework/qualia-engine/templates/roadmap.md +10 -0
  10. package/framework/qualia-engine/templates/state.md +3 -0
  11. package/framework/qualia-engine/workflows/new-project.md +22 -21
  12. package/framework/skills/client-handoff/SKILL.md +125 -0
  13. package/framework/skills/collab-onboard/SKILL.md +111 -0
  14. package/framework/skills/docs-lookup/SKILL.md +4 -3
  15. package/framework/skills/learn/SKILL.md +1 -1
  16. package/framework/skills/mobile-expo/SKILL.md +117 -4
  17. package/framework/skills/openrouter-agent/SKILL.md +922 -0
  18. package/framework/skills/qualia/SKILL.md +11 -5
  19. package/framework/skills/qualia-audit-milestone/SKILL.md +5 -2
  20. package/framework/skills/qualia-complete-milestone/SKILL.md +9 -5
  21. package/framework/skills/qualia-execute-phase/SKILL.md +5 -2
  22. package/framework/skills/qualia-help/SKILL.md +96 -62
  23. package/framework/skills/qualia-new-project/SKILL.md +184 -62
  24. package/framework/skills/qualia-plan-phase/SKILL.md +5 -2
  25. package/framework/skills/qualia-verify-work/SKILL.md +14 -4
  26. package/framework/skills/qualia-workflow/SKILL.md +5 -5
  27. package/framework/skills/ship/SKILL.md +32 -6
  28. package/framework/skills/voice-agent/SKILL.md +1174 -269
  29. package/package.json +1 -1
@@ -30,7 +30,7 @@ WebFetch: https://docs.stripe.com/llms.txt — Stripe
30
30
  ```
31
31
  WebSearch: "Next.js 16 server actions authentication 2026"
32
32
  WebSearch: "supabase realtime subscription React hook"
33
- WebSearch: "VAPI assistant webhook configuration"
33
+ WebSearch: "Retell AI agent webhook configuration"
34
34
  ```
35
35
 
36
36
  ### 3. Official Docs via WebFetch
@@ -38,7 +38,7 @@ WebSearch: "VAPI assistant webhook configuration"
38
38
  ```
39
39
  WebFetch: https://react.dev/reference/react/use
40
40
  WebFetch: https://supabase.com/docs/guides/auth
41
- WebFetch: https://docs.vapi.ai/assistants
41
+ WebFetch: https://docs.retellai.com/api-references/create-agent
42
42
  ```
43
43
 
44
44
  ### 4. Package README (npm)
@@ -73,6 +73,7 @@ This skill triggers when you:
73
73
  | Tailwind | `tailwindcss.com/llms.txt` |
74
74
  | shadcn/ui | `ui.shadcn.com/llms.txt` |
75
75
  | Vercel | `vercel.com/llms.txt` |
76
- | VAPI | `docs.vapi.ai` |
76
+ | Retell AI | `docs.retellai.com` |
77
+ | OpenRouter | `openrouter.ai/docs` |
77
78
  | ElevenLabs | `elevenlabs.io/docs` |
78
79
  | Telnyx | `developers.telnyx.com` |
@@ -68,4 +68,4 @@ When /learn is invoked, before adding new rules, scan existing patterns:
68
68
  - ALWAYS use feature branches, never commit to main directly
69
69
  - NEVER assume API response structure without checking types
70
70
  - ALWAYS check if a Supabase table has RLS before inserting data
71
- - NEVER hardcode VAPI assistant IDs — use env vars
71
+ - NEVER hardcode Retell agent IDs or API keys — use env vars
@@ -159,10 +159,10 @@ Configure in `app.json`:
159
159
 
160
160
  ```json
161
161
  {
162
- "scheme": "sakani",
162
+ "scheme": "myapp",
163
163
  "plugins": [
164
164
  ["expo-router", {
165
- "origin": "https://sakani.app"
165
+ "origin": "https://myapp.com"
166
166
  }]
167
167
  ]
168
168
  }
@@ -800,6 +800,119 @@ useNavigationOptions({
800
800
  });
801
801
  ```
802
802
 
803
+ ## EAS Build & Submit (App Store Deployment)
804
+
805
+ ### Setup EAS
806
+
807
+ ```bash
808
+ # Install EAS CLI
809
+ npm install -g eas-cli
810
+
811
+ # Log in to Expo account
812
+ eas login
813
+
814
+ # Initialize EAS in your project
815
+ eas build:configure
816
+ ```
817
+
818
+ This creates `eas.json` with build profiles:
819
+
820
+ ```json
821
+ {
822
+ "cli": { "version": ">= 3.0.0" },
823
+ "build": {
824
+ "development": {
825
+ "developmentClient": true,
826
+ "distribution": "internal"
827
+ },
828
+ "preview": {
829
+ "distribution": "internal"
830
+ },
831
+ "production": {}
832
+ },
833
+ "submit": {
834
+ "production": {
835
+ "ios": { "ascAppId": "YOUR_APP_STORE_CONNECT_APP_ID" },
836
+ "android": { "track": "production" }
837
+ }
838
+ }
839
+ }
840
+ ```
841
+
842
+ ### Building for App Stores
843
+
844
+ ```bash
845
+ # iOS production build
846
+ eas build --platform ios --profile production
847
+
848
+ # Android production build
849
+ eas build --platform android --profile production
850
+
851
+ # Both platforms
852
+ eas build --platform all --profile production
853
+ ```
854
+
855
+ ### Code Signing
856
+
857
+ **iOS:**
858
+ - EAS handles provisioning profiles and certificates automatically
859
+ - First build prompts to log in to Apple Developer account
860
+ - Choose "Let EAS handle it" for automatic management
861
+
862
+ **Android:**
863
+ - EAS generates and manages the keystore automatically
864
+ - First build creates a keystore stored securely on EAS servers
865
+ - For existing keystores: `eas credentials` to upload
866
+
867
+ ### Submitting to App Stores
868
+
869
+ ```bash
870
+ # Submit to Apple App Store (requires App Store Connect setup)
871
+ eas submit --platform ios --latest
872
+
873
+ # Submit to Google Play Store (requires Google Play Console setup)
874
+ eas submit --platform android --latest
875
+
876
+ # Submit specific build
877
+ eas submit --platform ios --id BUILD_ID
878
+ ```
879
+
880
+ ### Pre-submission Checklist
881
+
882
+ - [ ] App icon (1024x1024 for iOS, 512x512 for Android)
883
+ - [ ] Splash screen configured
884
+ - [ ] `app.json` has correct bundle identifier and version
885
+ - [ ] Privacy policy URL set (required for both stores)
886
+ - [ ] App Store screenshots prepared (iPhone, iPad if applicable)
887
+ - [ ] Google Play feature graphic (1024x500)
888
+ - [ ] App description and keywords
889
+ - [ ] Age rating questionnaire completed
890
+ - [ ] In-app purchases configured (if applicable)
891
+
892
+ ### OTA Updates (Over-The-Air)
893
+
894
+ For JS-only updates without rebuilding:
895
+
896
+ ```bash
897
+ # Push an update to production
898
+ eas update --branch production --message "Fix: corrected button alignment"
899
+
900
+ # Push to preview
901
+ eas update --branch preview --message "Feature: new onboarding flow"
902
+ ```
903
+
904
+ Configure in `app.json`:
905
+ ```json
906
+ {
907
+ "expo": {
908
+ "updates": {
909
+ "url": "https://u.expo.dev/YOUR_PROJECT_ID"
910
+ },
911
+ "runtimeVersion": { "policy": "appVersion" }
912
+ }
913
+ }
914
+ ```
915
+
803
916
  ## Dependencies
804
917
 
805
918
  ### Core
@@ -849,8 +962,8 @@ useNavigationOptions({
849
962
  ## Quick Start
850
963
 
851
964
  ```bash
852
- npx create-expo-app sakani --template
853
- cd sakani
965
+ npx create-expo-app my-app --template
966
+ cd my-app
854
967
  npx expo install expo-router
855
968
  npx expo customize tsconfig
856
969
  npx expo install axios zustand @tanstack/react-query zod react-hook-form @hookform/resolvers