qualia-framework 2.5.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/CLAUDE.md +63 -0
  2. package/README.md +108 -30
  3. package/agents/builder.md +110 -0
  4. package/agents/planner.md +186 -0
  5. package/agents/qa-browser.md +186 -0
  6. package/agents/verifier.md +369 -0
  7. package/bin/cli.js +706 -417
  8. package/bin/install.js +622 -0
  9. package/bin/qualia-ui.js +284 -0
  10. package/bin/state.js +824 -0
  11. package/bin/statusline.js +252 -0
  12. package/docs/erp-contract.md +161 -0
  13. package/guide.md +63 -0
  14. package/hooks/auto-update.js +117 -0
  15. package/hooks/block-env-edit.js +52 -0
  16. package/hooks/branch-guard.js +68 -0
  17. package/hooks/migration-guard.js +83 -0
  18. package/hooks/pre-compact.js +52 -0
  19. package/hooks/pre-deploy-gate.js +149 -0
  20. package/hooks/pre-push.js +53 -0
  21. package/hooks/session-start.js +126 -0
  22. package/package.json +31 -17
  23. package/rules/design-reference.md +179 -0
  24. package/rules/frontend.md +126 -0
  25. package/rules/infrastructure.md +87 -0
  26. package/skills/qualia/SKILL.md +88 -0
  27. package/skills/qualia-build/SKILL.md +115 -0
  28. package/skills/qualia-debug/SKILL.md +87 -0
  29. package/skills/qualia-design/SKILL.md +99 -0
  30. package/skills/qualia-handoff/SKILL.md +66 -0
  31. package/skills/qualia-help/SKILL.md +60 -0
  32. package/skills/qualia-idk/SKILL.md +8 -0
  33. package/skills/qualia-learn/SKILL.md +111 -0
  34. package/skills/qualia-new/SKILL.md +323 -0
  35. package/skills/qualia-pause/SKILL.md +63 -0
  36. package/skills/qualia-plan/SKILL.md +101 -0
  37. package/skills/qualia-polish/SKILL.md +207 -0
  38. package/skills/qualia-quick/SKILL.md +37 -0
  39. package/skills/qualia-report/SKILL.md +114 -0
  40. package/skills/qualia-resume/SKILL.md +49 -0
  41. package/skills/qualia-review/SKILL.md +161 -0
  42. package/skills/qualia-ship/SKILL.md +90 -0
  43. package/skills/qualia-skill-new/SKILL.md +167 -0
  44. package/skills/qualia-task/SKILL.md +91 -0
  45. package/skills/qualia-test/SKILL.md +134 -0
  46. package/skills/qualia-verify/SKILL.md +113 -0
  47. package/templates/DESIGN.md +475 -0
  48. package/templates/help.html +476 -0
  49. package/templates/plan.md +42 -0
  50. package/templates/project.md +22 -0
  51. package/templates/state.md +27 -0
  52. package/templates/tracking.json +20 -0
  53. package/tests/bin.test.sh +687 -0
  54. package/tests/hooks.test.sh +384 -0
  55. package/tests/runner.js +1956 -0
  56. package/tests/state.test.sh +713 -0
  57. package/tests/statusline.test.sh +243 -0
  58. package/bin/collect-metrics.sh +0 -62
  59. package/framework/.claudeignore +0 -51
  60. package/framework/CLAUDE.md +0 -51
  61. package/framework/MCP_SETUP.md +0 -229
  62. package/framework/agents/architecture-strategist.md +0 -53
  63. package/framework/agents/backend-agent.md +0 -150
  64. package/framework/agents/code-simplicity-reviewer.md +0 -86
  65. package/framework/agents/frontend-agent.md +0 -111
  66. package/framework/agents/kieran-typescript-reviewer.md +0 -96
  67. package/framework/agents/performance-oracle.md +0 -111
  68. package/framework/agents/qualia-codebase-mapper.md +0 -761
  69. package/framework/agents/qualia-debugger.md +0 -1204
  70. package/framework/agents/qualia-executor.md +0 -882
  71. package/framework/agents/qualia-integration-checker.md +0 -424
  72. package/framework/agents/qualia-phase-researcher.md +0 -457
  73. package/framework/agents/qualia-plan-checker.md +0 -700
  74. package/framework/agents/qualia-planner.md +0 -1245
  75. package/framework/agents/qualia-project-researcher.md +0 -603
  76. package/framework/agents/qualia-research-synthesizer.md +0 -200
  77. package/framework/agents/qualia-roadmapper.md +0 -606
  78. package/framework/agents/qualia-verifier.md +0 -686
  79. package/framework/agents/red-team-qa.md +0 -130
  80. package/framework/agents/security-auditor.md +0 -72
  81. package/framework/agents/team-orchestrator.md +0 -229
  82. package/framework/agents/teams/framework-audit-team.md +0 -66
  83. package/framework/agents/teams/full-stack-team.md +0 -48
  84. package/framework/agents/teams/optimize-team.md +0 -53
  85. package/framework/agents/teams/review-team.md +0 -70
  86. package/framework/agents/teams/ship-team.md +0 -86
  87. package/framework/agents/test-agent.md +0 -182
  88. package/framework/hooks/auto-format.sh +0 -54
  89. package/framework/hooks/block-env-edit.sh +0 -42
  90. package/framework/hooks/branch-guard.sh +0 -43
  91. package/framework/hooks/confirm-delete.sh +0 -59
  92. package/framework/hooks/migration-validate.sh +0 -77
  93. package/framework/hooks/notification-speak.sh +0 -16
  94. package/framework/hooks/pre-commit.sh +0 -100
  95. package/framework/hooks/pre-compact.sh +0 -56
  96. package/framework/hooks/pre-deploy-gate.sh +0 -160
  97. package/framework/hooks/qualia-colors.sh +0 -32
  98. package/framework/hooks/retention-cleanup.sh +0 -62
  99. package/framework/hooks/save-session-state.sh +0 -185
  100. package/framework/hooks/session-context-loader.sh +0 -96
  101. package/framework/hooks/session-learn.sh +0 -32
  102. package/framework/hooks/skill-announce.sh +0 -123
  103. package/framework/hooks/tool-error-announce.sh +0 -27
  104. package/framework/install.ps1 +0 -323
  105. package/framework/install.sh +0 -313
  106. package/framework/qualia-framework/VERSION +0 -1
  107. package/framework/qualia-framework/assets/qualia-logo.png +0 -0
  108. package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
  109. package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
  110. package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
  111. package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
  112. package/framework/qualia-framework/references/checkpoints.md +0 -775
  113. package/framework/qualia-framework/references/completion-checklists.md +0 -359
  114. package/framework/qualia-framework/references/continuation-format.md +0 -249
  115. package/framework/qualia-framework/references/continuation-prompt.md +0 -97
  116. package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
  117. package/framework/qualia-framework/references/design-quality.md +0 -56
  118. package/framework/qualia-framework/references/employee-guide.md +0 -167
  119. package/framework/qualia-framework/references/git-integration.md +0 -254
  120. package/framework/qualia-framework/references/git-planning-commit.md +0 -50
  121. package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
  122. package/framework/qualia-framework/references/model-profiles.md +0 -73
  123. package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
  124. package/framework/qualia-framework/references/planning-config.md +0 -195
  125. package/framework/qualia-framework/references/questioning.md +0 -141
  126. package/framework/qualia-framework/references/tdd.md +0 -263
  127. package/framework/qualia-framework/references/ui-brand.md +0 -160
  128. package/framework/qualia-framework/references/verification-patterns.md +0 -612
  129. package/framework/qualia-framework/templates/DEBUG.md +0 -159
  130. package/framework/qualia-framework/templates/DESIGN.md +0 -81
  131. package/framework/qualia-framework/templates/UAT.md +0 -247
  132. package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
  133. package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
  134. package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
  135. package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
  136. package/framework/qualia-framework/templates/codebase/stack.md +0 -186
  137. package/framework/qualia-framework/templates/codebase/structure.md +0 -285
  138. package/framework/qualia-framework/templates/codebase/testing.md +0 -480
  139. package/framework/qualia-framework/templates/config.json +0 -35
  140. package/framework/qualia-framework/templates/context.md +0 -283
  141. package/framework/qualia-framework/templates/continue-here.md +0 -78
  142. package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
  143. package/framework/qualia-framework/templates/discovery.md +0 -146
  144. package/framework/qualia-framework/templates/lab-notes.md +0 -16
  145. package/framework/qualia-framework/templates/milestone-archive.md +0 -123
  146. package/framework/qualia-framework/templates/milestone.md +0 -115
  147. package/framework/qualia-framework/templates/phase-prompt.md +0 -567
  148. package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
  149. package/framework/qualia-framework/templates/project.md +0 -184
  150. package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
  151. package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
  152. package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
  153. package/framework/qualia-framework/templates/projects/website.md +0 -137
  154. package/framework/qualia-framework/templates/requirements.md +0 -231
  155. package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
  156. package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
  157. package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
  158. package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
  159. package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
  160. package/framework/qualia-framework/templates/research.md +0 -552
  161. package/framework/qualia-framework/templates/roadmap.md +0 -206
  162. package/framework/qualia-framework/templates/state.md +0 -179
  163. package/framework/qualia-framework/templates/summary-complex.md +0 -59
  164. package/framework/qualia-framework/templates/summary-minimal.md +0 -41
  165. package/framework/qualia-framework/templates/summary-standard.md +0 -48
  166. package/framework/qualia-framework/templates/summary.md +0 -246
  167. package/framework/qualia-framework/templates/user-setup.md +0 -311
  168. package/framework/qualia-framework/templates/verification-report.md +0 -322
  169. package/framework/qualia-framework/workflows/add-phase.md +0 -179
  170. package/framework/qualia-framework/workflows/add-todo.md +0 -157
  171. package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
  172. package/framework/qualia-framework/workflows/check-todos.md +0 -176
  173. package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
  174. package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
  175. package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
  176. package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
  177. package/framework/qualia-framework/workflows/execute-phase.md +0 -559
  178. package/framework/qualia-framework/workflows/execute-plan.md +0 -438
  179. package/framework/qualia-framework/workflows/help.md +0 -470
  180. package/framework/qualia-framework/workflows/insert-phase.md +0 -220
  181. package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
  182. package/framework/qualia-framework/workflows/map-codebase.md +0 -327
  183. package/framework/qualia-framework/workflows/new-milestone.md +0 -363
  184. package/framework/qualia-framework/workflows/new-project.md +0 -982
  185. package/framework/qualia-framework/workflows/pause-work.md +0 -122
  186. package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
  187. package/framework/qualia-framework/workflows/plan-phase.md +0 -422
  188. package/framework/qualia-framework/workflows/progress.md +0 -389
  189. package/framework/qualia-framework/workflows/quick.md +0 -252
  190. package/framework/qualia-framework/workflows/remove-phase.md +0 -326
  191. package/framework/qualia-framework/workflows/research-phase.md +0 -74
  192. package/framework/qualia-framework/workflows/resume-project.md +0 -306
  193. package/framework/qualia-framework/workflows/set-profile.md +0 -80
  194. package/framework/qualia-framework/workflows/settings.md +0 -145
  195. package/framework/qualia-framework/workflows/transition.md +0 -556
  196. package/framework/qualia-framework/workflows/update.md +0 -197
  197. package/framework/qualia-framework/workflows/verify-phase.md +0 -195
  198. package/framework/qualia-framework/workflows/verify-work.md +0 -625
  199. package/framework/rules/context7.md +0 -14
  200. package/framework/rules/frontend.md +0 -33
  201. package/framework/rules/speed.md +0 -23
  202. package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
  203. package/framework/scripts/apply-retention.sh +0 -120
  204. package/framework/scripts/bootstrap-pop-os.sh +0 -354
  205. package/framework/scripts/claude-voice +0 -13
  206. package/framework/scripts/cleanup.sh +0 -131
  207. package/framework/scripts/cowork-mode.sh +0 -141
  208. package/framework/scripts/generate-project-claude-md.sh +0 -153
  209. package/framework/scripts/load-test-webhook.js +0 -172
  210. package/framework/scripts/say.py +0 -236
  211. package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
  212. package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
  213. package/framework/scripts/speak.py +0 -55
  214. package/framework/scripts/speak.sh +0 -18
  215. package/framework/scripts/status.sh +0 -138
  216. package/framework/scripts/sync-to-framework.sh +0 -65
  217. package/framework/scripts/voice-hotkey.py +0 -227
  218. package/framework/scripts/voice-input.sh +0 -51
  219. package/framework/skills/animate/SKILL.md +0 -202
  220. package/framework/skills/bolder/SKILL.md +0 -144
  221. package/framework/skills/browser-qa/SKILL.md +0 -536
  222. package/framework/skills/clarify/SKILL.md +0 -179
  223. package/framework/skills/client-handoff/SKILL.md +0 -135
  224. package/framework/skills/collab-onboard/SKILL.md +0 -111
  225. package/framework/skills/colorize/SKILL.md +0 -170
  226. package/framework/skills/critique/SKILL.md +0 -126
  227. package/framework/skills/deep-research/SKILL.md +0 -240
  228. package/framework/skills/delight/SKILL.md +0 -329
  229. package/framework/skills/deploy/SKILL.md +0 -261
  230. package/framework/skills/deploy-verify/SKILL.md +0 -377
  231. package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
  232. package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
  233. package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
  234. package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
  235. package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
  236. package/framework/skills/design-quieter/SKILL.md +0 -130
  237. package/framework/skills/distill/SKILL.md +0 -149
  238. package/framework/skills/docs-lookup/SKILL.md +0 -79
  239. package/framework/skills/fcm-notifications/SKILL.md +0 -125
  240. package/framework/skills/financial-ledger/SKILL.md +0 -1039
  241. package/framework/skills/frontend-master/NOTICE.md +0 -4
  242. package/framework/skills/frontend-master/SKILL.md +0 -127
  243. package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
  244. package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
  245. package/framework/skills/frontend-master/reference/motion-design.md +0 -99
  246. package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
  247. package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
  248. package/framework/skills/frontend-master/reference/typography.md +0 -131
  249. package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
  250. package/framework/skills/harden/SKILL.md +0 -357
  251. package/framework/skills/i18n-rtl/SKILL.md +0 -752
  252. package/framework/skills/learn/SKILL.md +0 -95
  253. package/framework/skills/memory/SKILL.md +0 -50
  254. package/framework/skills/mobile-expo/SKILL.md +0 -977
  255. package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
  256. package/framework/skills/nestjs-backend/README.md +0 -73
  257. package/framework/skills/nestjs-backend/SKILL.md +0 -446
  258. package/framework/skills/nestjs-backend/references/templates.md +0 -1173
  259. package/framework/skills/normalize/SKILL.md +0 -79
  260. package/framework/skills/onboard/SKILL.md +0 -242
  261. package/framework/skills/openrouter-agent/SKILL.md +0 -922
  262. package/framework/skills/polish/SKILL.md +0 -209
  263. package/framework/skills/pr/SKILL.md +0 -66
  264. package/framework/skills/qualia/SKILL.md +0 -199
  265. package/framework/skills/qualia-add-todo/SKILL.md +0 -68
  266. package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
  267. package/framework/skills/qualia-check-todos/SKILL.md +0 -55
  268. package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
  269. package/framework/skills/qualia-debug/SKILL.md +0 -149
  270. package/framework/skills/qualia-design/SKILL.md +0 -203
  271. package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
  272. package/framework/skills/qualia-evolve/SKILL.md +0 -200
  273. package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
  274. package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
  275. package/framework/skills/qualia-guide/SKILL.md +0 -32
  276. package/framework/skills/qualia-help/SKILL.md +0 -114
  277. package/framework/skills/qualia-idk/SKILL.md +0 -352
  278. package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
  279. package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
  280. package/framework/skills/qualia-new-project/SKILL.md +0 -232
  281. package/framework/skills/qualia-optimize/SKILL.md +0 -417
  282. package/framework/skills/qualia-pause-work/SKILL.md +0 -96
  283. package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
  284. package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
  285. package/framework/skills/qualia-production-check/SKILL.md +0 -0
  286. package/framework/skills/qualia-progress/SKILL.md +0 -53
  287. package/framework/skills/qualia-quick/SKILL.md +0 -89
  288. package/framework/skills/qualia-report/SKILL.md +0 -166
  289. package/framework/skills/qualia-research-phase/SKILL.md +0 -88
  290. package/framework/skills/qualia-resume-work/SKILL.md +0 -62
  291. package/framework/skills/qualia-review/SKILL.md +0 -263
  292. package/framework/skills/qualia-start/SKILL.md +0 -161
  293. package/framework/skills/qualia-verify-work/SKILL.md +0 -132
  294. package/framework/skills/rag/SKILL.md +0 -750
  295. package/framework/skills/responsive/SKILL.md +0 -231
  296. package/framework/skills/retro/SKILL.md +0 -284
  297. package/framework/skills/sakani-conventions/SKILL.md +0 -136
  298. package/framework/skills/sakani-conventions/evals/evals.json +0 -23
  299. package/framework/skills/sakani-conventions/references/entities.md +0 -365
  300. package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
  301. package/framework/skills/seo-master/SKILL.md +0 -490
  302. package/framework/skills/seo-master/references/checklist.md +0 -199
  303. package/framework/skills/seo-master/references/structured-data.md +0 -609
  304. package/framework/skills/ship/SKILL.md +0 -239
  305. package/framework/skills/stack-researcher/SKILL.md +0 -215
  306. package/framework/skills/status/SKILL.md +0 -154
  307. package/framework/skills/status/scripts/health-check.sh +0 -562
  308. package/framework/skills/subscription-payments/SKILL.md +0 -250
  309. package/framework/skills/supabase/SKILL.md +0 -973
  310. package/framework/skills/supabase/references/templates.md +0 -159
  311. package/framework/skills/team/SKILL.md +0 -67
  312. package/framework/skills/test-runner/SKILL.md +0 -202
  313. package/framework/skills/voice-agent/SKILL.md +0 -1312
  314. package/framework/skills/zoho-workflow/SKILL.md +0 -51
  315. package/framework/statusline-command.sh +0 -117
  316. package/framework/teams/default/inboxes/plan-04.json +0 -9
  317. package/framework/teams/review-team.md +0 -75
  318. package/framework/teams/ship-team.md +0 -86
  319. package/profiles/fawzi.json +0 -16
  320. package/profiles/hasan.json +0 -16
  321. package/profiles/moayad.json +0 -16
  322. package/templates/CLAUDE-owner.md +0 -52
  323. package/templates/CLAUDE.md.hbs +0 -58
  324. package/templates/env.claude.template +0 -12
  325. package/templates/settings.json +0 -172
  326. /package/{framework/rules → rules}/deployment.md +0 -0
  327. /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 |