qualia-framework-v2 2.0.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.
@@ -0,0 +1,68 @@
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
+ ```
13
+ ◆ QUALIA ► HANDOFF
14
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15
+ ```
16
+
17
+ ### 1. Generate Handover Doc
18
+
19
+ Create `.planning/HANDOFF.md`:
20
+
21
+ ```markdown
22
+ # {Project Name} — Handover
23
+
24
+ ## What Was Built
25
+ {3-5 bullet summary of delivered features}
26
+
27
+ ## Access
28
+ - **URL:** {production URL}
29
+ - **Admin login:** {credentials or where to find them}
30
+ - **Supabase:** {project ref}
31
+ - **GitHub:** {repo URL}
32
+ - **Vercel:** {project URL}
33
+
34
+ ## How to Use
35
+ {Brief walkthrough of the main user flows}
36
+
37
+ ## Known Limitations
38
+ {Anything not in scope or deferred}
39
+
40
+ ## Maintenance
41
+ - Hosting: Vercel (auto-deploys from main branch)
42
+ - Database: Supabase ({region})
43
+ - Domain: {domain provider if applicable}
44
+
45
+ ## Support
46
+ Contact: Fawzi Goussous — fawzi@qualiasolutions.net
47
+ ```
48
+
49
+ ### 2. Commit
50
+
51
+ ```bash
52
+ git add .planning/HANDOFF.md
53
+ git commit -m "docs: client handoff document"
54
+ git push
55
+ ```
56
+
57
+ ### 3. Update State
58
+
59
+ Update STATE.md: "handed off"
60
+ Update tracking.json: status → "handed_off"
61
+
62
+ ```
63
+ ◆ QUALIA ► DELIVERED ✓
64
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
65
+ {Project Name} handed off to {client}.
66
+ Don't forget: /qualia-report
67
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
68
+ ```
@@ -0,0 +1,282 @@
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
+ ```
17
+ ◆ QUALIA ► NEW PROJECT
18
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
19
+ ```
20
+
21
+ Then say: **"Let's build something. Tell me what you're making."**
22
+
23
+ Wait for the user's free-text answer. Do NOT use AskUserQuestion here — let them talk naturally.
24
+
25
+ ### Step 1. Project Type
26
+
27
+ After they describe what they want, use AskUserQuestion:
28
+
29
+ ```
30
+ question: "What type of project is this?"
31
+ header: "Type"
32
+ options:
33
+ - label: "Website / Web App"
34
+ description: "Landing page, SaaS, dashboard, marketing site, portal"
35
+ - label: "AI Agent"
36
+ description: "Chatbot, AI assistant, tool-calling agent, RAG system"
37
+ - label: "Voice Agent"
38
+ description: "Phone agent, VAPI, Retell AI, ElevenLabs call bot"
39
+ - label: "Mobile App"
40
+ description: "iOS, Android, React Native, Expo"
41
+ ```
42
+
43
+ ### Step 2. Core Features
44
+
45
+ Based on their description, use AskUserQuestion with multiSelect: true:
46
+
47
+ ```
48
+ question: "Which features do you need?"
49
+ header: "Features"
50
+ multiSelect: true
51
+ options (pick 4 most relevant from):
52
+ - "Auth & accounts" — Login, signup, user management
53
+ - "Database & CRUD" — Data storage, tables, admin panel
54
+ - "Payments" — Stripe, subscriptions, checkout
55
+ - "AI / LLM" — Chat, completions, embeddings, RAG
56
+ - "Voice calls" — Inbound/outbound calls, IVR, telephony
57
+ - "Email / notifications" — Transactional email, SMS, push
58
+ - "File uploads" — Images, documents, S3/storage
59
+ - "Admin dashboard" — Internal tools, analytics, reporting
60
+ - "API / integrations" — Third-party APIs, webhooks, CRM sync
61
+ - "Real-time" — WebSockets, live updates, presence
62
+ ```
63
+
64
+ Pick the 4 options most relevant to what they described. Always offer the most likely ones.
65
+
66
+ ### Step 3. Design Direction
67
+
68
+ Use AskUserQuestion with previews:
69
+
70
+ ```
71
+ question: "What's the design vibe?"
72
+ header: "Design"
73
+ options:
74
+ - label: "Dark & Bold"
75
+ description: "Dark backgrounds, neon accents, strong contrast"
76
+ preview: |
77
+ ┌──────────────────────────────┐
78
+ │ ██████████████████████████ │
79
+ │ ██ DARK BG + TEAL GLOW ██ │
80
+ │ ██████████████████████████ │
81
+ │ │
82
+ │ ░░░░░░░░░░░░░░░░░░░░░░░░ │
83
+ │ Sharp cards, glass effects │
84
+ │ Neon borders, deep shadows │
85
+ └──────────────────────────────┘
86
+
87
+ - label: "Clean & Minimal"
88
+ description: "White space, subtle shadows, refined typography"
89
+ preview: |
90
+ ┌──────────────────────────────┐
91
+ │ │
92
+ │ Clean & Minimal │
93
+ │ ───────────── │
94
+ │ │
95
+ │ Generous whitespace │
96
+ │ Subtle borders │
97
+ │ Light, airy feel │
98
+ └──────────────────────────────┘
99
+
100
+ - label: "Colorful & Playful"
101
+ description: "Gradients, rounded shapes, vibrant palette"
102
+ preview: |
103
+ ┌──────────────────────────────┐
104
+ │ ◆ ● ▲ ■ COLORFUL │
105
+ │ │
106
+ │ ╭──────╮ ╭──────╮ │
107
+ │ │ Card │ │ Card │ │
108
+ │ ╰──────╯ ╰──────╯ │
109
+ │ Rounded, gradient fills │
110
+ │ Fun, approachable │
111
+ └──────────────────────────────┘
112
+
113
+ - label: "Corporate / Professional"
114
+ description: "Structured layouts, trust signals, enterprise feel"
115
+ preview: |
116
+ ┌──────────────────────────────┐
117
+ │ LOGO Nav Nav [CTA] │
118
+ │ ──────────────────────── │
119
+ │ ┌────┐ ┌────┐ ┌────┐ │
120
+ │ │Feat│ │Feat│ │Feat│ │
121
+ │ └────┘ └────┘ └────┘ │
122
+ │ Structured, trustworthy │
123
+ │ Clear hierarchy │
124
+ └──────────────────────────────┘
125
+ ```
126
+
127
+ ### Step 4. Stack Confirmation
128
+
129
+ Use AskUserQuestion:
130
+
131
+ ```
132
+ question: "Stack — go with the Qualia default?"
133
+ header: "Stack"
134
+ options:
135
+ - label: "Qualia Stack (Recommended)"
136
+ description: "Next.js 16 + React 19 + TypeScript + Supabase + Vercel"
137
+ - label: "Qualia + extras"
138
+ description: "Default stack plus additional integrations (Stripe, VAPI, etc.)"
139
+ - label: "Custom stack"
140
+ description: "I have specific tech requirements"
141
+ ```
142
+
143
+ If "Custom stack" — ask what they need.
144
+ If "Qualia + extras" — ask which integrations.
145
+
146
+ ### Step 5. Scope & Client
147
+
148
+ Use AskUserQuestion:
149
+
150
+ ```
151
+ question: "Is this a client project or internal?"
152
+ header: "Client"
153
+ options:
154
+ - label: "Client project"
155
+ description: "External client — will need handoff and credentials"
156
+ - label: "Internal / Qualia"
157
+ description: "Our own product or tool"
158
+ - label: "Personal / Side project"
159
+ description: "No formal client"
160
+ ```
161
+
162
+ If client project, ask: **"What's the client's name?"** (free text, no AskUserQuestion)
163
+
164
+ ### Step 6. Confirm & Scaffold
165
+
166
+ Present a summary:
167
+
168
+ ```
169
+ ◆ QUALIA ► PROJECT SUMMARY
170
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
171
+
172
+ Project {name}
173
+ Type {type}
174
+ Client {client}
175
+ Stack {stack}
176
+ Features {feature list}
177
+ Design {design direction}
178
+ ```
179
+
180
+ Use AskUserQuestion:
181
+
182
+ ```
183
+ question: "Ready to scaffold?"
184
+ header: "Confirm"
185
+ options:
186
+ - label: "Let's go"
187
+ description: "Create the project now"
188
+ - label: "Change something"
189
+ description: "Go back and adjust"
190
+ ```
191
+
192
+ ### Step 7. Execute Scaffold
193
+
194
+ On confirmation, scaffold:
195
+
196
+ ```bash
197
+ mkdir -p .planning
198
+
199
+ # Initialize git if needed
200
+ git init 2>/dev/null
201
+
202
+ # Create Next.js project (if website/ai-agent)
203
+ npx create-next-app@latest . --typescript --tailwind --eslint --app --src-dir=false --import-alias="@/*" --no-git
204
+
205
+ # Or Expo project (if mobile-app)
206
+ # npx create-expo-app . --template blank-typescript
207
+ ```
208
+
209
+ Create GitHub repo:
210
+ ```bash
211
+ gh repo create {project-name} --private --source=. --push
212
+ ```
213
+
214
+ Link Vercel:
215
+ ```bash
216
+ vercel link
217
+ ```
218
+
219
+ Create Supabase project (via MCP or manual).
220
+
221
+ ### Step 8. Create Planning Files
222
+
223
+ **`.planning/PROJECT.md`** — use template, fill from answers:
224
+ - Client, description, requirements (from features), out of scope, stack, design direction, decisions
225
+
226
+ **`.planning/STATE.md`** — use template from `templates/state.md`
227
+
228
+ **`.planning/tracking.json`** — use template, fill in project/client/assigned_to
229
+
230
+ ### Step 9. Create Roadmap
231
+
232
+ Based on project type and features, create phases in STATE.md:
233
+
234
+ **Typical website:**
235
+ 1. Foundation — Auth, database schema, base layout
236
+ 2. Core — Main features
237
+ 3. Content — Pages, copy, media
238
+ 4. Polish — Design, animations, responsive
239
+
240
+ **Typical AI agent:**
241
+ 1. Foundation — Auth, database, API routes
242
+ 2. Agent — AI logic, prompts, tool calling
243
+ 3. Interface — Chat UI, streaming, history
244
+ 4. Polish — Error handling, rate limiting, monitoring
245
+
246
+ **Typical voice agent:**
247
+ 1. Foundation — Webhook handler, Supabase, auth
248
+ 2. Voice — VAPI/Retell config, call flow, prompts
249
+ 3. Integration — CRM sync, logging, analytics
250
+ 4. Polish — Latency optimization, error handling
251
+
252
+ Present the roadmap. Use AskUserQuestion:
253
+
254
+ ```
255
+ question: "Does this roadmap look right?"
256
+ header: "Roadmap"
257
+ options:
258
+ - label: "Looks good"
259
+ description: "Lock it in and start planning Phase 1"
260
+ - label: "Adjust phases"
261
+ description: "I want to change the phase breakdown"
262
+ ```
263
+
264
+ ### Step 10. Commit & Output
265
+
266
+ ```bash
267
+ git add .planning/
268
+ git commit -m "init: project setup with planning files"
269
+ git push -u origin main
270
+ ```
271
+
272
+ ```
273
+ ◆ QUALIA ► PROJECT READY
274
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
275
+
276
+ {Project Name}
277
+ Type {type}
278
+ Phases {N}
279
+ Client {client}
280
+
281
+ → Run: /qualia-plan 1
282
+ ```
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: qualia-plan
3
+ description: "Plan the current phase — spawns planner agent in fresh context. Use when ready to plan a phase."
4
+ ---
5
+
6
+ # /qualia-plan — Plan a Phase
7
+
8
+ Spawn a planner agent to break the current phase into executable tasks.
9
+
10
+ ## Usage
11
+ `/qualia-plan` — plan the next unplanned phase
12
+ `/qualia-plan {N}` — plan specific phase
13
+ `/qualia-plan {N} --gaps` — plan fixes for verification failures
14
+
15
+ ## Process
16
+
17
+ ### 1. Determine Phase
18
+
19
+ ```bash
20
+ cat .planning/STATE.md 2>/dev/null
21
+ ```
22
+
23
+ If no phase number given, use the current phase from STATE.md.
24
+
25
+ ### 2. Spawn Planner (Fresh Context)
26
+
27
+ ```
28
+ ◆ QUALIA ► PLANNING Phase {N}
29
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
30
+ Spawning planner...
31
+ ```
32
+
33
+ Spawn a subagent with `agents/planner.md` instructions:
34
+
35
+ ```
36
+ Agent(prompt="
37
+ Read your role: @agents/planner.md
38
+
39
+ Project context:
40
+ @.planning/PROJECT.md
41
+
42
+ Current state:
43
+ @.planning/STATE.md
44
+
45
+ Phase {N} goal: {goal from STATE.md roadmap}
46
+ Phase {N} success criteria: {criteria from STATE.md}
47
+
48
+ {If --gaps: Also read @.planning/phase-{N}-verification.md for failures to fix}
49
+
50
+ Create the plan file at .planning/phase-{N}-plan.md
51
+ ", subagent_type="general-purpose", description="Plan phase {N}")
52
+ ```
53
+
54
+ ### 3. Review Plan
55
+
56
+ Read the generated plan. Present to employee:
57
+
58
+ ```
59
+ ◆ Phase {N} Plan
60
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
61
+
62
+ Tasks: {count}
63
+ Waves: {count}
64
+
65
+ Wave 1 (parallel):
66
+ Task 1: {title}
67
+ Task 2: {title}
68
+
69
+ Wave 2 (after Wave 1):
70
+ Task 3: {title}
71
+
72
+ Approve? (yes / adjust)
73
+ ```
74
+
75
+ If "adjust" — get feedback, re-spawn planner with revision context.
76
+
77
+ ### 4. Update State
78
+
79
+ Update STATE.md: status → "planned"
80
+ Update tracking.json: status → "planned"
81
+
82
+ ```
83
+ → Run: /qualia-build {N}
84
+ ```
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: qualia-polish
3
+ description: "Design and UX pass — critique, polish, harden. Run after all phases are verified."
4
+ ---
5
+
6
+ # /qualia-polish — Design Pass
7
+
8
+ Run after all feature phases are verified. Makes it look production-ready.
9
+
10
+ ## Process
11
+
12
+ ```
13
+ ◆ QUALIA ► POLISHING
14
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15
+ ```
16
+
17
+ ### 1. Critique
18
+ Review the entire UI. Check:
19
+ - Visual hierarchy and information architecture
20
+ - Color consistency, contrast, readability
21
+ - Spacing and alignment
22
+ - Component consistency across pages
23
+
24
+ ### 2. Polish
25
+ Fix what critique found:
26
+ - Alignment and spacing issues
27
+ - Font consistency
28
+ - Color palette adherence (Qualia teal brand)
29
+ - Transition and hover state consistency
30
+
31
+ ### 3. Harden
32
+ Edge cases and robustness:
33
+ - Empty states (no data, loading, error)
34
+ - Text overflow, long content
35
+ - Mobile responsive (check all breakpoints)
36
+ - Error messages (user-friendly, not technical)
37
+
38
+ ### 4. Qualia Frontend Rules
39
+ - Distinctive fonts (not Inter/Arial)
40
+ - Cohesive color palette with sharp accents
41
+ - CSS transitions, staggered animations
42
+ - Full-width layouts, no hardcoded max-width caps
43
+ - No card grids, no generic heroes, no blue-purple gradients
44
+
45
+ ### 5. Commit & Update
46
+
47
+ ```bash
48
+ git add {changed files}
49
+ git commit -m "polish: design and UX pass"
50
+ ```
51
+
52
+ Update STATE.md: "polish complete"
53
+ Update tracking.json: status → "polished"
54
+
55
+ ```
56
+ → Run: /qualia-ship
57
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: qualia-quick
3
+ description: "Fast path for small tasks — bug fixes, tweaks, hot fixes. Skips full phase planning."
4
+ ---
5
+
6
+ # /qualia-quick — Quick Task
7
+
8
+ For tasks under 30 minutes that don't need full phase planning. Bug fixes, small features, tweaks.
9
+
10
+ ## Process
11
+
12
+ 1. **Understand:** Ask what needs to be done (or read the instruction)
13
+ 2. **Build:** Do it directly — read before write, MVP only
14
+ 3. **Verify:** Run `npx tsc --noEmit`, test locally
15
+ 4. **Commit:** Atomic commit with clear message
16
+ 5. **Update:** Update tracking.json notes field
17
+
18
+ ```bash
19
+ git add {specific files}
20
+ git commit -m "fix: {description}"
21
+ ```
22
+
23
+ No plan file. No subagents. Just build and ship.
24
+
25
+ Update STATE.md last activity. Update tracking.json notes.
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: qualia-report
3
+ description: "Generate session report as DOCX and auto-upload to ERP. Mandatory before clock-out."
4
+ ---
5
+
6
+ # /qualia-report — Session Report
7
+
8
+ Generate a concise DOCX report of what was done. Auto-uploads to the ERP.
9
+
10
+ ## Process
11
+
12
+ ### 1. Gather Data
13
+
14
+ ```bash
15
+ echo "---COMMITS---"
16
+ SINCE="8 hours ago"
17
+ git log --oneline --since="$SINCE" 2>/dev/null | head -20
18
+ echo "---STATS---"
19
+ echo "COUNT:$(git log --oneline --since="$SINCE" 2>/dev/null | wc -l)"
20
+ echo "---PROJECT---"
21
+ echo "DIR:$(basename $(pwd))"
22
+ echo "BRANCH:$(git branch --show-current 2>/dev/null)"
23
+ echo "---STATE---"
24
+ head -20 .planning/STATE.md 2>/dev/null || echo "no-state"
25
+ ```
26
+
27
+ ### 2. Synthesize
28
+
29
+ Build a concise summary:
30
+ - **What was done:** 3-6 bullet points. Start with verbs (Built, Fixed, Added). Group related commits.
31
+ - **Blockers:** Only if something is actually blocked.
32
+ - **Next:** 1-3 clear next actions.
33
+
34
+ ### 3. Generate DOCX
35
+
36
+ ```bash
37
+ mkdir -p .planning/reports
38
+
39
+ cat <<'REPORT_JSON' | python3 ~/.claude/qualia-framework/bin/generate-report-docx.py ".planning/reports/report-$(date +%Y-%m-%d-%H%M).docx"
40
+ {
41
+ "project": "{project-name}",
42
+ "user": "{git user.name}",
43
+ "date": "{YYYY-MM-DD}",
44
+ "time": "{HH:MM}",
45
+ "branch": "{branch}",
46
+ "phase": "{Phase N — name}",
47
+ "done": ["{accomplishment 1}", "{accomplishment 2}"],
48
+ "blockers": [],
49
+ "next": ["{next action 1}"]
50
+ }
51
+ REPORT_JSON
52
+ ```
53
+
54
+ ### 4. Commit & Upload
55
+
56
+ ```bash
57
+ REPORT_FILE=$(ls -t .planning/reports/report-*.docx 2>/dev/null | head -1)
58
+ git add "$REPORT_FILE"
59
+ git commit -m "report: session $(date +%Y-%m-%d)"
60
+ git push
61
+ ```
62
+
63
+ Auto-upload to ERP:
64
+ ```bash
65
+ curl -s -X POST "https://portal.qualiasolutions.net/api/claude/report-upload" \
66
+ -H "x-api-key: $CLAUDE_API_KEY" \
67
+ -F "file=@$REPORT_FILE" \
68
+ -F "employee_email=$(git config user.email)" \
69
+ -F "project_name=$(basename $(pwd))"
70
+ ```
71
+
72
+ Employee cannot skip this. Report goes directly to the ERP.
73
+
74
+ Update STATE.md last activity.
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: qualia-ship
3
+ description: "Deploy to production — quality gates, commit, push, deploy, verify. Use when ready to go live."
4
+ ---
5
+
6
+ # /qualia-ship — Deploy
7
+
8
+ Full deployment pipeline with quality gates.
9
+
10
+ ## Process
11
+
12
+ ```
13
+ ◆ QUALIA ► SHIPPING
14
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15
+ ```
16
+
17
+ ### 1. Quality Gates
18
+
19
+ Run in sequence. Auto-fix failures (up to 2 attempts).
20
+
21
+ ```bash
22
+ npx tsc --noEmit # TypeScript — must pass
23
+ npx eslint . --max-warnings 0 # Lint — auto-fix first
24
+ npm run build # Build — must succeed
25
+ ```
26
+
27
+ On failure:
28
+ 1. Summarize what failed in plain language
29
+ 2. Auto-fix
30
+ 3. Re-run the gate
31
+ 4. If still failing after 2 attempts: tell the employee, suggest `/qualia-debug`
32
+
33
+ ### 2. Security Check
34
+
35
+ ```bash
36
+ # service_role in client code?
37
+ grep -r "service_role" app/ components/ src/ 2>/dev/null | grep -v node_modules | grep -v ".server."
38
+ # Should be ZERO matches
39
+ ```
40
+
41
+ ### 3. Git
42
+
43
+ ```bash
44
+ git add {specific changed files}
45
+ git commit -m "ship: {project name} production deploy"
46
+ git push
47
+ ```
48
+
49
+ Employee stays on feature branch. Never push to main.
50
+
51
+ ### 4. Deploy
52
+
53
+ ```bash
54
+ vercel --prod # Website/AI agent
55
+ # OR
56
+ supabase functions deploy # Edge functions
57
+ # OR
58
+ wrangler deploy # Cloudflare Workers
59
+ ```
60
+
61
+ ### 5. Post-Deploy Verification
62
+
63
+ ```bash
64
+ # HTTP 200
65
+ curl -s -o /dev/null -w "%{http_code}" {domain}
66
+
67
+ # Latency under 500ms
68
+ curl -s -o /dev/null -w "%{time_total}" {domain}
69
+
70
+ # Auth endpoint responds
71
+ curl -s -o /dev/null -w "%{http_code}" {domain}/api/auth/callback
72
+ ```
73
+
74
+ ### 6. Report
75
+
76
+ ```
77
+ ◆ QUALIA ► SHIPPED ✓
78
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
79
+ URL {production url}
80
+ Status HTTP 200 ✓
81
+ Latency {time}ms ✓
82
+ Auth ✓
83
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
84
+ ```
85
+
86
+ Update STATE.md: "shipped"
87
+ Update tracking.json: status → "shipped", deployed_url
88
+
89
+ ```
90
+ → Run: /qualia-handoff
91
+ ```