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.
- package/CLAUDE.md +63 -0
- package/README.md +108 -30
- package/agents/builder.md +110 -0
- package/agents/planner.md +186 -0
- package/agents/qa-browser.md +186 -0
- package/agents/verifier.md +369 -0
- package/bin/cli.js +706 -417
- package/bin/install.js +622 -0
- package/bin/qualia-ui.js +284 -0
- package/bin/state.js +824 -0
- package/bin/statusline.js +252 -0
- package/docs/erp-contract.md +161 -0
- package/guide.md +63 -0
- package/hooks/auto-update.js +117 -0
- package/hooks/block-env-edit.js +52 -0
- package/hooks/branch-guard.js +68 -0
- package/hooks/migration-guard.js +83 -0
- package/hooks/pre-compact.js +52 -0
- package/hooks/pre-deploy-gate.js +149 -0
- package/hooks/pre-push.js +53 -0
- package/hooks/session-start.js +126 -0
- package/package.json +31 -17
- package/rules/design-reference.md +179 -0
- package/rules/frontend.md +126 -0
- package/rules/infrastructure.md +87 -0
- package/skills/qualia/SKILL.md +88 -0
- package/skills/qualia-build/SKILL.md +115 -0
- package/skills/qualia-debug/SKILL.md +87 -0
- package/skills/qualia-design/SKILL.md +99 -0
- package/skills/qualia-handoff/SKILL.md +66 -0
- package/skills/qualia-help/SKILL.md +60 -0
- package/skills/qualia-idk/SKILL.md +8 -0
- package/skills/qualia-learn/SKILL.md +111 -0
- package/skills/qualia-new/SKILL.md +323 -0
- package/skills/qualia-pause/SKILL.md +63 -0
- package/skills/qualia-plan/SKILL.md +101 -0
- package/skills/qualia-polish/SKILL.md +207 -0
- package/skills/qualia-quick/SKILL.md +37 -0
- package/skills/qualia-report/SKILL.md +114 -0
- package/skills/qualia-resume/SKILL.md +49 -0
- package/skills/qualia-review/SKILL.md +161 -0
- package/skills/qualia-ship/SKILL.md +90 -0
- package/skills/qualia-skill-new/SKILL.md +167 -0
- package/skills/qualia-task/SKILL.md +91 -0
- package/skills/qualia-test/SKILL.md +134 -0
- package/skills/qualia-verify/SKILL.md +113 -0
- package/templates/DESIGN.md +475 -0
- package/templates/help.html +476 -0
- package/templates/plan.md +42 -0
- package/templates/project.md +22 -0
- package/templates/state.md +27 -0
- package/templates/tracking.json +20 -0
- package/tests/bin.test.sh +687 -0
- package/tests/hooks.test.sh +384 -0
- package/tests/runner.js +1956 -0
- package/tests/state.test.sh +713 -0
- package/tests/statusline.test.sh +243 -0
- package/bin/collect-metrics.sh +0 -62
- package/framework/.claudeignore +0 -51
- package/framework/CLAUDE.md +0 -51
- package/framework/MCP_SETUP.md +0 -229
- package/framework/agents/architecture-strategist.md +0 -53
- package/framework/agents/backend-agent.md +0 -150
- package/framework/agents/code-simplicity-reviewer.md +0 -86
- package/framework/agents/frontend-agent.md +0 -111
- package/framework/agents/kieran-typescript-reviewer.md +0 -96
- package/framework/agents/performance-oracle.md +0 -111
- package/framework/agents/qualia-codebase-mapper.md +0 -761
- package/framework/agents/qualia-debugger.md +0 -1204
- package/framework/agents/qualia-executor.md +0 -882
- package/framework/agents/qualia-integration-checker.md +0 -424
- package/framework/agents/qualia-phase-researcher.md +0 -457
- package/framework/agents/qualia-plan-checker.md +0 -700
- package/framework/agents/qualia-planner.md +0 -1245
- package/framework/agents/qualia-project-researcher.md +0 -603
- package/framework/agents/qualia-research-synthesizer.md +0 -200
- package/framework/agents/qualia-roadmapper.md +0 -606
- package/framework/agents/qualia-verifier.md +0 -686
- package/framework/agents/red-team-qa.md +0 -130
- package/framework/agents/security-auditor.md +0 -72
- package/framework/agents/team-orchestrator.md +0 -229
- package/framework/agents/teams/framework-audit-team.md +0 -66
- package/framework/agents/teams/full-stack-team.md +0 -48
- package/framework/agents/teams/optimize-team.md +0 -53
- package/framework/agents/teams/review-team.md +0 -70
- package/framework/agents/teams/ship-team.md +0 -86
- package/framework/agents/test-agent.md +0 -182
- package/framework/hooks/auto-format.sh +0 -54
- package/framework/hooks/block-env-edit.sh +0 -42
- package/framework/hooks/branch-guard.sh +0 -43
- package/framework/hooks/confirm-delete.sh +0 -59
- package/framework/hooks/migration-validate.sh +0 -77
- package/framework/hooks/notification-speak.sh +0 -16
- package/framework/hooks/pre-commit.sh +0 -100
- package/framework/hooks/pre-compact.sh +0 -56
- package/framework/hooks/pre-deploy-gate.sh +0 -160
- package/framework/hooks/qualia-colors.sh +0 -32
- package/framework/hooks/retention-cleanup.sh +0 -62
- package/framework/hooks/save-session-state.sh +0 -185
- package/framework/hooks/session-context-loader.sh +0 -96
- package/framework/hooks/session-learn.sh +0 -32
- package/framework/hooks/skill-announce.sh +0 -123
- package/framework/hooks/tool-error-announce.sh +0 -27
- package/framework/install.ps1 +0 -323
- package/framework/install.sh +0 -313
- package/framework/qualia-framework/VERSION +0 -1
- package/framework/qualia-framework/assets/qualia-logo.png +0 -0
- package/framework/qualia-framework/bin/collect-metrics.sh +0 -67
- package/framework/qualia-framework/bin/generate-report-docx.py +0 -429
- package/framework/qualia-framework/bin/qualia-tools.js +0 -2201
- package/framework/qualia-framework/bin/qualia-tools.test.js +0 -1054
- package/framework/qualia-framework/references/checkpoints.md +0 -775
- package/framework/qualia-framework/references/completion-checklists.md +0 -359
- package/framework/qualia-framework/references/continuation-format.md +0 -249
- package/framework/qualia-framework/references/continuation-prompt.md +0 -97
- package/framework/qualia-framework/references/decimal-phase-calculation.md +0 -65
- package/framework/qualia-framework/references/design-quality.md +0 -56
- package/framework/qualia-framework/references/employee-guide.md +0 -167
- package/framework/qualia-framework/references/git-integration.md +0 -254
- package/framework/qualia-framework/references/git-planning-commit.md +0 -50
- package/framework/qualia-framework/references/model-profile-resolution.md +0 -32
- package/framework/qualia-framework/references/model-profiles.md +0 -73
- package/framework/qualia-framework/references/phase-argument-parsing.md +0 -61
- package/framework/qualia-framework/references/planning-config.md +0 -195
- package/framework/qualia-framework/references/questioning.md +0 -141
- package/framework/qualia-framework/references/tdd.md +0 -263
- package/framework/qualia-framework/references/ui-brand.md +0 -160
- package/framework/qualia-framework/references/verification-patterns.md +0 -612
- package/framework/qualia-framework/templates/DEBUG.md +0 -159
- package/framework/qualia-framework/templates/DESIGN.md +0 -81
- package/framework/qualia-framework/templates/UAT.md +0 -247
- package/framework/qualia-framework/templates/codebase/architecture.md +0 -255
- package/framework/qualia-framework/templates/codebase/concerns.md +0 -310
- package/framework/qualia-framework/templates/codebase/conventions.md +0 -307
- package/framework/qualia-framework/templates/codebase/integrations.md +0 -280
- package/framework/qualia-framework/templates/codebase/stack.md +0 -186
- package/framework/qualia-framework/templates/codebase/structure.md +0 -285
- package/framework/qualia-framework/templates/codebase/testing.md +0 -480
- package/framework/qualia-framework/templates/config.json +0 -35
- package/framework/qualia-framework/templates/context.md +0 -283
- package/framework/qualia-framework/templates/continue-here.md +0 -78
- package/framework/qualia-framework/templates/debug-subagent-prompt.md +0 -91
- package/framework/qualia-framework/templates/discovery.md +0 -146
- package/framework/qualia-framework/templates/lab-notes.md +0 -16
- package/framework/qualia-framework/templates/milestone-archive.md +0 -123
- package/framework/qualia-framework/templates/milestone.md +0 -115
- package/framework/qualia-framework/templates/phase-prompt.md +0 -567
- package/framework/qualia-framework/templates/planner-subagent-prompt.md +0 -117
- package/framework/qualia-framework/templates/project.md +0 -184
- package/framework/qualia-framework/templates/projects/ai-agent.md +0 -156
- package/framework/qualia-framework/templates/projects/mobile-app.md +0 -181
- package/framework/qualia-framework/templates/projects/voice-agent.md +0 -134
- package/framework/qualia-framework/templates/projects/website.md +0 -137
- package/framework/qualia-framework/templates/requirements.md +0 -231
- package/framework/qualia-framework/templates/research-project/ARCHITECTURE.md +0 -204
- package/framework/qualia-framework/templates/research-project/FEATURES.md +0 -147
- package/framework/qualia-framework/templates/research-project/PITFALLS.md +0 -200
- package/framework/qualia-framework/templates/research-project/STACK.md +0 -120
- package/framework/qualia-framework/templates/research-project/SUMMARY.md +0 -170
- package/framework/qualia-framework/templates/research.md +0 -552
- package/framework/qualia-framework/templates/roadmap.md +0 -206
- package/framework/qualia-framework/templates/state.md +0 -179
- package/framework/qualia-framework/templates/summary-complex.md +0 -59
- package/framework/qualia-framework/templates/summary-minimal.md +0 -41
- package/framework/qualia-framework/templates/summary-standard.md +0 -48
- package/framework/qualia-framework/templates/summary.md +0 -246
- package/framework/qualia-framework/templates/user-setup.md +0 -311
- package/framework/qualia-framework/templates/verification-report.md +0 -322
- package/framework/qualia-framework/workflows/add-phase.md +0 -179
- package/framework/qualia-framework/workflows/add-todo.md +0 -157
- package/framework/qualia-framework/workflows/audit-milestone.md +0 -241
- package/framework/qualia-framework/workflows/check-todos.md +0 -176
- package/framework/qualia-framework/workflows/complete-milestone.md +0 -858
- package/framework/qualia-framework/workflows/diagnose-issues.md +0 -219
- package/framework/qualia-framework/workflows/discovery-phase.md +0 -289
- package/framework/qualia-framework/workflows/discuss-phase.md +0 -534
- package/framework/qualia-framework/workflows/execute-phase.md +0 -559
- package/framework/qualia-framework/workflows/execute-plan.md +0 -438
- package/framework/qualia-framework/workflows/help.md +0 -470
- package/framework/qualia-framework/workflows/insert-phase.md +0 -220
- package/framework/qualia-framework/workflows/list-phase-assumptions.md +0 -178
- package/framework/qualia-framework/workflows/map-codebase.md +0 -327
- package/framework/qualia-framework/workflows/new-milestone.md +0 -363
- package/framework/qualia-framework/workflows/new-project.md +0 -982
- package/framework/qualia-framework/workflows/pause-work.md +0 -122
- package/framework/qualia-framework/workflows/plan-milestone-gaps.md +0 -256
- package/framework/qualia-framework/workflows/plan-phase.md +0 -422
- package/framework/qualia-framework/workflows/progress.md +0 -389
- package/framework/qualia-framework/workflows/quick.md +0 -252
- package/framework/qualia-framework/workflows/remove-phase.md +0 -326
- package/framework/qualia-framework/workflows/research-phase.md +0 -74
- package/framework/qualia-framework/workflows/resume-project.md +0 -306
- package/framework/qualia-framework/workflows/set-profile.md +0 -80
- package/framework/qualia-framework/workflows/settings.md +0 -145
- package/framework/qualia-framework/workflows/transition.md +0 -556
- package/framework/qualia-framework/workflows/update.md +0 -197
- package/framework/qualia-framework/workflows/verify-phase.md +0 -195
- package/framework/qualia-framework/workflows/verify-work.md +0 -625
- package/framework/rules/context7.md +0 -14
- package/framework/rules/frontend.md +0 -33
- package/framework/rules/speed.md +0 -23
- package/framework/scripts/__pycache__/say.cpython-314.pyc +0 -0
- package/framework/scripts/apply-retention.sh +0 -120
- package/framework/scripts/bootstrap-pop-os.sh +0 -354
- package/framework/scripts/claude-voice +0 -13
- package/framework/scripts/cleanup.sh +0 -131
- package/framework/scripts/cowork-mode.sh +0 -141
- package/framework/scripts/generate-project-claude-md.sh +0 -153
- package/framework/scripts/load-test-webhook.js +0 -172
- package/framework/scripts/say.py +0 -236
- package/framework/scripts/showcase-video-recorder/ffmpeg-builder.js +0 -167
- package/framework/scripts/showcase-video-recorder/playwright-helpers.js +0 -216
- package/framework/scripts/speak.py +0 -55
- package/framework/scripts/speak.sh +0 -18
- package/framework/scripts/status.sh +0 -138
- package/framework/scripts/sync-to-framework.sh +0 -65
- package/framework/scripts/voice-hotkey.py +0 -227
- package/framework/scripts/voice-input.sh +0 -51
- package/framework/skills/animate/SKILL.md +0 -202
- package/framework/skills/bolder/SKILL.md +0 -144
- package/framework/skills/browser-qa/SKILL.md +0 -536
- package/framework/skills/clarify/SKILL.md +0 -179
- package/framework/skills/client-handoff/SKILL.md +0 -135
- package/framework/skills/collab-onboard/SKILL.md +0 -111
- package/framework/skills/colorize/SKILL.md +0 -170
- package/framework/skills/critique/SKILL.md +0 -126
- package/framework/skills/deep-research/SKILL.md +0 -240
- package/framework/skills/delight/SKILL.md +0 -329
- package/framework/skills/deploy/SKILL.md +0 -261
- package/framework/skills/deploy-verify/SKILL.md +0 -377
- package/framework/skills/deploy-verify/scripts/canary-check.sh +0 -206
- package/framework/skills/deploy-verify/scripts/check-console-errors.js +0 -147
- package/framework/skills/deploy-verify/scripts/check-cwv.js +0 -139
- package/framework/skills/deploy-verify/scripts/project-detect.sh +0 -84
- package/framework/skills/deploy-verify/scripts/verify.sh +0 -548
- package/framework/skills/design-quieter/SKILL.md +0 -130
- package/framework/skills/distill/SKILL.md +0 -149
- package/framework/skills/docs-lookup/SKILL.md +0 -79
- package/framework/skills/fcm-notifications/SKILL.md +0 -125
- package/framework/skills/financial-ledger/SKILL.md +0 -1039
- package/framework/skills/frontend-master/NOTICE.md +0 -4
- package/framework/skills/frontend-master/SKILL.md +0 -127
- package/framework/skills/frontend-master/reference/color-and-contrast.md +0 -132
- package/framework/skills/frontend-master/reference/interaction-design.md +0 -123
- package/framework/skills/frontend-master/reference/motion-design.md +0 -99
- package/framework/skills/frontend-master/reference/responsive-design.md +0 -114
- package/framework/skills/frontend-master/reference/spatial-design.md +0 -100
- package/framework/skills/frontend-master/reference/typography.md +0 -131
- package/framework/skills/frontend-master/reference/ux-writing.md +0 -107
- package/framework/skills/harden/SKILL.md +0 -357
- package/framework/skills/i18n-rtl/SKILL.md +0 -752
- package/framework/skills/learn/SKILL.md +0 -95
- package/framework/skills/memory/SKILL.md +0 -50
- package/framework/skills/mobile-expo/SKILL.md +0 -977
- package/framework/skills/mobile-expo/references/store-checklist.md +0 -550
- package/framework/skills/nestjs-backend/README.md +0 -73
- package/framework/skills/nestjs-backend/SKILL.md +0 -446
- package/framework/skills/nestjs-backend/references/templates.md +0 -1173
- package/framework/skills/normalize/SKILL.md +0 -79
- package/framework/skills/onboard/SKILL.md +0 -242
- package/framework/skills/openrouter-agent/SKILL.md +0 -922
- package/framework/skills/polish/SKILL.md +0 -209
- package/framework/skills/pr/SKILL.md +0 -66
- package/framework/skills/qualia/SKILL.md +0 -199
- package/framework/skills/qualia-add-todo/SKILL.md +0 -68
- package/framework/skills/qualia-audit-milestone/SKILL.md +0 -95
- package/framework/skills/qualia-check-todos/SKILL.md +0 -55
- package/framework/skills/qualia-complete-milestone/SKILL.md +0 -134
- package/framework/skills/qualia-debug/SKILL.md +0 -149
- package/framework/skills/qualia-design/SKILL.md +0 -203
- package/framework/skills/qualia-discuss-phase/SKILL.md +0 -72
- package/framework/skills/qualia-evolve/SKILL.md +0 -200
- package/framework/skills/qualia-execute-phase/SKILL.md +0 -89
- package/framework/skills/qualia-framework-audit/SKILL.md +0 -604
- package/framework/skills/qualia-guide/SKILL.md +0 -32
- package/framework/skills/qualia-help/SKILL.md +0 -114
- package/framework/skills/qualia-idk/SKILL.md +0 -352
- package/framework/skills/qualia-list-phase-assumptions/SKILL.md +0 -67
- package/framework/skills/qualia-new-milestone/SKILL.md +0 -72
- package/framework/skills/qualia-new-project/SKILL.md +0 -232
- package/framework/skills/qualia-optimize/SKILL.md +0 -417
- package/framework/skills/qualia-pause-work/SKILL.md +0 -96
- package/framework/skills/qualia-plan-milestone-gaps/SKILL.md +0 -57
- package/framework/skills/qualia-plan-phase/SKILL.md +0 -104
- package/framework/skills/qualia-production-check/SKILL.md +0 -0
- package/framework/skills/qualia-progress/SKILL.md +0 -53
- package/framework/skills/qualia-quick/SKILL.md +0 -89
- package/framework/skills/qualia-report/SKILL.md +0 -166
- package/framework/skills/qualia-research-phase/SKILL.md +0 -88
- package/framework/skills/qualia-resume-work/SKILL.md +0 -62
- package/framework/skills/qualia-review/SKILL.md +0 -263
- package/framework/skills/qualia-start/SKILL.md +0 -161
- package/framework/skills/qualia-verify-work/SKILL.md +0 -132
- package/framework/skills/rag/SKILL.md +0 -750
- package/framework/skills/responsive/SKILL.md +0 -231
- package/framework/skills/retro/SKILL.md +0 -284
- package/framework/skills/sakani-conventions/SKILL.md +0 -136
- package/framework/skills/sakani-conventions/evals/evals.json +0 -23
- package/framework/skills/sakani-conventions/references/entities.md +0 -365
- package/framework/skills/sakani-conventions/references/error-codes.md +0 -95
- package/framework/skills/seo-master/SKILL.md +0 -490
- package/framework/skills/seo-master/references/checklist.md +0 -199
- package/framework/skills/seo-master/references/structured-data.md +0 -609
- package/framework/skills/ship/SKILL.md +0 -239
- package/framework/skills/stack-researcher/SKILL.md +0 -215
- package/framework/skills/status/SKILL.md +0 -154
- package/framework/skills/status/scripts/health-check.sh +0 -562
- package/framework/skills/subscription-payments/SKILL.md +0 -250
- package/framework/skills/supabase/SKILL.md +0 -973
- package/framework/skills/supabase/references/templates.md +0 -159
- package/framework/skills/team/SKILL.md +0 -67
- package/framework/skills/test-runner/SKILL.md +0 -202
- package/framework/skills/voice-agent/SKILL.md +0 -1312
- package/framework/skills/zoho-workflow/SKILL.md +0 -51
- package/framework/statusline-command.sh +0 -117
- package/framework/teams/default/inboxes/plan-04.json +0 -9
- package/framework/teams/review-team.md +0 -75
- package/framework/teams/ship-team.md +0 -86
- package/profiles/fawzi.json +0 -16
- package/profiles/hasan.json +0 -16
- package/profiles/moayad.json +0 -16
- package/templates/CLAUDE-owner.md +0 -52
- package/templates/CLAUDE.md.hbs +0 -58
- package/templates/env.claude.template +0 -12
- package/templates/settings.json +0 -172
- /package/{framework/rules → rules}/deployment.md +0 -0
- /package/{framework/rules → rules}/security.md +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-design
|
|
3
|
+
description: "One-shot design transformation — critiques, fixes, polishes, hardens, makes responsive. No reports, no choices, just makes it professional. Trigger on 'fix the design', 'make it look better', 'redesign', 'design pass', 'make it modern', 'it looks ugly', 'fix the UI'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-design — One-Shot Design Transformation
|
|
7
|
+
|
|
8
|
+
Read the code, understand what's wrong, fix everything, move on. No reports, no choices.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
- `/qualia-design` — Full transformation on all frontend files
|
|
13
|
+
- `/qualia-design app/page.tsx` — Specific file(s)
|
|
14
|
+
- `/qualia-design --scope=dashboard` — Transform a section
|
|
15
|
+
|
|
16
|
+
## Process
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
node ~/.claude/bin/qualia-ui.js banner design
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 1. Read Brand Context
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
cat .planning/DESIGN.md 2>/dev/null || echo "NO_DESIGN"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If DESIGN.md exists → it is law. Use exact values from sections 1-9 (Visual Theme, Color Palette, Typography, Components, Layout, Depth, Do's/Don'ts, Responsive, Agent Prompt Guide). If not → use Qualia defaults from `rules/frontend.md`: distinctive fonts, sharp accents, layered backgrounds, no card grids, no blue-purple gradients, full-width layouts.
|
|
29
|
+
|
|
30
|
+
### 2. Find Target Files
|
|
31
|
+
|
|
32
|
+
- If specific files given: use those
|
|
33
|
+
- If `--scope`: grep for matching files in `app/` and `components/`
|
|
34
|
+
- If none: find all `page.tsx`, `layout.tsx`, and component files
|
|
35
|
+
|
|
36
|
+
Read EVERY target file before modifying.
|
|
37
|
+
|
|
38
|
+
### 3. Critique (internal — don't output)
|
|
39
|
+
|
|
40
|
+
Evaluate each file on: AI slop detection, visual hierarchy, typography, color, states (loading/error/empty), motion, spacing, responsiveness, microcopy.
|
|
41
|
+
|
|
42
|
+
### 4. Fix Everything
|
|
43
|
+
|
|
44
|
+
Use exact values from DESIGN.md when available. Sections map to fixes:
|
|
45
|
+
|
|
46
|
+
**Typography (§3):** Apply fonts from hierarchy table. Replace any generic fonts (Inter, Arial) with project fonts. Use exact weights, sizes, letter-spacing from the table. Body line-height 1.5-1.7.
|
|
47
|
+
|
|
48
|
+
**Color (§2):** Apply palette from CSS variables. Replace scattered hex values with `var(--color-*)`. Verify contrast ratios listed in DESIGN.md.
|
|
49
|
+
|
|
50
|
+
**Components (§4):** Match button, card, input, badge specs exactly — padding, radius, shadow, hover states.
|
|
51
|
+
|
|
52
|
+
**Layout (§5):** Full-width with fluid padding `clamp(1rem, 5vw, 4rem)`. Apply spacing scale. NO hardcoded max-width caps. Prose gets `max-width: 65ch`.
|
|
53
|
+
|
|
54
|
+
**Depth (§6):** Apply shadow levels from elevation table. Use brand-tinted shadows, not neutral gray.
|
|
55
|
+
|
|
56
|
+
**Motion (§Motion):** CSS transitions 200-300ms on hover/focus. Staggered entrance animations. `prefers-reduced-motion` respected.
|
|
57
|
+
|
|
58
|
+
**States:** Loading skeleton/spinner on async ops. Error states on data fetches. Empty states on lists. Hover/focus/active/disabled on every interactive element.
|
|
59
|
+
|
|
60
|
+
**Responsive (§8):** Apply collapsing strategy from table. Mobile-first. Touch targets 44x44px min. No horizontal scroll.
|
|
61
|
+
|
|
62
|
+
**Anti-Slop (§12):** Run grep patterns from the detection table. Every match = mandatory fix.
|
|
63
|
+
|
|
64
|
+
**Kill:** Card grids → varied layouts. Generic heroes → distinctive. Blue-purple gradients → brand colors. Static pages → purposeful motion. Fixed widths → fluid.
|
|
65
|
+
|
|
66
|
+
### 5. Verify
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx tsc --noEmit 2>&1 | head -20
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Fix any TypeScript errors before committing.
|
|
73
|
+
|
|
74
|
+
### 6. Commit
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
git add {modified files}
|
|
78
|
+
git commit -m "style: design transformation"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
⬢ Design Transformation Complete
|
|
83
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
84
|
+
Files: {N}
|
|
85
|
+
Changes:
|
|
86
|
+
- {key change 1}
|
|
87
|
+
- {key change 2}
|
|
88
|
+
- {key change 3}
|
|
89
|
+
|
|
90
|
+
Fine-tune: /bolder, /design-quieter, /colorize, /animate
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Rules
|
|
94
|
+
|
|
95
|
+
- Read before write — understand every file before changing it
|
|
96
|
+
- Don't ask — just fix
|
|
97
|
+
- Respect DESIGN.md decisions
|
|
98
|
+
- Don't break functionality — only change styling, never logic
|
|
99
|
+
- TypeScript must pass after changes
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-handoff
|
|
3
|
+
description: "Client delivery — credentials, handover doc, final update. Use after shipping."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-handoff — Client Delivery
|
|
7
|
+
|
|
8
|
+
Prepare and deliver the finished project to the client.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
node ~/.claude/bin/qualia-ui.js banner handoff
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### 1. Generate Handover Doc
|
|
17
|
+
|
|
18
|
+
Create `.planning/HANDOFF.md`:
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# {Project Name} — Handover
|
|
22
|
+
|
|
23
|
+
## What Was Built
|
|
24
|
+
{3-5 bullet summary of delivered features}
|
|
25
|
+
|
|
26
|
+
## Access
|
|
27
|
+
- **URL:** {production URL}
|
|
28
|
+
- **Admin login:** {credentials or where to find them}
|
|
29
|
+
- **Supabase:** {project ref}
|
|
30
|
+
- **GitHub:** {repo URL}
|
|
31
|
+
- **Vercel:** {project URL}
|
|
32
|
+
|
|
33
|
+
## How to Use
|
|
34
|
+
{Brief walkthrough of the main user flows}
|
|
35
|
+
|
|
36
|
+
## Known Limitations
|
|
37
|
+
{Anything not in scope or deferred}
|
|
38
|
+
|
|
39
|
+
## Maintenance
|
|
40
|
+
- Hosting: Vercel (auto-deploys from main branch)
|
|
41
|
+
- Database: Supabase ({region})
|
|
42
|
+
- Domain: {domain provider if applicable}
|
|
43
|
+
|
|
44
|
+
## Support
|
|
45
|
+
Contact: Fawzi Goussous — fawzi@qualiasolutions.net
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Commit
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
git add .planning/HANDOFF.md
|
|
52
|
+
git commit -m "docs: client handoff document"
|
|
53
|
+
git push
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 3. Update State
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
node ~/.claude/bin/state.js transition --to handed_off
|
|
60
|
+
```
|
|
61
|
+
Do NOT manually edit STATE.md or tracking.json — state.js handles both.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
node ~/.claude/bin/qualia-ui.js ok "{Project Name} handed off to {client}"
|
|
65
|
+
node ~/.claude/bin/qualia-ui.js end "DELIVERED" "/qualia-report"
|
|
66
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-help
|
|
3
|
+
description: "Open the Qualia Framework reference guide in the browser. A beautiful themed HTML page with all commands, rules, services, and the road. Trigger on 'help', 'how does this work', 'show me the commands', 'qualia help', 'reference'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-help — Framework Reference
|
|
7
|
+
|
|
8
|
+
Opens a Qualia-themed HTML reference guide in your default browser.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
### 1. Generate the HTML
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Read the template and inject the current version
|
|
16
|
+
VERSION=$(node -e "console.log(require(require('os').homedir() + '/.claude/.qualia-config.json').version || 'v3')" 2>/dev/null || echo "v3")
|
|
17
|
+
TEMPLATE="$HOME/.claude/qualia-templates/help.html"
|
|
18
|
+
OUTPUT="/tmp/qualia-help.html"
|
|
19
|
+
|
|
20
|
+
# If template doesn't exist, check the framework install
|
|
21
|
+
if [ ! -f "$TEMPLATE" ]; then
|
|
22
|
+
TEMPLATE="$(dirname "$(dirname "$(which qualia-framework 2>/dev/null || echo '')")")/templates/help.html"
|
|
23
|
+
fi
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 2. Inject version and open
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Replace {{VERSION}} placeholder with actual version
|
|
30
|
+
sed "s/{{VERSION}}/$VERSION/g" "$TEMPLATE" > "$OUTPUT"
|
|
31
|
+
|
|
32
|
+
# Open in default browser (cross-platform)
|
|
33
|
+
if command -v xdg-open &>/dev/null; then
|
|
34
|
+
xdg-open "$OUTPUT" # Linux
|
|
35
|
+
elif command -v open &>/dev/null; then
|
|
36
|
+
open "$OUTPUT" # macOS
|
|
37
|
+
elif command -v start &>/dev/null; then
|
|
38
|
+
start "$OUTPUT" # Windows (Git Bash)
|
|
39
|
+
else
|
|
40
|
+
echo "Open this file in your browser: $OUTPUT"
|
|
41
|
+
fi
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 3. Confirm
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
node ~/.claude/bin/qualia-ui.js banner router
|
|
48
|
+
node ~/.claude/bin/qualia-ui.js ok "Reference guide opened in browser"
|
|
49
|
+
node ~/.claude/bin/qualia-ui.js info "File: /tmp/qualia-help.html"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
If the browser does not open automatically, tell the user the file path so they can open it manually.
|
|
53
|
+
|
|
54
|
+
## Notes
|
|
55
|
+
|
|
56
|
+
- The HTML file is self-contained — no external dependencies except Google Fonts
|
|
57
|
+
- Works offline after first load (fonts cache)
|
|
58
|
+
- Qualia-themed: dark background, teal accents, Outfit + Inter fonts
|
|
59
|
+
- Shows: The Road, all commands grouped, verification scoring, rules, stack, GitHub orgs
|
|
60
|
+
- Version is injected dynamically from .qualia-config.json
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-learn
|
|
3
|
+
description: "Save a learning, pattern, fix, or client preference to the knowledge base. Persists across projects and sessions. Trigger on 'remember this', 'save this pattern', 'learned something', 'note for future', 'client prefers', 'qualia-learn'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-learn — Save Knowledge
|
|
7
|
+
|
|
8
|
+
Persist learnings across projects and sessions. Saved to `~/.claude/knowledge/`.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
- `/qualia-learn` — Interactively save a learning
|
|
13
|
+
- `/qualia-learn {description}` — Save directly
|
|
14
|
+
|
|
15
|
+
## Knowledge Types
|
|
16
|
+
|
|
17
|
+
### Patterns (`learned-patterns.md`)
|
|
18
|
+
Recurring approaches that work (or don't). Architecture decisions, library choices, prompt patterns.
|
|
19
|
+
|
|
20
|
+
**Example:** "Supabase RLS policies need to be added in the same migration as the table — adding them later causes a window where data is unprotected."
|
|
21
|
+
|
|
22
|
+
### Fixes (`common-fixes.md`)
|
|
23
|
+
Problems you've solved before. Error messages and their solutions.
|
|
24
|
+
|
|
25
|
+
**Example:** "`next/font` crash on Vercel: caused by importing font in a client component that's also used server-side. Fix: move font import to layout.tsx."
|
|
26
|
+
|
|
27
|
+
### Client Prefs (`client-prefs.md`)
|
|
28
|
+
Client-specific preferences, design choices, requirements.
|
|
29
|
+
|
|
30
|
+
**Example:** "Acme Corp: prefers dark mode, hates rounded corners, logo must be SVG not PNG, primary color #FF6B00."
|
|
31
|
+
|
|
32
|
+
## Process
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
node ~/.claude/bin/qualia-ui.js banner learn
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 1. Classify
|
|
39
|
+
|
|
40
|
+
If description given, classify automatically. Otherwise ask:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
What did you learn?
|
|
44
|
+
1. Pattern — approach that works (or doesn't)
|
|
45
|
+
2. Fix — problem and its solution
|
|
46
|
+
3. Client preference — client-specific requirement
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 2. Check for Duplicates
|
|
50
|
+
|
|
51
|
+
Before saving, check if a similar entry already exists:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Search for the title (case-insensitive substring match)
|
|
55
|
+
grep -i "{title keywords}" ~/.claude/knowledge/{type}.md 2>/dev/null
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
If a near-match exists (title is similar to an existing entry):
|
|
59
|
+
- Show the existing entry to the user
|
|
60
|
+
- Ask: "A similar entry exists. Update it, create a new one, or skip?"
|
|
61
|
+
- If update: replace the existing entry. If new: append. If skip: done.
|
|
62
|
+
|
|
63
|
+
### 3. Format Entry
|
|
64
|
+
|
|
65
|
+
Each entry gets a unique ID and ISO timestamp for dedup and ordering:
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### {Title}
|
|
72
|
+
**ID:** {random 8-char hex, e.g. a3f7c1e9}
|
|
73
|
+
**Date:** {ISO 8601, e.g. 2026-04-11}
|
|
74
|
+
**Project:** {current project name or "general"}
|
|
75
|
+
**Context:** {brief context — what you were building when you learned this}
|
|
76
|
+
|
|
77
|
+
{The learning — be specific enough that future-you understands without context}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 4. Append to Knowledge File
|
|
81
|
+
|
|
82
|
+
Append-only — never overwrite the file, always add at the end:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Append to the right file
|
|
86
|
+
echo "{formatted entry}" >> ~/.claude/knowledge/{type}.md
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
- Pattern → `~/.claude/knowledge/learned-patterns.md`
|
|
90
|
+
- Fix → `~/.claude/knowledge/common-fixes.md`
|
|
91
|
+
- Client pref → `~/.claude/knowledge/client-prefs.md`
|
|
92
|
+
|
|
93
|
+
### 5. Confirm
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
⬢ Saved to {file}
|
|
97
|
+
"{title}"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Reading Knowledge
|
|
101
|
+
|
|
102
|
+
Skills can read knowledge files for context:
|
|
103
|
+
```bash
|
|
104
|
+
cat ~/.claude/knowledge/learned-patterns.md 2>/dev/null
|
|
105
|
+
cat ~/.claude/knowledge/common-fixes.md 2>/dev/null
|
|
106
|
+
cat ~/.claude/knowledge/client-prefs.md 2>/dev/null
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The `/qualia-debug` skill should check `common-fixes.md` before investigating.
|
|
110
|
+
The `/qualia-new` skill should check `client-prefs.md` when setting up client projects.
|
|
111
|
+
The `/qualia-plan` skill should check `learned-patterns.md` when planning phases.
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qualia-new
|
|
3
|
+
description: "Set up a new project from scratch — interactive wizard with step-by-step questioning. Use when starting any new client project."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /qualia-new — New Project Wizard
|
|
7
|
+
|
|
8
|
+
Interactive project setup. Ask one step at a time using AskUserQuestion. Never dump all questions at once.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
### Step 0. Banner
|
|
13
|
+
|
|
14
|
+
Print this FIRST, before anything else:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
node ~/.claude/bin/qualia-ui.js banner new
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Then say: **"Let's build something. Tell me what you're making."**
|
|
21
|
+
|
|
22
|
+
Wait for the user's free-text answer. Do NOT use AskUserQuestion here — let them talk naturally.
|
|
23
|
+
|
|
24
|
+
### Step 1. Project Type
|
|
25
|
+
|
|
26
|
+
After they describe what they want, use AskUserQuestion:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
question: "What type of project is this?"
|
|
30
|
+
header: "Type"
|
|
31
|
+
options:
|
|
32
|
+
- label: "Website / Web App"
|
|
33
|
+
description: "Landing page, SaaS, dashboard, marketing site, portal"
|
|
34
|
+
- label: "AI Agent"
|
|
35
|
+
description: "Chatbot, AI assistant, tool-calling agent, RAG system"
|
|
36
|
+
- label: "Voice Agent"
|
|
37
|
+
description: "Phone agent, VAPI, Retell AI, ElevenLabs call bot"
|
|
38
|
+
- label: "Mobile App"
|
|
39
|
+
description: "iOS, Android, React Native, Expo"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Step 2. Core Features
|
|
43
|
+
|
|
44
|
+
Based on their description, use AskUserQuestion with multiSelect: true:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
question: "Which features do you need?"
|
|
48
|
+
header: "Features"
|
|
49
|
+
multiSelect: true
|
|
50
|
+
options (pick 4 most relevant from):
|
|
51
|
+
- "Auth & accounts" — Login, signup, user management
|
|
52
|
+
- "Database & CRUD" — Data storage, tables, admin panel
|
|
53
|
+
- "Payments" — Stripe, subscriptions, checkout
|
|
54
|
+
- "AI / LLM" — Chat, completions, embeddings, RAG
|
|
55
|
+
- "Voice calls" — Inbound/outbound calls, IVR, telephony
|
|
56
|
+
- "Email / notifications" — Transactional email, SMS, push
|
|
57
|
+
- "File uploads" — Images, documents, S3/storage
|
|
58
|
+
- "Admin dashboard" — Internal tools, analytics, reporting
|
|
59
|
+
- "API / integrations" — Third-party APIs, webhooks, CRM sync
|
|
60
|
+
- "Real-time" — WebSockets, live updates, presence
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Pick the 4 options most relevant to what they described. Always offer the most likely ones.
|
|
64
|
+
|
|
65
|
+
### Step 3. Design Direction
|
|
66
|
+
|
|
67
|
+
Use AskUserQuestion with previews:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
question: "What's the design vibe?"
|
|
71
|
+
header: "Design"
|
|
72
|
+
options:
|
|
73
|
+
- label: "Dark & Bold"
|
|
74
|
+
description: "Dark backgrounds, neon accents, strong contrast"
|
|
75
|
+
preview: |
|
|
76
|
+
┌──────────────────────────────┐
|
|
77
|
+
│ ██████████████████████████ │
|
|
78
|
+
│ ██ DARK BG + TEAL GLOW ██ │
|
|
79
|
+
│ ██████████████████████████ │
|
|
80
|
+
│ │
|
|
81
|
+
│ ░░░░░░░░░░░░░░░░░░░░░░░░ │
|
|
82
|
+
│ Sharp cards, glass effects │
|
|
83
|
+
│ Neon borders, deep shadows │
|
|
84
|
+
└──────────────────────────────┘
|
|
85
|
+
|
|
86
|
+
- label: "Clean & Minimal"
|
|
87
|
+
description: "White space, subtle shadows, refined typography"
|
|
88
|
+
preview: |
|
|
89
|
+
┌──────────────────────────────┐
|
|
90
|
+
│ │
|
|
91
|
+
│ Clean & Minimal │
|
|
92
|
+
│ ───────────── │
|
|
93
|
+
│ │
|
|
94
|
+
│ Generous whitespace │
|
|
95
|
+
│ Subtle borders │
|
|
96
|
+
│ Light, airy feel │
|
|
97
|
+
└──────────────────────────────┘
|
|
98
|
+
|
|
99
|
+
- label: "Colorful & Playful"
|
|
100
|
+
description: "Gradients, rounded shapes, vibrant palette"
|
|
101
|
+
preview: |
|
|
102
|
+
┌──────────────────────────────┐
|
|
103
|
+
│ ⬢ ● ▲ ■ COLORFUL │
|
|
104
|
+
│ │
|
|
105
|
+
│ ╭──────╮ ╭──────╮ │
|
|
106
|
+
│ │ Card │ │ Card │ │
|
|
107
|
+
│ ╰──────╯ ╰──────╯ │
|
|
108
|
+
│ Rounded, gradient fills │
|
|
109
|
+
│ Fun, approachable │
|
|
110
|
+
└──────────────────────────────┘
|
|
111
|
+
|
|
112
|
+
- label: "Corporate / Professional"
|
|
113
|
+
description: "Structured layouts, trust signals, enterprise feel"
|
|
114
|
+
preview: |
|
|
115
|
+
┌──────────────────────────────┐
|
|
116
|
+
│ LOGO Nav Nav [CTA] │
|
|
117
|
+
│ ──────────────────────── │
|
|
118
|
+
│ ┌────┐ ┌────┐ ┌────┐ │
|
|
119
|
+
│ │Feat│ │Feat│ │Feat│ │
|
|
120
|
+
│ └────┘ └────┘ └────┘ │
|
|
121
|
+
│ Structured, trustworthy │
|
|
122
|
+
│ Clear hierarchy │
|
|
123
|
+
└──────────────────────────────┘
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Step 4. Stack Confirmation
|
|
127
|
+
|
|
128
|
+
Use AskUserQuestion:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
question: "Stack — go with the Qualia default?"
|
|
132
|
+
header: "Stack"
|
|
133
|
+
options:
|
|
134
|
+
- label: "Qualia Stack (Recommended)"
|
|
135
|
+
description: "Next.js 16 + React 19 + TypeScript + Supabase + Vercel"
|
|
136
|
+
- label: "Qualia + extras"
|
|
137
|
+
description: "Default stack plus additional integrations (Stripe, VAPI, etc.)"
|
|
138
|
+
- label: "Custom stack"
|
|
139
|
+
description: "I have specific tech requirements"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
If "Custom stack" — ask what they need.
|
|
143
|
+
If "Qualia + extras" — ask which integrations.
|
|
144
|
+
|
|
145
|
+
### Step 5. Scope & Client
|
|
146
|
+
|
|
147
|
+
Use AskUserQuestion:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
question: "Is this a client project or internal?"
|
|
151
|
+
header: "Client"
|
|
152
|
+
options:
|
|
153
|
+
- label: "Client project"
|
|
154
|
+
description: "External client — will need handoff and credentials"
|
|
155
|
+
- label: "Internal / Qualia"
|
|
156
|
+
description: "Our own product or tool"
|
|
157
|
+
- label: "Personal / Side project"
|
|
158
|
+
description: "No formal client"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
If client project, ask: **"What's the client's name?"** (free text, no AskUserQuestion)
|
|
162
|
+
|
|
163
|
+
After capturing the client name, check for saved preferences:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
cat ~/.claude/knowledge/client-prefs.md 2>/dev/null
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
If there's an entry for this client, show it to the user: *"I have notes on {client} — {preferences summary}. Applying these to the project defaults unless you say otherwise."* Then use those preferences in Step 8a (Design System) and Step 9 (Roadmap).
|
|
170
|
+
|
|
171
|
+
### Step 6. Confirm & Scaffold
|
|
172
|
+
|
|
173
|
+
Present a summary:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
⬢ QUALIA ▸ PROJECT SUMMARY
|
|
177
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
178
|
+
|
|
179
|
+
Project {name}
|
|
180
|
+
Type {type}
|
|
181
|
+
Client {client}
|
|
182
|
+
Stack {stack}
|
|
183
|
+
Features {feature list}
|
|
184
|
+
Design {design direction}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Use AskUserQuestion:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
question: "Ready to scaffold?"
|
|
191
|
+
header: "Confirm"
|
|
192
|
+
options:
|
|
193
|
+
- label: "Let's go"
|
|
194
|
+
description: "Create the project now"
|
|
195
|
+
- label: "Change something"
|
|
196
|
+
description: "Go back and adjust"
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Step 7. Execute Scaffold
|
|
200
|
+
|
|
201
|
+
On confirmation, scaffold:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
mkdir -p .planning
|
|
205
|
+
|
|
206
|
+
# Initialize git if needed
|
|
207
|
+
git init 2>/dev/null
|
|
208
|
+
|
|
209
|
+
# Create Next.js project (if website/ai-agent)
|
|
210
|
+
npx create-next-app@latest . --typescript --tailwind --eslint --app --src-dir=false --import-alias="@/*" --no-git
|
|
211
|
+
|
|
212
|
+
# Or Expo project (if mobile-app)
|
|
213
|
+
# npx create-expo-app . --template blank-typescript
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Create GitHub repo:
|
|
217
|
+
```bash
|
|
218
|
+
gh repo create {project-name} --private --source=. --push
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Link Vercel:
|
|
222
|
+
```bash
|
|
223
|
+
vercel link
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Create Supabase project (via MCP or manual).
|
|
227
|
+
|
|
228
|
+
### Step 8. Create Planning Files
|
|
229
|
+
|
|
230
|
+
**`.planning/PROJECT.md`** — use template, fill from answers:
|
|
231
|
+
- Client, description, requirements (from features), out of scope, stack, design direction, decisions
|
|
232
|
+
|
|
233
|
+
### Step 8a. Create Design System
|
|
234
|
+
|
|
235
|
+
Generate **`.planning/DESIGN.md`** using `~/.claude/qualia-templates/DESIGN.md` as the template.
|
|
236
|
+
|
|
237
|
+
Fill in based on the design direction chosen in Step 3:
|
|
238
|
+
|
|
239
|
+
**Dark & Bold:**
|
|
240
|
+
- Palette: dark backgrounds (#0a0a0a, #141414), vibrant accent (teal #00d4aa, amber #f59e0b, etc.)
|
|
241
|
+
- Typography: bold display font + clean body font (e.g., "Plus Jakarta Sans" + "DM Sans")
|
|
242
|
+
- Effects: glass morphism, noise textures, glow effects
|
|
243
|
+
- Motion: expressive — staggered fades, parallax hints
|
|
244
|
+
|
|
245
|
+
**Clean & Minimal:**
|
|
246
|
+
- Palette: light backgrounds (#fafafa, #ffffff), single muted accent
|
|
247
|
+
- Typography: refined serif or geometric sans (e.g., "Outfit" + "Source Serif 4")
|
|
248
|
+
- Effects: subtle shadows, thin borders
|
|
249
|
+
- Motion: minimal — fades only, no stagger
|
|
250
|
+
|
|
251
|
+
**Colorful & Playful:**
|
|
252
|
+
- Palette: vibrant multi-color, warm backgrounds
|
|
253
|
+
- Typography: rounded friendly fonts (e.g., "Nunito" + "Quicksand")
|
|
254
|
+
- Effects: gradients, rounded shapes, illustrations
|
|
255
|
+
- Motion: expressive — bouncy spring easing, scale on hover
|
|
256
|
+
|
|
257
|
+
**Corporate / Professional:**
|
|
258
|
+
- Palette: navy/charcoal base, conservative accent (blue, green)
|
|
259
|
+
- Typography: trustworthy geometric (e.g., "Manrope" + "IBM Plex Sans")
|
|
260
|
+
- Effects: clean borders, subtle shadows, structured grids
|
|
261
|
+
- Motion: subtle — smooth fades, no bounce
|
|
262
|
+
|
|
263
|
+
**Always include in DESIGN.md:**
|
|
264
|
+
- Concrete CSS variable values (not placeholders)
|
|
265
|
+
- Google Fonts import URL
|
|
266
|
+
- Spacing scale (8px grid)
|
|
267
|
+
- Component patterns (buttons, inputs, cards)
|
|
268
|
+
- Responsive approach
|
|
269
|
+
- Anti-patterns to avoid
|
|
270
|
+
|
|
271
|
+
### Step 8b. Initialize State
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
node ~/.claude/bin/state.js init --project "{name}" --client "{client}" --type "{type}" --assigned-to "{employee}" --phases '[{phases JSON array from roadmap}]'
|
|
275
|
+
```
|
|
276
|
+
This creates both STATE.md and tracking.json with consistent formatting.
|
|
277
|
+
Do NOT manually edit these files — state.js handles both.
|
|
278
|
+
|
|
279
|
+
### Step 9. Create Roadmap
|
|
280
|
+
|
|
281
|
+
Based on project type and features, create phases in STATE.md:
|
|
282
|
+
|
|
283
|
+
**Typical website:**
|
|
284
|
+
1. Foundation — Auth, database schema, base layout
|
|
285
|
+
2. Core — Main features
|
|
286
|
+
3. Content — Pages, copy, media
|
|
287
|
+
4. Polish — Design, animations, responsive
|
|
288
|
+
|
|
289
|
+
**Typical AI agent:**
|
|
290
|
+
1. Foundation — Auth, database, API routes
|
|
291
|
+
2. Agent — AI logic, prompts, tool calling
|
|
292
|
+
3. Interface — Chat UI, streaming, history
|
|
293
|
+
4. Polish — Error handling, rate limiting, monitoring
|
|
294
|
+
|
|
295
|
+
**Typical voice agent:**
|
|
296
|
+
1. Foundation — Webhook handler, Supabase, auth
|
|
297
|
+
2. Voice — VAPI/Retell config, call flow, prompts
|
|
298
|
+
3. Integration — CRM sync, logging, analytics
|
|
299
|
+
4. Polish — Latency optimization, error handling
|
|
300
|
+
|
|
301
|
+
Present the roadmap. Use AskUserQuestion:
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
question: "Does this roadmap look right?"
|
|
305
|
+
header: "Roadmap"
|
|
306
|
+
options:
|
|
307
|
+
- label: "Looks good"
|
|
308
|
+
description: "Lock it in and start planning Phase 1"
|
|
309
|
+
- label: "Adjust phases"
|
|
310
|
+
description: "I want to change the phase breakdown"
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### Step 10. Commit & Output
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
git add .planning/
|
|
317
|
+
git commit -m "init: project setup with planning files"
|
|
318
|
+
git push -u origin main
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
node ~/.claude/bin/qualia-ui.js end "PROJECT READY" "/qualia-plan 1"
|
|
323
|
+
```
|