qualia-framework 2.6.0 → 3.2.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 (321) hide show
  1. package/CLAUDE.md +64 -0
  2. package/README.md +103 -30
  3. package/agents/builder.md +110 -0
  4. package/agents/planner.md +134 -0
  5. package/agents/qa-browser.md +186 -0
  6. package/agents/verifier.md +221 -0
  7. package/bin/cli.js +336 -531
  8. package/bin/install.js +570 -0
  9. package/bin/qualia-ui.js +299 -0
  10. package/bin/state.js +630 -0
  11. package/bin/statusline.js +252 -0
  12. package/guide.md +63 -0
  13. package/hooks/auto-update.js +139 -0
  14. package/hooks/branch-guard.js +47 -0
  15. package/hooks/migration-guard.js +60 -0
  16. package/hooks/pre-compact.js +32 -0
  17. package/hooks/pre-deploy-gate.js +110 -0
  18. package/hooks/pre-push.js +33 -0
  19. package/hooks/session-start.js +170 -0
  20. package/package.json +29 -20
  21. package/rules/design-reference.md +179 -0
  22. package/rules/frontend.md +126 -0
  23. package/skills/qualia/SKILL.md +87 -0
  24. package/skills/qualia-build/SKILL.md +97 -0
  25. package/skills/qualia-debug/SKILL.md +87 -0
  26. package/skills/qualia-design/SKILL.md +93 -0
  27. package/skills/qualia-handoff/SKILL.md +66 -0
  28. package/skills/qualia-idk/SKILL.md +8 -0
  29. package/skills/qualia-learn/SKILL.md +88 -0
  30. package/skills/qualia-new/SKILL.md +323 -0
  31. package/{framework/skills → skills}/qualia-optimize/SKILL.md +1 -1
  32. package/skills/qualia-pause/SKILL.md +63 -0
  33. package/skills/qualia-plan/SKILL.md +101 -0
  34. package/skills/qualia-polish/SKILL.md +157 -0
  35. package/skills/qualia-quick/SKILL.md +37 -0
  36. package/skills/qualia-report/SKILL.md +105 -0
  37. package/skills/qualia-resume/SKILL.md +49 -0
  38. package/skills/qualia-review/SKILL.md +76 -0
  39. package/skills/qualia-ship/SKILL.md +90 -0
  40. package/skills/qualia-skill-new/SKILL.md +167 -0
  41. package/skills/qualia-task/SKILL.md +91 -0
  42. package/skills/qualia-verify/SKILL.md +113 -0
  43. package/templates/DESIGN.md +137 -0
  44. package/templates/plan.md +28 -0
  45. package/templates/project.md +22 -0
  46. package/templates/state.md +27 -0
  47. package/templates/tracking.json +20 -0
  48. package/tests/bin.test.sh +673 -0
  49. package/tests/hooks.test.sh +315 -0
  50. package/tests/state.test.sh +535 -0
  51. package/tests/statusline.test.sh +243 -0
  52. package/bin/collect-metrics.sh +0 -62
  53. package/framework/.claudeignore +0 -51
  54. package/framework/CLAUDE.md +0 -51
  55. package/framework/MCP_SETUP.md +0 -229
  56. package/framework/agents/architecture-strategist.md +0 -53
  57. package/framework/agents/backend-agent.md +0 -150
  58. package/framework/agents/code-simplicity-reviewer.md +0 -86
  59. package/framework/agents/frontend-agent.md +0 -111
  60. package/framework/agents/kieran-typescript-reviewer.md +0 -96
  61. package/framework/agents/performance-oracle.md +0 -111
  62. package/framework/agents/qualia-codebase-mapper.md +0 -761
  63. package/framework/agents/qualia-debugger.md +0 -1204
  64. package/framework/agents/qualia-executor.md +0 -882
  65. package/framework/agents/qualia-integration-checker.md +0 -424
  66. package/framework/agents/qualia-phase-researcher.md +0 -457
  67. package/framework/agents/qualia-plan-checker.md +0 -700
  68. package/framework/agents/qualia-planner.md +0 -1245
  69. package/framework/agents/qualia-project-researcher.md +0 -603
  70. package/framework/agents/qualia-research-synthesizer.md +0 -200
  71. package/framework/agents/qualia-roadmapper.md +0 -606
  72. package/framework/agents/qualia-verifier.md +0 -686
  73. package/framework/agents/red-team-qa.md +0 -130
  74. package/framework/agents/security-auditor.md +0 -72
  75. package/framework/agents/team-orchestrator.md +0 -229
  76. package/framework/agents/teams/framework-audit-team.md +0 -66
  77. package/framework/agents/teams/full-stack-team.md +0 -48
  78. package/framework/agents/teams/optimize-team.md +0 -53
  79. package/framework/agents/teams/review-team.md +0 -70
  80. package/framework/agents/teams/ship-team.md +0 -86
  81. package/framework/agents/test-agent.md +0 -182
  82. package/framework/hooks/auto-format.sh +0 -54
  83. package/framework/hooks/block-env-edit.sh +0 -42
  84. package/framework/hooks/branch-guard.sh +0 -43
  85. package/framework/hooks/confirm-delete.sh +0 -59
  86. package/framework/hooks/migration-validate.sh +0 -77
  87. package/framework/hooks/notification-speak.sh +0 -16
  88. package/framework/hooks/pre-commit.sh +0 -100
  89. package/framework/hooks/pre-compact.sh +0 -56
  90. package/framework/hooks/pre-deploy-gate.sh +0 -160
  91. package/framework/hooks/qualia-colors.sh +0 -32
  92. package/framework/hooks/retention-cleanup.sh +0 -62
  93. package/framework/hooks/save-session-state.sh +0 -185
  94. package/framework/hooks/session-context-loader.sh +0 -96
  95. package/framework/hooks/session-learn.sh +0 -32
  96. package/framework/hooks/skill-announce.sh +0 -123
  97. package/framework/hooks/tool-error-announce.sh +0 -27
  98. package/framework/install.ps1 +0 -323
  99. package/framework/install.sh +0 -313
  100. package/framework/qualia-framework/VERSION +0 -1
  101. package/framework/qualia-framework/assets/qualia-logo.png +0 -0
  102. package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
  103. package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
  104. package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
  105. package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
  106. package/framework/qualia-framework/references/checkpoints.md +0 -775
  107. package/framework/qualia-framework/references/completion-checklists.md +0 -359
  108. package/framework/qualia-framework/references/continuation-format.md +0 -249
  109. package/framework/qualia-framework/references/continuation-prompt.md +0 -97
  110. package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
  111. package/framework/qualia-framework/references/design-quality.md +0 -56
  112. package/framework/qualia-framework/references/employee-guide.md +0 -167
  113. package/framework/qualia-framework/references/git-integration.md +0 -254
  114. package/framework/qualia-framework/references/git-planning-commit.md +0 -50
  115. package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
  116. package/framework/qualia-framework/references/model-profiles.md +0 -73
  117. package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
  118. package/framework/qualia-framework/references/planning-config.md +0 -195
  119. package/framework/qualia-framework/references/questioning.md +0 -141
  120. package/framework/qualia-framework/references/tdd.md +0 -263
  121. package/framework/qualia-framework/references/ui-brand.md +0 -160
  122. package/framework/qualia-framework/references/verification-patterns.md +0 -612
  123. package/framework/qualia-framework/templates/DEBUG.md +0 -159
  124. package/framework/qualia-framework/templates/DESIGN.md +0 -81
  125. package/framework/qualia-framework/templates/UAT.md +0 -247
  126. package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
  127. package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
  128. package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
  129. package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
  130. package/framework/qualia-framework/templates/codebase/stack.md +0 -186
  131. package/framework/qualia-framework/templates/codebase/structure.md +0 -285
  132. package/framework/qualia-framework/templates/codebase/testing.md +0 -480
  133. package/framework/qualia-framework/templates/config.json +0 -35
  134. package/framework/qualia-framework/templates/context.md +0 -283
  135. package/framework/qualia-framework/templates/continue-here.md +0 -78
  136. package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
  137. package/framework/qualia-framework/templates/discovery.md +0 -146
  138. package/framework/qualia-framework/templates/lab-notes.md +0 -16
  139. package/framework/qualia-framework/templates/milestone-archive.md +0 -123
  140. package/framework/qualia-framework/templates/milestone.md +0 -115
  141. package/framework/qualia-framework/templates/phase-prompt.md +0 -567
  142. package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
  143. package/framework/qualia-framework/templates/project.md +0 -184
  144. package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
  145. package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
  146. package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
  147. package/framework/qualia-framework/templates/projects/website.md +0 -137
  148. package/framework/qualia-framework/templates/requirements.md +0 -231
  149. package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
  150. package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
  151. package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
  152. package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
  153. package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
  154. package/framework/qualia-framework/templates/research.md +0 -552
  155. package/framework/qualia-framework/templates/roadmap.md +0 -206
  156. package/framework/qualia-framework/templates/state.md +0 -179
  157. package/framework/qualia-framework/templates/summary-complex.md +0 -59
  158. package/framework/qualia-framework/templates/summary-minimal.md +0 -41
  159. package/framework/qualia-framework/templates/summary-standard.md +0 -48
  160. package/framework/qualia-framework/templates/summary.md +0 -246
  161. package/framework/qualia-framework/templates/user-setup.md +0 -311
  162. package/framework/qualia-framework/templates/verification-report.md +0 -322
  163. package/framework/qualia-framework/workflows/add-phase.md +0 -179
  164. package/framework/qualia-framework/workflows/add-todo.md +0 -157
  165. package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
  166. package/framework/qualia-framework/workflows/check-todos.md +0 -176
  167. package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
  168. package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
  169. package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
  170. package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
  171. package/framework/qualia-framework/workflows/execute-phase.md +0 -559
  172. package/framework/qualia-framework/workflows/execute-plan.md +0 -438
  173. package/framework/qualia-framework/workflows/help.md +0 -470
  174. package/framework/qualia-framework/workflows/insert-phase.md +0 -220
  175. package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
  176. package/framework/qualia-framework/workflows/map-codebase.md +0 -327
  177. package/framework/qualia-framework/workflows/new-milestone.md +0 -363
  178. package/framework/qualia-framework/workflows/new-project.md +0 -982
  179. package/framework/qualia-framework/workflows/pause-work.md +0 -122
  180. package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
  181. package/framework/qualia-framework/workflows/plan-phase.md +0 -422
  182. package/framework/qualia-framework/workflows/progress.md +0 -389
  183. package/framework/qualia-framework/workflows/quick.md +0 -252
  184. package/framework/qualia-framework/workflows/remove-phase.md +0 -326
  185. package/framework/qualia-framework/workflows/research-phase.md +0 -74
  186. package/framework/qualia-framework/workflows/resume-project.md +0 -306
  187. package/framework/qualia-framework/workflows/set-profile.md +0 -80
  188. package/framework/qualia-framework/workflows/settings.md +0 -145
  189. package/framework/qualia-framework/workflows/transition.md +0 -556
  190. package/framework/qualia-framework/workflows/update.md +0 -197
  191. package/framework/qualia-framework/workflows/verify-phase.md +0 -195
  192. package/framework/qualia-framework/workflows/verify-work.md +0 -625
  193. package/framework/rules/context7.md +0 -14
  194. package/framework/rules/frontend.md +0 -33
  195. package/framework/rules/speed.md +0 -23
  196. package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
  197. package/framework/scripts/apply-retention.sh +0 -120
  198. package/framework/scripts/bootstrap-pop-os.sh +0 -354
  199. package/framework/scripts/claude-voice +0 -13
  200. package/framework/scripts/cleanup.sh +0 -131
  201. package/framework/scripts/cowork-mode.sh +0 -141
  202. package/framework/scripts/generate-project-claude-md.sh +0 -153
  203. package/framework/scripts/load-test-webhook.js +0 -172
  204. package/framework/scripts/say.py +0 -236
  205. package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
  206. package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
  207. package/framework/scripts/speak.py +0 -55
  208. package/framework/scripts/speak.sh +0 -18
  209. package/framework/scripts/status.sh +0 -138
  210. package/framework/scripts/sync-to-framework.sh +0 -65
  211. package/framework/scripts/voice-hotkey.py +0 -227
  212. package/framework/scripts/voice-input.sh +0 -51
  213. package/framework/skills/animate/SKILL.md +0 -202
  214. package/framework/skills/bolder/SKILL.md +0 -144
  215. package/framework/skills/browser-qa/SKILL.md +0 -536
  216. package/framework/skills/clarify/SKILL.md +0 -179
  217. package/framework/skills/client-handoff/SKILL.md +0 -135
  218. package/framework/skills/collab-onboard/SKILL.md +0 -111
  219. package/framework/skills/colorize/SKILL.md +0 -170
  220. package/framework/skills/critique/SKILL.md +0 -126
  221. package/framework/skills/deep-research/SKILL.md +0 -240
  222. package/framework/skills/delight/SKILL.md +0 -329
  223. package/framework/skills/deploy/SKILL.md +0 -261
  224. package/framework/skills/deploy-verify/SKILL.md +0 -377
  225. package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
  226. package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
  227. package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
  228. package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
  229. package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
  230. package/framework/skills/design-quieter/SKILL.md +0 -130
  231. package/framework/skills/distill/SKILL.md +0 -149
  232. package/framework/skills/docs-lookup/SKILL.md +0 -79
  233. package/framework/skills/fcm-notifications/SKILL.md +0 -125
  234. package/framework/skills/financial-ledger/SKILL.md +0 -1039
  235. package/framework/skills/frontend-master/NOTICE.md +0 -4
  236. package/framework/skills/frontend-master/SKILL.md +0 -127
  237. package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
  238. package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
  239. package/framework/skills/frontend-master/reference/motion-design.md +0 -99
  240. package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
  241. package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
  242. package/framework/skills/frontend-master/reference/typography.md +0 -131
  243. package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
  244. package/framework/skills/harden/SKILL.md +0 -357
  245. package/framework/skills/i18n-rtl/SKILL.md +0 -752
  246. package/framework/skills/learn/SKILL.md +0 -95
  247. package/framework/skills/memory/SKILL.md +0 -50
  248. package/framework/skills/mobile-expo/SKILL.md +0 -977
  249. package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
  250. package/framework/skills/nestjs-backend/README.md +0 -73
  251. package/framework/skills/nestjs-backend/SKILL.md +0 -446
  252. package/framework/skills/nestjs-backend/references/templates.md +0 -1173
  253. package/framework/skills/normalize/SKILL.md +0 -79
  254. package/framework/skills/onboard/SKILL.md +0 -242
  255. package/framework/skills/openrouter-agent/SKILL.md +0 -922
  256. package/framework/skills/polish/SKILL.md +0 -209
  257. package/framework/skills/pr/SKILL.md +0 -66
  258. package/framework/skills/qualia/SKILL.md +0 -199
  259. package/framework/skills/qualia-add-todo/SKILL.md +0 -68
  260. package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
  261. package/framework/skills/qualia-check-todos/SKILL.md +0 -55
  262. package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
  263. package/framework/skills/qualia-debug/SKILL.md +0 -149
  264. package/framework/skills/qualia-design/SKILL.md +0 -203
  265. package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
  266. package/framework/skills/qualia-evolve/SKILL.md +0 -200
  267. package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
  268. package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
  269. package/framework/skills/qualia-guide/SKILL.md +0 -32
  270. package/framework/skills/qualia-help/SKILL.md +0 -114
  271. package/framework/skills/qualia-idk/SKILL.md +0 -352
  272. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
  273. package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
  274. package/framework/skills/qualia-new-project/SKILL.md +0 -232
  275. package/framework/skills/qualia-pause-work/SKILL.md +0 -96
  276. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
  277. package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
  278. package/framework/skills/qualia-production-check/SKILL.md +0 -0
  279. package/framework/skills/qualia-progress/SKILL.md +0 -53
  280. package/framework/skills/qualia-quick/SKILL.md +0 -89
  281. package/framework/skills/qualia-report/SKILL.md +0 -166
  282. package/framework/skills/qualia-research-phase/SKILL.md +0 -88
  283. package/framework/skills/qualia-resume-work/SKILL.md +0 -62
  284. package/framework/skills/qualia-review/SKILL.md +0 -263
  285. package/framework/skills/qualia-start/SKILL.md +0 -161
  286. package/framework/skills/qualia-verify-work/SKILL.md +0 -132
  287. package/framework/skills/rag/SKILL.md +0 -750
  288. package/framework/skills/responsive/SKILL.md +0 -231
  289. package/framework/skills/retro/SKILL.md +0 -284
  290. package/framework/skills/sakani-conventions/SKILL.md +0 -136
  291. package/framework/skills/sakani-conventions/evals/evals.json +0 -23
  292. package/framework/skills/sakani-conventions/references/entities.md +0 -365
  293. package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
  294. package/framework/skills/seo-master/SKILL.md +0 -490
  295. package/framework/skills/seo-master/references/checklist.md +0 -199
  296. package/framework/skills/seo-master/references/structured-data.md +0 -609
  297. package/framework/skills/ship/SKILL.md +0 -239
  298. package/framework/skills/stack-researcher/SKILL.md +0 -215
  299. package/framework/skills/status/SKILL.md +0 -154
  300. package/framework/skills/status/scripts/health-check.sh +0 -562
  301. package/framework/skills/subscription-payments/SKILL.md +0 -250
  302. package/framework/skills/supabase/SKILL.md +0 -973
  303. package/framework/skills/supabase/references/templates.md +0 -159
  304. package/framework/skills/team/SKILL.md +0 -67
  305. package/framework/skills/test-runner/SKILL.md +0 -202
  306. package/framework/skills/voice-agent/SKILL.md +0 -1312
  307. package/framework/skills/zoho-workflow/SKILL.md +0 -51
  308. package/framework/statusline-command.sh +0 -117
  309. package/framework/teams/default/inboxes/plan-04.json +0 -9
  310. package/framework/teams/review-team.md +0 -75
  311. package/framework/teams/ship-team.md +0 -86
  312. package/profiles/fawzi.json +0 -16
  313. package/profiles/hasan.json +0 -16
  314. package/profiles/moayad.json +0 -16
  315. package/templates/CLAUDE-owner.md +0 -52
  316. package/templates/CLAUDE.md.hbs +0 -58
  317. package/templates/env.claude.template +0 -12
  318. package/templates/settings.json +0 -172
  319. package/uninstall.sh +0 -90
  320. /package/{framework/rules → rules}/deployment.md +0 -0
  321. /package/{framework/rules → rules}/security.md +0 -0
@@ -1,359 +0,0 @@
1
- # Qualia Project Completion Checklists
2
-
3
- > **Every project must pass ALL items in its checklist before being considered complete.**
4
- > Copy the relevant checklist into your project's root as `COMPLETION_CHECKLIST.md` and check items off as you go.
5
- > Manager reviews the checklist before sign-off.
6
-
7
- ---
8
-
9
- ## Universal Checklist (ALL project types)
10
-
11
- ### 1. Client & Requirements
12
-
13
- - [ ] All features from the project brief are implemented
14
- - [ ] Client has reviewed and approved the work
15
- - [ ] No outstanding client feedback unaddressed
16
- - [ ] Project brief saved in `Knowledge Base/[client]/PROJECT_BRIEF.md`
17
-
18
- ### 2. Code Quality
19
-
20
- - [ ] `npx tsc --noEmit` passes with zero errors
21
- - [ ] `npm run lint` passes with zero warnings
22
- - [ ] `npm run build` completes successfully
23
- - [ ] No `console.log` statements left in production code
24
- - [ ] No `TODO` or `FIXME` comments left unresolved
25
- - [ ] No commented-out code blocks
26
- - [ ] CLAUDE.md is complete and accurate (stack, structure, commands, env vars)
27
- - [ ] README.md has setup instructions
28
-
29
- ### 3. Security
30
-
31
- - [ ] No API keys or secrets hardcoded in source code
32
- - [ ] No `.env` files committed to git (`git log --all --full-history -- "*.env*"` returns nothing)
33
- - [ ] `.env.example` exists with all required variable names (no values)
34
- - [ ] All environment variables set in deployment platform (Vercel/Cloudflare)
35
- - [ ] No `eval()` or `dangerouslySetInnerHTML` used
36
- - [ ] Server-side auth checks on all mutations (never trust client)
37
- - [ ] CORS configured correctly (not `*` in production)
38
-
39
- ### 4. Database (if applicable)
40
-
41
- - [ ] RLS (Row Level Security) enabled on EVERY table
42
- - [ ] RLS policies written and tested for each table
43
- - [ ] No `service_role` key used in client-side code
44
- - [ ] Supabase client created from `lib/supabase/server.ts` for mutations
45
- - [ ] TypeScript types generated from database schema
46
- - [ ] Migrations committed to `supabase/migrations/`
47
- - [ ] Indexes on frequently queried columns
48
-
49
- ### 5. Testing
50
-
51
- - [ ] Manual testing of all features completed
52
- - [ ] All forms validate correctly (invalid input rejected, valid input accepted)
53
- - [ ] Error states tested (network failure, invalid data, unauthorized access)
54
- - [ ] Mobile responsive tested on real device or DevTools
55
- - [ ] Cross-browser tested (Chrome + Safari minimum)
56
-
57
- ### 6. Performance
58
-
59
- - [ ] `npm run build` bundle size reasonable (no massive chunks)
60
- - [ ] Images optimized (WebP/AVIF, proper sizing, lazy loading)
61
- - [ ] No N+1 database queries
62
- - [ ] API responses under 500ms for key endpoints
63
- - [ ] Fonts loaded efficiently (next/font or font-display: swap)
64
-
65
- ### 7. Deployment
66
-
67
- - [ ] Project deployed to production (`vercel --prod` or `wrangler deploy`)
68
- - [ ] Custom domain configured (if applicable)
69
- - [ ] SSL certificate active and valid
70
- - [ ] **HTTP 200** — Homepage loads: `curl -s -o /dev/null -w "%{http_code}" <URL>`
71
- - [ ] **Auth flow** — Login/signup works end-to-end
72
- - [ ] **Console clean** — No JavaScript errors in browser DevTools
73
- - [ ] **Latency** — Key pages load under 3 seconds on mobile
74
- - [ ] Project added to UptimeRobot monitoring
75
-
76
- ### 8. Handoff
77
-
78
- - [ ] Client walkthrough/demo completed
79
- - [ ] Client has access to all necessary accounts
80
- - [ ] Documentation provided (how to use, how to update)
81
- - [ ] Project registered in Qualia ERP (portal.qualiasolutions.net)
82
- - [ ] Qualia context file updated (`~/.claude/knowledge/qualia-context.md`)
83
-
84
- ---
85
-
86
- ## Website-Specific Checklist
87
-
88
- > Applies to: Marketing websites, landing pages, portfolio sites
89
- > Stack: React + Vite + Tailwind OR Next.js
90
-
91
- ### SEO
92
-
93
- - [ ] Page titles set on every page (`<title>` or metadata)
94
- - [ ] Meta descriptions set on every page (150-160 chars)
95
- - [ ] Open Graph tags set (og:title, og:description, og:image)
96
- - [ ] Favicon added (multiple sizes: 16x16, 32x32, apple-touch-icon)
97
- - [ ] `robots.txt` exists and allows crawling
98
- - [ ] `sitemap.xml` exists (or auto-generated)
99
- - [ ] JSON-LD structured data on homepage (Organization or LocalBusiness)
100
- - [ ] Heading hierarchy correct (single H1 per page, H2s, H3s in order)
101
- - [ ] All images have `alt` text
102
- - [ ] No broken links (test all navigation + footer links)
103
-
104
- ### Responsive Design
105
-
106
- - [ ] Mobile (375px): All content readable, no horizontal scroll
107
- - [ ] Tablet (768px): Layout adjusts properly
108
- - [ ] Desktop (1280px): Content doesn't stretch beyond max-width
109
- - [ ] Touch targets minimum 44x44px on mobile
110
- - [ ] Font sizes readable without zooming on mobile (min 16px body)
111
-
112
- ### Visual Quality
113
-
114
- - [ ] Distinctive fonts loaded (not Inter/Arial/system default)
115
- - [ ] Brand colors applied consistently
116
- - [ ] Hover effects on all interactive elements
117
- - [ ] Animations are smooth (no jank, no layout shift)
118
- - [ ] Dark mode works (if applicable)
119
- - [ ] No orphaned text (single words on a line in headings)
120
-
121
- ### Accessibility
122
-
123
- - [ ] Keyboard navigation works (Tab through all interactive elements)
124
- - [ ] Focus indicators visible on all interactive elements
125
- - [ ] Color contrast ratio minimum 4.5:1 for body text
126
- - [ ] Forms have associated labels
127
- - [ ] Skip-to-content link exists
128
-
129
- ---
130
-
131
- ## Platform with LLM Checklist
132
-
133
- > Applies to: SaaS apps, dashboards, internal tools with AI/LLM integration
134
- > Stack: Next.js + Supabase + AI SDK (Gemini/OpenAI/Anthropic)
135
-
136
- ### AI Safety & Prompt Security
137
-
138
- - [ ] System prompt NOT exposed to users (not in client bundle, not in API response)
139
- - [ ] User input sanitized before injection into prompts
140
- - [ ] No `eval()` or dynamic code execution from AI output
141
- - [ ] AI output validated/sanitized before rendering (no raw HTML)
142
- - [ ] Token limits enforced on AI calls (`maxTokens` set)
143
- - [ ] Rate limiting on AI endpoints (per-user, per-minute)
144
- - [ ] Cost monitoring configured (track token usage, set alerts)
145
-
146
- ### AI Functionality
147
-
148
- - [ ] AI responses stream correctly (no buffering, smooth display)
149
- - [ ] Error handling for AI provider failures (timeout, rate limit, quota)
150
- - [ ] Fallback behavior when AI is unavailable
151
- - [ ] Conversation context managed properly (not exceeding window)
152
- - [ ] AI tools/functions validated before execution
153
-
154
- ### Platform Features
155
-
156
- - [ ] Authentication working (login, signup, logout, password reset)
157
- - [ ] Authorization checked server-side on every mutation
158
- - [ ] Multi-tenancy isolation (users can only see their own data)
159
- - [ ] Server Actions return `ActionResult { success, error?, data? }`
160
- - [ ] Zod validation on all server action inputs
161
- - [ ] Cache invalidation after mutations
162
- - [ ] Loading states on all async operations
163
- - [ ] Error boundaries on all pages
164
- - [ ] 404 page exists
165
-
166
- ---
167
-
168
- ## AI Agent Checklist
169
-
170
- > Applies to: Chat agents, AI personas, WhatsApp bots, web chatbots
171
- > Stack: Next.js + AI SDK + Supabase
172
-
173
- ### AI Configuration
174
-
175
- - [ ] System prompt written and tested
176
- - [ ] AI provider configured (API key server-side only)
177
- - [ ] Chat endpoint working (`/api/chat` or similar)
178
- - [ ] Streaming responses working
179
- - [ ] Temperature and model settings appropriate for use case
180
-
181
- ### AI Safety (CRITICAL)
182
-
183
- - [ ] System prompt not exposed in client-side code
184
- - [ ] No prompt injection vulnerabilities (test with adversarial inputs)
185
- - [ ] `service_role` key NOT imported in any client component: `grep -r "service_role" app/ components/ src/`
186
- - [ ] AI output sanitized before display
187
- - [ ] Rate limiting on chat endpoint (per-user)
188
- - [ ] `maxTokens` set on all AI calls
189
- - [ ] Token budget monitoring in place
190
-
191
- ### Conversation Quality
192
-
193
- - [ ] Agent stays in character / on topic
194
- - [ ] Graceful handling of off-topic inputs
195
- - [ ] Clear fallback responses for edge cases ("I can't help with that")
196
- - [ ] Context window management (conversation doesn't exceed limits)
197
- - [ ] Conversation history stored (if required)
198
-
199
- ### Integrations (if applicable)
200
-
201
- - [ ] WhatsApp webhook verified and secure
202
- - [ ] Webhook idempotency (duplicate messages handled)
203
- - [ ] External API calls have timeout protection
204
- - [ ] Error handling for third-party API failures
205
-
206
- ### Monitoring
207
-
208
- - [ ] Error tracking configured (Sentry or logging)
209
- - [ ] Token usage tracked and alerted
210
- - [ ] Conversation logs stored for debugging
211
- - [ ] Uptime monitoring active
212
-
213
- ---
214
-
215
- ## Voice Agent Checklist
216
-
217
- > Applies to: Phone bots, voice assistants, IVR systems
218
- > Stack: VAPI/Retell + Cloudflare Workers/Vercel + Supabase
219
-
220
- ### Voice Configuration
221
-
222
- - [ ] VAPI assistant created and configured
223
- - [ ] Voice provider selected and tested (Cartesia/ElevenLabs)
224
- - [ ] STT provider configured (Gladia/Deepgram)
225
- - [ ] LLM provider configured (Gemini/Claude/OpenAI)
226
- - [ ] System prompt written for voice (concise, conversational)
227
- - [ ] First message configured and sounds natural
228
- - [ ] End-call message configured
229
-
230
- ### Voice UX
231
-
232
- - [ ] Responses are SHORT (1-2 sentences max per turn)
233
- - [ ] Agent confirms important info back to caller (dates, names, numbers)
234
- - [ ] Interruption handling works (caller can cut in)
235
- - [ ] Silence detection and timeout configured
236
- - [ ] Escape route available ("say 'operator' for a human")
237
- - [ ] Agent handles "I don't understand" gracefully
238
-
239
- ### Webhook & Tools
240
-
241
- - [ ] Webhook endpoint deployed and accessible
242
- - [ ] Webhook signature verification implemented (`x-vapi-signature` check)
243
- - [ ] All tools defined, implemented, and tested
244
- - [ ] Tool input validation with Zod
245
- - [ ] Error handling for each tool (graceful degradation)
246
- - [ ] Call logs stored in database
247
-
248
- ### Testing
249
-
250
- - [ ] Test call from VAPI dashboard successful
251
- - [ ] Real phone call tested (if phone number configured)
252
- - [ ] Edge cases tested (invalid dates, unavailable slots, etc.)
253
- - [ ] Error scenarios tested (tool fails, API timeout)
254
- - [ ] Multi-language tested (if applicable)
255
-
256
- ### Performance
257
-
258
- - [ ] First response latency under 500ms
259
- - [ ] Webhook response time under 300ms
260
- - [ ] No audio gaps or awkward silences during tool execution
261
- - [ ] Edge function cold start acceptable
262
-
263
- ### Deployment
264
-
265
- - [ ] Cloudflare Worker deployed to production (or Vercel/Supabase)
266
- - [ ] VAPI assistant updated with production webhook URL
267
- - [ ] Phone number connected (if applicable)
268
- - [ ] Webhook secrets set in production environment
269
- - [ ] Final production test call successful
270
-
271
- ---
272
-
273
- ## Mobile App Checklist
274
-
275
- > Applies to: iOS/Android apps
276
- > Stack: React Native + Expo + Supabase
277
-
278
- ### App Basics
279
-
280
- - [ ] App icon designed and configured (all required sizes)
281
- - [ ] Splash screen configured
282
- - [ ] App name and bundle identifier set
283
- - [ ] Version number set correctly
284
-
285
- ### Functionality
286
-
287
- - [ ] All screens implemented per requirements
288
- - [ ] Navigation flows work correctly (forward, back, deep links)
289
- - [ ] Forms validate correctly with error messages
290
- - [ ] Pull-to-refresh on list screens
291
- - [ ] Loading states on all async operations
292
- - [ ] Empty states on all list screens
293
- - [ ] Error handling with user-friendly messages
294
-
295
- ### Mobile-Specific
296
-
297
- - [ ] Works on iOS (test on real device or simulator)
298
- - [ ] Works on Android (test on real device or emulator)
299
- - [ ] Keyboard handling correct (doesn't cover inputs)
300
- - [ ] Safe area insets respected (notch, home indicator)
301
- - [ ] Dark mode supported (if applicable)
302
- - [ ] Orientation handling (portrait-only or both)
303
- - [ ] Offline behavior defined (graceful degradation or offline-first)
304
-
305
- ### Push Notifications (if applicable)
306
-
307
- - [ ] FCM configured for Android
308
- - [ ] APNs configured for iOS
309
- - [ ] Device token registration working
310
- - [ ] Test notification received on real device
311
- - [ ] Notification tap opens correct screen
312
-
313
- ### Security
314
-
315
- - [ ] Sensitive data stored in SecureStore (not AsyncStorage)
316
- - [ ] API keys not in client bundle
317
- - [ ] Auth tokens have refresh logic
318
- - [ ] Certificate pinning (if handling sensitive data)
319
-
320
- ### Store Submission
321
-
322
- - [ ] App Store screenshots prepared (all required sizes)
323
- - [ ] Play Store screenshots prepared
324
- - [ ] App description written
325
- - [ ] Privacy policy URL provided
326
- - [ ] EAS Build configured and tested
327
- - [ ] Test build distributed to client for approval
328
- - [ ] Final build submitted to stores
329
-
330
- ### i18n & RTL (if applicable)
331
-
332
- - [ ] All strings use message keys (no hardcoded text)
333
- - [ ] Arabic text renders correctly (RTL layout)
334
- - [ ] Icons flip correctly in RTL mode
335
- - [ ] Western numerals (0-9) used everywhere (not Eastern Arabic)
336
- - [ ] Date/time formatting locale-aware
337
-
338
- ---
339
-
340
- ## How to Use These Checklists
341
-
342
- 1. **At project start:** Copy the Universal Checklist + your project-type checklist into `COMPLETION_CHECKLIST.md` in your project root
343
- 2. **During development:** Check items off as you complete them
344
- 3. **Before shipping:** All items must be checked. Run `/review` for automated verification
345
- 4. **Manager review:** Fawzi reviews the checklist, signs off or returns with feedback
346
- 5. **After launch:** Keep the checklist in the repo as a record of what was verified
347
-
348
- ### Severity Guide
349
-
350
- If an item can't be checked off, document WHY in the Notes section:
351
-
352
- - **Blocker** — Must fix before launch (security, broken features)
353
- - **Accepted Risk** — Acknowledged by Fawzi, documented, will fix later
354
- - **N/A** — Doesn't apply to this project (e.g., no database = skip DB section)
355
-
356
- ---
357
-
358
- _Last updated: 2026-03-23_
359
- _Version: 1.0_
@@ -1,249 +0,0 @@
1
- # Continuation Format
2
-
3
- Standard format for presenting next steps after completing a command or workflow.
4
-
5
- ## Core Structure
6
-
7
- ```
8
- ---
9
-
10
- ## ▶ Next Up
11
-
12
- **{identifier}: {name}** — {one-line description}
13
-
14
- `{command to copy-paste}`
15
-
16
- <sub>`/clear` first → fresh context window</sub>
17
-
18
- ---
19
-
20
- **Also available:**
21
- - `{alternative option 1}` — description
22
- - `{alternative option 2}` — description
23
-
24
- ---
25
- ```
26
-
27
- ## Format Rules
28
-
29
- 1. **Always show what it is** — name + description, never just a command path
30
- 2. **Pull context from source** — ROADMAP.md for phases, PLAN.md `<objective>` for plans
31
- 3. **Command in inline code** — backticks, easy to copy-paste, renders as clickable link
32
- 4. **`/clear` explanation** — always include, keeps it concise but explains why
33
- 5. **"Also available" not "Other options"** — sounds more app-like
34
- 6. **Visual separators** — `---` above and below to make it stand out
35
-
36
- ## Variants
37
-
38
- ### Execute Next Plan
39
-
40
- ```
41
- ---
42
-
43
- ## ▶ Next Up
44
-
45
- **02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry
46
-
47
- `/qualia:execute-phase 2`
48
-
49
- <sub>`/clear` first → fresh context window</sub>
50
-
51
- ---
52
-
53
- **Also available:**
54
- - Review plan before executing
55
- - `/qualia:list-phase-assumptions 2` — check assumptions
56
-
57
- ---
58
- ```
59
-
60
- ### Execute Final Plan in Phase
61
-
62
- Add note that this is the last plan and what comes after:
63
-
64
- ```
65
- ---
66
-
67
- ## ▶ Next Up
68
-
69
- **02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry
70
- <sub>Final plan in Phase 2</sub>
71
-
72
- `/qualia:execute-phase 2`
73
-
74
- <sub>`/clear` first → fresh context window</sub>
75
-
76
- ---
77
-
78
- **After this completes:**
79
- - Phase 2 → Phase 3 transition
80
- - Next: **Phase 3: Core Features** — User dashboard and settings
81
-
82
- ---
83
- ```
84
-
85
- ### Plan a Phase
86
-
87
- ```
88
- ---
89
-
90
- ## ▶ Next Up
91
-
92
- **Phase 2: Authentication** — JWT login flow with refresh tokens
93
-
94
- `/qualia:plan-phase 2`
95
-
96
- <sub>`/clear` first → fresh context window</sub>
97
-
98
- ---
99
-
100
- **Also available:**
101
- - `/qualia:discuss-phase 2` — gather context first
102
- - `/qualia:research-phase 2` — investigate unknowns
103
- - Review roadmap
104
-
105
- ---
106
- ```
107
-
108
- ### Phase Complete, Ready for Next
109
-
110
- Show completion status before next action:
111
-
112
- ```
113
- ---
114
-
115
- ## ✓ Phase 2 Complete
116
-
117
- 3/3 plans executed
118
-
119
- ## ▶ Next Up
120
-
121
- **Phase 3: Core Features** — User dashboard, settings, and data export
122
-
123
- `/qualia:plan-phase 3`
124
-
125
- <sub>`/clear` first → fresh context window</sub>
126
-
127
- ---
128
-
129
- **Also available:**
130
- - `/qualia:discuss-phase 3` — gather context first
131
- - `/qualia:research-phase 3` — investigate unknowns
132
- - Review what Phase 2 built
133
-
134
- ---
135
- ```
136
-
137
- ### Multiple Equal Options
138
-
139
- When there's no clear primary action:
140
-
141
- ```
142
- ---
143
-
144
- ## ▶ Next Up
145
-
146
- **Phase 3: Core Features** — User dashboard, settings, and data export
147
-
148
- **To plan directly:** `/qualia:plan-phase 3`
149
-
150
- **To discuss context first:** `/qualia:discuss-phase 3`
151
-
152
- **To research unknowns:** `/qualia:research-phase 3`
153
-
154
- <sub>`/clear` first → fresh context window</sub>
155
-
156
- ---
157
- ```
158
-
159
- ### Milestone Complete
160
-
161
- ```
162
- ---
163
-
164
- ## 🎉 Milestone v1.0 Complete
165
-
166
- All 4 phases shipped
167
-
168
- ## ▶ Next Up
169
-
170
- **Start v1.1** — questioning → research → requirements → roadmap
171
-
172
- `/qualia:new-milestone`
173
-
174
- <sub>`/clear` first → fresh context window</sub>
175
-
176
- ---
177
- ```
178
-
179
- ## Pulling Context
180
-
181
- ### For phases (from ROADMAP.md):
182
-
183
- ```markdown
184
- ### Phase 2: Authentication
185
- **Goal**: JWT login flow with refresh tokens
186
- ```
187
-
188
- Extract: `**Phase 2: Authentication** — JWT login flow with refresh tokens`
189
-
190
- ### For plans (from ROADMAP.md):
191
-
192
- ```markdown
193
- Plans:
194
- - [ ] 02-03: Add refresh token rotation
195
- ```
196
-
197
- Or from PLAN.md `<objective>`:
198
-
199
- ```xml
200
- <objective>
201
- Add refresh token rotation with sliding expiry window.
202
-
203
- Purpose: Extend session lifetime without compromising security.
204
- </objective>
205
- ```
206
-
207
- Extract: `**02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry`
208
-
209
- ## Anti-Patterns
210
-
211
- ### Don't: Command-only (no context)
212
-
213
- ```
214
- ## To Continue
215
-
216
- Run `/clear`, then paste:
217
- /qualia:execute-phase 2
218
- ```
219
-
220
- User has no idea what 02-03 is about.
221
-
222
- ### Don't: Missing /clear explanation
223
-
224
- ```
225
- `/qualia:plan-phase 3`
226
-
227
- Run /clear first.
228
- ```
229
-
230
- Doesn't explain why. User might skip it.
231
-
232
- ### Don't: "Other options" language
233
-
234
- ```
235
- Other options:
236
- - Review roadmap
237
- ```
238
-
239
- Sounds like an afterthought. Use "Also available:" instead.
240
-
241
- ### Don't: Fenced code blocks for commands
242
-
243
- ```
244
- ```
245
- /qualia:plan-phase 3
246
- ```
247
- ```
248
-
249
- Fenced blocks inside templates create nesting ambiguity. Use inline backticks instead.
@@ -1,97 +0,0 @@
1
- # Checkpoint Continuation Prompt Template
2
-
3
- Template for spawning a fresh agent to continue execution after a checkpoint pause.
4
-
5
- **Why fresh agent:** Resume relies on internal serialization that breaks with parallel tool calls. Fresh agents with explicit state are more reliable.
6
-
7
- ## Template
8
-
9
- ```markdown
10
- <objective>
11
- Continue executing plan {plan_id} from task {resume_task_number}: {resume_task_name}.
12
- Previous tasks are already committed. Do NOT re-execute them.
13
- </objective>
14
-
15
- <completed_work>
16
- ## Tasks Already Done
17
-
18
- {completed_tasks_table}
19
-
20
- These tasks have been committed. Verify their commits exist before continuing:
21
- ```bash
22
- git log --oneline --all --grep="{plan_id}" | head -10
23
- ```
24
- </completed_work>
25
-
26
- <checkpoint_resolution>
27
- ## Checkpoint Resolution
28
-
29
- **Checkpoint type:** {checkpoint_type}
30
- **User response:** {user_response}
31
-
32
- {resume_instructions}
33
- </checkpoint_resolution>
34
-
35
- <resume_from>
36
- ## Resume Point
37
-
38
- **Task:** {resume_task_number} — {resume_task_name}
39
- **Plan path:** {plan_path}
40
-
41
- Read the full plan for context, but only execute from task {resume_task_number} onward.
42
- Follow the same execution rules: per-task commits, deviation handling, verification.
43
- </resume_from>
44
-
45
- <context>
46
- {state_content}
47
- {config_content}
48
- </context>
49
-
50
- <success_criteria>
51
- - [ ] Previous commits verified (not re-executed)
52
- - [ ] Remaining tasks executed from task {resume_task_number}
53
- - [ ] Each task committed individually
54
- - [ ] SUMMARY.md created covering ALL tasks (including pre-checkpoint)
55
- - [ ] STATE.md updated with final position
56
- </success_criteria>
57
- ```
58
-
59
- ## Resume Instructions by Checkpoint Type
60
-
61
- ### checkpoint:human-verify
62
- ```
63
- The user has verified the previous work.
64
- - "approved" → Continue to next task normally.
65
- - Issue description → Fix the reported issue in the current task context before proceeding.
66
- ```
67
-
68
- ### checkpoint:decision
69
- ```
70
- The user selected an option for the decision point.
71
- - Apply the user's choice: {user_response}
72
- - This may affect how remaining tasks are implemented.
73
- - Document the decision in SUMMARY.md under "Decisions Made".
74
- ```
75
-
76
- ### checkpoint:human-action
77
- ```
78
- The user completed a manual action (e.g., authentication, external config).
79
- - "done" → Verify the action succeeded (run verification command if specified).
80
- - If verification fails, inform user and wait for retry.
81
- - If verification passes, continue to next task.
82
- ```
83
-
84
- ## Variables
85
-
86
- | Variable | Source | Description |
87
- |----------|--------|-------------|
88
- | `{plan_id}` | Plan frontmatter | e.g., "03-02" |
89
- | `{resume_task_number}` | Checkpoint return | Task number to resume from |
90
- | `{resume_task_name}` | Checkpoint return | Name of the resume task |
91
- | `{completed_tasks_table}` | Checkpoint return | Markdown table of done tasks with commit hashes |
92
- | `{checkpoint_type}` | Plan XML | human-verify, decision, or human-action |
93
- | `{user_response}` | User input | What the user provided at the checkpoint |
94
- | `{resume_instructions}` | This template | Type-specific instructions from above |
95
- | `{plan_path}` | Phase directory | Path to the PLAN.md file |
96
- | `{state_content}` | STATE.md | Inlined project state |
97
- | `{config_content}` | config.json | Inlined project config |