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
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Announce skill activation — fires on every Skill() invocation
|
|
3
|
-
# Shows teal-branded banner on stderr (visible in terminal) + systemMessage for transcript
|
|
4
|
-
|
|
5
|
-
source "$(dirname "$0")/qualia-colors.sh"
|
|
6
|
-
|
|
7
|
-
if [ ! -t 0 ]; then
|
|
8
|
-
INPUT=$(cat)
|
|
9
|
-
SKILL_NAME=$(echo "$INPUT" | node -e "try{const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));process.stdout.write(d.tool_input?.skill||d.tool_input?.name||'')}catch(e){}" 2>/dev/null)
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
[ -z "$SKILL_NAME" ] && printf '{"continue":true}' && exit 0
|
|
13
|
-
|
|
14
|
-
# Skill descriptions for the banner
|
|
15
|
-
declare -A SKILL_DESC
|
|
16
|
-
SKILL_DESC=(
|
|
17
|
-
# Pipeline
|
|
18
|
-
["qualia-new-project"]="Initializing new project"
|
|
19
|
-
["qualia-new-milestone"]="Starting new milestone"
|
|
20
|
-
["qualia-discuss-phase"]="Clarifying phase decisions"
|
|
21
|
-
["qualia-list-phase-assumptions"]="Surfacing assumptions"
|
|
22
|
-
["qualia-research-phase"]="Researching phase domain"
|
|
23
|
-
["qualia-plan-phase"]="Creating execution plans"
|
|
24
|
-
["qualia-execute-phase"]="Executing phase plans"
|
|
25
|
-
["qualia-verify-work"]="Verifying deliverables"
|
|
26
|
-
["qualia-audit-milestone"]="Auditing milestone completion"
|
|
27
|
-
["qualia-complete-milestone"]="Completing milestone"
|
|
28
|
-
["qualia-plan-milestone-gaps"]="Planning gap fixes"
|
|
29
|
-
# Navigation
|
|
30
|
-
["qualia-start"]="Activating Qualia mode"
|
|
31
|
-
["qualia-progress"]="Checking progress"
|
|
32
|
-
["qualia-guide"]="Showing developer guide"
|
|
33
|
-
["qualia-idk"]="Analyzing next steps"
|
|
34
|
-
["qualia"]="Routing to next action"
|
|
35
|
-
["qualia-resume-work"]="Restoring session context"
|
|
36
|
-
["qualia-pause-work"]="Saving session state"
|
|
37
|
-
# Quality
|
|
38
|
-
["qualia-review"]="Running code review"
|
|
39
|
-
["qualia-optimize"]="Running optimization pass"
|
|
40
|
-
["qualia-evolve"]="Evolving framework"
|
|
41
|
-
["qualia-production-check"]="Running production audit"
|
|
42
|
-
["qualia-framework-audit"]="Auditing framework"
|
|
43
|
-
["deep-research"]="Spawning research agents"
|
|
44
|
-
# Design
|
|
45
|
-
["critique"]="Evaluating design"
|
|
46
|
-
["polish"]="Final detail pass"
|
|
47
|
-
["bolder"]="Amplifying design"
|
|
48
|
-
["design-quieter"]="Toning down design"
|
|
49
|
-
["distill"]="Stripping complexity"
|
|
50
|
-
["colorize"]="Adding color"
|
|
51
|
-
["normalize"]="Matching design system"
|
|
52
|
-
["responsive"]="Fixing responsive layout"
|
|
53
|
-
["animate"]="Adding motion"
|
|
54
|
-
["clarify"]="Improving UX copy"
|
|
55
|
-
["delight"]="Adding personality"
|
|
56
|
-
["harden"]="Hardening edge cases"
|
|
57
|
-
["onboard"]="Designing onboarding"
|
|
58
|
-
["frontend-master"]="Building frontend"
|
|
59
|
-
["qualia-design"]="Full design transformation"
|
|
60
|
-
# Deploy
|
|
61
|
-
["ship"]="Deploying to production"
|
|
62
|
-
["deploy"]="Quick deploy"
|
|
63
|
-
["deploy-verify"]="Verifying deployment"
|
|
64
|
-
["status"]="Fleet health check"
|
|
65
|
-
# Debug & Quick
|
|
66
|
-
["qualia-debug"]="Structured debugging"
|
|
67
|
-
["qualia-quick"]="Quick task with quality gates"
|
|
68
|
-
# Research
|
|
69
|
-
["stack-researcher"]="Researching tech stack"
|
|
70
|
-
["docs-lookup"]="Fetching documentation"
|
|
71
|
-
# Domain
|
|
72
|
-
["supabase"]="Supabase operations"
|
|
73
|
-
["voice-agent"]="Building voice agent"
|
|
74
|
-
["seo-master"]="SEO audit"
|
|
75
|
-
["browser-qa"]="Browser QA testing"
|
|
76
|
-
# Utility
|
|
77
|
-
["learn"]="Capturing lesson"
|
|
78
|
-
["memory"]="Managing memory"
|
|
79
|
-
["pr"]="Creating pull request"
|
|
80
|
-
["team"]="Orchestrating agent team"
|
|
81
|
-
["retro"]="Generating retrospective"
|
|
82
|
-
["test-runner"]="Running tests"
|
|
83
|
-
["zoho-workflow"]="Zoho operations"
|
|
84
|
-
)
|
|
85
|
-
|
|
86
|
-
# Get description or fallback
|
|
87
|
-
DESC="${SKILL_DESC[$SKILL_NAME]}"
|
|
88
|
-
[ -z "$DESC" ] && DESC="Activating"
|
|
89
|
-
|
|
90
|
-
# Clean name for display
|
|
91
|
-
DISPLAY_NAME=$(echo "$SKILL_NAME" | sed 's/-/ /g')
|
|
92
|
-
|
|
93
|
-
# Determine skill category icon
|
|
94
|
-
case "$SKILL_NAME" in
|
|
95
|
-
qualia-new-*|qualia-plan-*|qualia-execute-*|qualia-verify-*|qualia-audit-*|qualia-complete-*|qualia-discuss-*|qualia-list-*|qualia-research-*)
|
|
96
|
-
ICON="▶" ;;
|
|
97
|
-
qualia-review|qualia-optimize|qualia-production-check|qualia-framework-audit|deep-research)
|
|
98
|
-
ICON="⊘" ;;
|
|
99
|
-
critique|polish|bolder|design-quieter|distill|colorize|normalize|responsive|animate|clarify|delight|harden|onboard|frontend-master|qualia-design)
|
|
100
|
-
ICON="◇" ;;
|
|
101
|
-
ship|deploy|deploy-verify|status)
|
|
102
|
-
ICON="↑" ;;
|
|
103
|
-
qualia-debug|qualia-quick)
|
|
104
|
-
ICON="⚡" ;;
|
|
105
|
-
*)
|
|
106
|
-
ICON="◆" ;;
|
|
107
|
-
esac
|
|
108
|
-
|
|
109
|
-
# Build the teal banner — output to stderr (visible in terminal)
|
|
110
|
-
WIDTH=44
|
|
111
|
-
SKILL_UPPER="${DISPLAY_NAME^^}"
|
|
112
|
-
PAD_LEN=$(( WIDTH - ${#SKILL_UPPER} - 6 ))
|
|
113
|
-
[ "$PAD_LEN" -lt 2 ] && PAD_LEN=2
|
|
114
|
-
PADDING=$(printf '─%.0s' $(seq 1 $PAD_LEN))
|
|
115
|
-
|
|
116
|
-
printf "\n" >&2
|
|
117
|
-
printf "${Q_TEAL}${ICON}${Q_RESET} ${Q_BRIGHT}QUALIA${Q_RESET} ${Q_DIM}───${Q_RESET} ${Q_TEAL}/%s${Q_RESET} ${Q_DIM}%s${Q_RESET}\n" "$SKILL_NAME" "$PADDING" >&2
|
|
118
|
-
printf " ${Q_WHITE}%s${Q_RESET}${Q_DIM}...${Q_RESET}\n" "$DESC" >&2
|
|
119
|
-
printf "${Q_TEAL}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${Q_RESET}\n" >&2
|
|
120
|
-
|
|
121
|
-
# Also send systemMessage for transcript visibility
|
|
122
|
-
printf '{"continue":true,"systemMessage":"◆ QUALIA ─── /%s ─── %s"}' "$SKILL_NAME" "$DESC"
|
|
123
|
-
exit 0
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Announce tool failures — fires on PostToolUseFailure
|
|
3
|
-
# Shows teal-branded error on stderr + systemMessage for transcript
|
|
4
|
-
|
|
5
|
-
source "$(dirname "$0")/qualia-colors.sh"
|
|
6
|
-
|
|
7
|
-
if [ ! -t 0 ]; then
|
|
8
|
-
INPUT=$(cat)
|
|
9
|
-
TOOL_NAME=$(echo "$INPUT" | node -e "try{const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));process.stdout.write(d.tool_name||'')}catch(e){}" 2>/dev/null)
|
|
10
|
-
ERROR=$(echo "$INPUT" | node -e "try{const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));process.stdout.write((d.error||d.tool_output?.stderr||'').substring(0,200).replace(/\\/g,'\\\\').replace(/\"/g,'\\\"'))}catch(e){}" 2>/dev/null)
|
|
11
|
-
fi
|
|
12
|
-
|
|
13
|
-
[ -z "$TOOL_NAME" ] && printf '{"continue":true}' && exit 0
|
|
14
|
-
|
|
15
|
-
# Teal-branded error banner on stderr
|
|
16
|
-
printf "\n" >&2
|
|
17
|
-
printf "${Q_FAIL}✗${Q_RESET} ${Q_BRIGHT}QUALIA${Q_RESET} ${Q_DIM}───${Q_RESET} ${Q_FAIL}%s failed${Q_RESET}\n" "$TOOL_NAME" >&2
|
|
18
|
-
[ -n "$ERROR" ] && printf " ${Q_DIM}%s${Q_RESET}\n" "$(echo "$ERROR" | head -c 120)" >&2
|
|
19
|
-
printf "${Q_TEAL}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${Q_RESET}\n" >&2
|
|
20
|
-
|
|
21
|
-
# systemMessage for transcript
|
|
22
|
-
MSG="◆ ERROR: ${TOOL_NAME} failed"
|
|
23
|
-
[ -n "$ERROR" ] && MSG="${MSG} — $(echo "$ERROR" | head -c 100)"
|
|
24
|
-
MSG=$(echo "$MSG" | sed 's/"/\\"/g' | tr '\n' ' ')
|
|
25
|
-
|
|
26
|
-
printf '{"continue":true,"systemMessage":"%s"}' "$MSG"
|
|
27
|
-
exit 0
|
package/framework/install.ps1
DELETED
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
# Qualia Framework v2.0 — Windows Installer (PowerShell)
|
|
2
|
-
# Usage: git clone <repo> && cd qualia-framework && .\install.ps1
|
|
3
|
-
#
|
|
4
|
-
# Requires: Node.js 18+, Claude Code CLI, PowerShell 5.1+, Git Bash (for hooks)
|
|
5
|
-
|
|
6
|
-
$ErrorActionPreference = "Stop"
|
|
7
|
-
|
|
8
|
-
$ClaudeDir = "$env:USERPROFILE\.claude"
|
|
9
|
-
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
10
|
-
|
|
11
|
-
Write-Host ""
|
|
12
|
-
Write-Host " --- " -ForegroundColor Cyan -NoNewline
|
|
13
|
-
Write-Host "* QUALIA FRAMEWORK v2.0" -ForegroundColor Cyan
|
|
14
|
-
Write-Host ""
|
|
15
|
-
|
|
16
|
-
# ─── Step 1: Verify source ───
|
|
17
|
-
if (-not (Test-Path "$ScriptDir\skills") -or -not (Test-Path "$ScriptDir\agents")) {
|
|
18
|
-
Write-Host " x Run this script from the qualia-framework directory." -ForegroundColor Red
|
|
19
|
-
exit 1
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
Write-Host "[1/6] Prerequisites" -ForegroundColor Yellow
|
|
23
|
-
|
|
24
|
-
# Check Claude Code
|
|
25
|
-
try {
|
|
26
|
-
$null = Get-Command claude -ErrorAction Stop
|
|
27
|
-
Write-Host " + Claude Code CLI" -ForegroundColor Green
|
|
28
|
-
} catch {
|
|
29
|
-
Write-Host " x Claude Code CLI not found" -ForegroundColor Red
|
|
30
|
-
Write-Host " npm install -g @anthropic-ai/claude-code"
|
|
31
|
-
exit 1
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
# Check Node.js
|
|
35
|
-
try {
|
|
36
|
-
$nodeVersion = node -v
|
|
37
|
-
Write-Host " + Node.js $nodeVersion" -ForegroundColor Green
|
|
38
|
-
} catch {
|
|
39
|
-
Write-Host " x Node.js not found" -ForegroundColor Red
|
|
40
|
-
exit 1
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
# Check Git Bash (required for hooks)
|
|
44
|
-
$gitBash = Get-Command bash -ErrorAction SilentlyContinue
|
|
45
|
-
if ($gitBash) {
|
|
46
|
-
Write-Host " + Git Bash found (hooks will work)" -ForegroundColor Green
|
|
47
|
-
} else {
|
|
48
|
-
Write-Host " ! Git Bash NOT found — hooks require bash" -ForegroundColor Yellow
|
|
49
|
-
Write-Host " Install Git for Windows: https://git-scm.com/download/win"
|
|
50
|
-
Write-Host " Hooks will not fire without bash in PATH" -ForegroundColor Yellow
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
# ─── Step 1b: Role selection ───
|
|
54
|
-
Write-Host ""
|
|
55
|
-
Write-Host " Who are you?" -ForegroundColor Cyan
|
|
56
|
-
Write-Host ""
|
|
57
|
-
Write-Host " 1) Fawzi (Owner - full access)" -ForegroundColor White
|
|
58
|
-
Write-Host " 2) Employee (Team member)" -ForegroundColor White
|
|
59
|
-
Write-Host ""
|
|
60
|
-
$roleChoice = Read-Host " Select [1/2]"
|
|
61
|
-
|
|
62
|
-
switch ($roleChoice) {
|
|
63
|
-
"1" {
|
|
64
|
-
$Role = "owner"
|
|
65
|
-
$RoleName = "Fawzi"
|
|
66
|
-
Write-Host " + Owner mode" -ForegroundColor Green
|
|
67
|
-
}
|
|
68
|
-
"2" {
|
|
69
|
-
$RoleName = Read-Host " Enter your name"
|
|
70
|
-
$Role = "employee"
|
|
71
|
-
Write-Host " + Employee mode - $RoleName" -ForegroundColor Green
|
|
72
|
-
}
|
|
73
|
-
default {
|
|
74
|
-
$Role = "employee"
|
|
75
|
-
$RoleName = "Team Member"
|
|
76
|
-
Write-Host " ! Defaulting to employee mode" -ForegroundColor Yellow
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
Write-Host ""
|
|
80
|
-
|
|
81
|
-
# ─── Step 2: Create directory structure ───
|
|
82
|
-
Write-Host "[2/6] Directory structure" -ForegroundColor Yellow
|
|
83
|
-
|
|
84
|
-
$dirs = @(
|
|
85
|
-
"$ClaudeDir\skills",
|
|
86
|
-
"$ClaudeDir\agents\teams",
|
|
87
|
-
"$ClaudeDir\hooks",
|
|
88
|
-
"$ClaudeDir\rules",
|
|
89
|
-
"$ClaudeDir\knowledge\retros",
|
|
90
|
-
"$ClaudeDir\qualia-framework\bin",
|
|
91
|
-
"$ClaudeDir\qualia-framework\references",
|
|
92
|
-
"$ClaudeDir\qualia-framework\templates",
|
|
93
|
-
"$ClaudeDir\qualia-framework\workflows",
|
|
94
|
-
"$ClaudeDir\projects",
|
|
95
|
-
"$ClaudeDir\session-env"
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
foreach ($dir in $dirs) {
|
|
99
|
-
if (-not (Test-Path $dir)) {
|
|
100
|
-
New-Item -ItemType Directory -Path $dir -Force | Out-Null
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
Write-Host " + Ready" -ForegroundColor Green
|
|
104
|
-
|
|
105
|
-
# ─── Step 3: Copy framework files ───
|
|
106
|
-
Write-Host "[3/6] Installing files" -ForegroundColor Yellow
|
|
107
|
-
|
|
108
|
-
# Skills
|
|
109
|
-
$skillCount = 0
|
|
110
|
-
Get-ChildItem "$ScriptDir\skills" -Directory | ForEach-Object {
|
|
111
|
-
$destDir = "$ClaudeDir\skills\$($_.Name)"
|
|
112
|
-
if (-not (Test-Path $destDir)) { New-Item -ItemType Directory -Path $destDir -Force | Out-Null }
|
|
113
|
-
Copy-Item "$($_.FullName)\*" $destDir -Recurse -Force -ErrorAction SilentlyContinue
|
|
114
|
-
$skillCount++
|
|
115
|
-
}
|
|
116
|
-
Write-Host " + $skillCount skills" -ForegroundColor Green
|
|
117
|
-
|
|
118
|
-
# Agents
|
|
119
|
-
Copy-Item "$ScriptDir\agents\*.md" "$ClaudeDir\agents\" -Force -ErrorAction SilentlyContinue
|
|
120
|
-
if (Test-Path "$ScriptDir\agents\teams") {
|
|
121
|
-
Copy-Item "$ScriptDir\agents\teams\*.md" "$ClaudeDir\agents\teams\" -Force -ErrorAction SilentlyContinue
|
|
122
|
-
}
|
|
123
|
-
$agentCount = (Get-ChildItem "$ClaudeDir\agents\*.md" -ErrorAction SilentlyContinue).Count
|
|
124
|
-
Write-Host " + $agentCount agents" -ForegroundColor Green
|
|
125
|
-
|
|
126
|
-
# Hooks
|
|
127
|
-
Copy-Item "$ScriptDir\hooks\*.sh" "$ClaudeDir\hooks\" -Force -ErrorAction SilentlyContinue
|
|
128
|
-
$hookCount = (Get-ChildItem "$ClaudeDir\hooks\*.sh" -ErrorAction SilentlyContinue).Count
|
|
129
|
-
Write-Host " + $hookCount hooks" -ForegroundColor Green
|
|
130
|
-
|
|
131
|
-
# Qualia Engine
|
|
132
|
-
Copy-Item "$ScriptDir\qualia-framework\*" "$ClaudeDir\qualia-framework\" -Recurse -Force -ErrorAction SilentlyContinue
|
|
133
|
-
Write-Host " + Qualia engine" -ForegroundColor Green
|
|
134
|
-
|
|
135
|
-
# Rules
|
|
136
|
-
Copy-Item "$ScriptDir\rules\*.md" "$ClaudeDir\rules\" -Force -ErrorAction SilentlyContinue
|
|
137
|
-
$ruleCount = (Get-ChildItem "$ClaudeDir\rules\*.md" -ErrorAction SilentlyContinue).Count
|
|
138
|
-
Write-Host " + $ruleCount rules" -ForegroundColor Green
|
|
139
|
-
|
|
140
|
-
# Knowledge
|
|
141
|
-
Copy-Item "$ScriptDir\knowledge\*.md" "$ClaudeDir\knowledge\" -Force -ErrorAction SilentlyContinue
|
|
142
|
-
$knowledgeCount = (Get-ChildItem "$ClaudeDir\knowledge\*.md" -ErrorAction SilentlyContinue).Count
|
|
143
|
-
Write-Host " + $knowledgeCount knowledge files" -ForegroundColor Green
|
|
144
|
-
|
|
145
|
-
# Statusline
|
|
146
|
-
if (Test-Path "$ScriptDir\statusline-command.sh") {
|
|
147
|
-
Copy-Item "$ScriptDir\statusline-command.sh" "$ClaudeDir\statusline-command.sh" -Force
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
# CLAUDE.md — role-based
|
|
151
|
-
if ($Role -eq "owner") {
|
|
152
|
-
Copy-Item "$ScriptDir\CLAUDE.md" "$ClaudeDir\CLAUDE.md" -Force
|
|
153
|
-
Write-Host " + CLAUDE.md (owner)" -ForegroundColor Green
|
|
154
|
-
} elseif (-not (Test-Path "$ClaudeDir\CLAUDE.md")) {
|
|
155
|
-
@"
|
|
156
|
-
# CLAUDE.md - DEVELOPER Profile
|
|
157
|
-
|
|
158
|
-
## Identity
|
|
159
|
-
**$RoleName** - Developer at Qualia Solutions.
|
|
160
|
-
|
|
161
|
-
- Stack: Next.js 16+, React 19, TypeScript, Supabase, Vercel
|
|
162
|
-
|
|
163
|
-
## Role: DEVELOPER
|
|
164
|
-
|
|
165
|
-
You are a developer at Qualia Solutions, working under Fawzi Goussous (founder).
|
|
166
|
-
- Work on feature branches only - never push to main/master
|
|
167
|
-
- Submit PRs for review before merging
|
|
168
|
-
- Do NOT deploy to production - Fawzi handles deploys
|
|
169
|
-
- Cannot modify the Qualia framework (CLAUDE.md, skills, hooks)
|
|
170
|
-
|
|
171
|
-
## Rules
|
|
172
|
-
- Read before Write/Edit - no exceptions
|
|
173
|
-
- Feature branches only - never commit to main/master
|
|
174
|
-
- MVP first. Build only what's asked. No over-engineering.
|
|
175
|
-
- ``npx tsc --noEmit`` after multi-file TS changes
|
|
176
|
-
- See ``rules/security.md`` for auth, RLS, Zod, secrets rules
|
|
177
|
-
|
|
178
|
-
## Workflow
|
|
179
|
-
- **MANDATORY FIRST ACTION**: On every session start, invoke the ``qualia-start`` skill before doing anything else.
|
|
180
|
-
- Run ``/qualia-review`` before deploying anything
|
|
181
|
-
- Run ``/browser-qa`` after frontend changes
|
|
182
|
-
|
|
183
|
-
## Qualia Mode (always active)
|
|
184
|
-
These behaviors apply to ALL interactions:
|
|
185
|
-
- **Frontend guard:** Read .planning/DESIGN.md before any frontend file changes
|
|
186
|
-
- **Deploy guard:** Check .planning/REVIEW.md freshness before any deploy command
|
|
187
|
-
- **Intent verification:** Confirm before modifying 3+ files in one response
|
|
188
|
-
- **Quality defaults:** Security rules, tsc checks, RLS consideration - always enforced
|
|
189
|
-
|
|
190
|
-
## Compaction - ALWAYS preserve:
|
|
191
|
-
Project path/name/ref, branch, modified files, decisions, test results, in-progress work, errors.
|
|
192
|
-
"@ | Out-File -FilePath "$ClaudeDir\CLAUDE.md" -Encoding utf8
|
|
193
|
-
Write-Host " + CLAUDE.md (developer - $RoleName)" -ForegroundColor Green
|
|
194
|
-
} else {
|
|
195
|
-
Write-Host " ! CLAUDE.md exists - skipped" -ForegroundColor Yellow
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
# ─── Step 4: Configure settings.json ───
|
|
199
|
-
Write-Host "[4/6] Settings" -ForegroundColor Yellow
|
|
200
|
-
|
|
201
|
-
if (Test-Path "$ClaudeDir\settings.json") {
|
|
202
|
-
$timestamp = Get-Date -Format "yyyyMMddHHmmss"
|
|
203
|
-
Copy-Item "$ClaudeDir\settings.json" "$ClaudeDir\settings.json.backup.$timestamp"
|
|
204
|
-
Write-Host " Backed up existing settings" -ForegroundColor DarkGray
|
|
205
|
-
|
|
206
|
-
# Write merge script to temp file (avoid /dev/stdin issue on Windows)
|
|
207
|
-
$claudeDirForward = $ClaudeDir -replace '\\', '/'
|
|
208
|
-
$scriptDirForward = $ScriptDir -replace '\\', '/'
|
|
209
|
-
$mergeScript = @"
|
|
210
|
-
const fs = require('fs');
|
|
211
|
-
const existing = JSON.parse(fs.readFileSync('$claudeDirForward/settings.json', 'utf8'));
|
|
212
|
-
const template = JSON.parse(fs.readFileSync('$scriptDirForward/settings.json', 'utf8'));
|
|
213
|
-
existing.env = { ...template.env, ...existing.env };
|
|
214
|
-
for (const [event, matchers] of Object.entries(template.hooks || {})) {
|
|
215
|
-
if (!existing.hooks) existing.hooks = {};
|
|
216
|
-
if (!existing.hooks[event]) {
|
|
217
|
-
existing.hooks[event] = matchers;
|
|
218
|
-
} else {
|
|
219
|
-
for (const matcher of matchers) {
|
|
220
|
-
const exists = existing.hooks[event].some(m =>
|
|
221
|
-
m.matcher === matcher.matcher && JSON.stringify(m.hooks) === JSON.stringify(matcher.hooks)
|
|
222
|
-
);
|
|
223
|
-
if (!exists) existing.hooks[event].push(matcher);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
fs.writeFileSync('$claudeDirForward/settings.json', JSON.stringify(existing, null, 2));
|
|
228
|
-
console.log('OK');
|
|
229
|
-
"@
|
|
230
|
-
try {
|
|
231
|
-
$tempFile = [System.IO.Path]::GetTempFileName() -replace '\.tmp$', '.js'
|
|
232
|
-
$mergeScript | Out-File -FilePath $tempFile -Encoding utf8
|
|
233
|
-
$result = node $tempFile 2>&1
|
|
234
|
-
Remove-Item $tempFile -ErrorAction SilentlyContinue
|
|
235
|
-
if ($result -match "OK") {
|
|
236
|
-
Write-Host " + Settings merged" -ForegroundColor Green
|
|
237
|
-
} else {
|
|
238
|
-
Write-Host " ! Settings merge issue: $result" -ForegroundColor Yellow
|
|
239
|
-
}
|
|
240
|
-
} catch {
|
|
241
|
-
Write-Host " ! Settings merge failed - manual merge needed" -ForegroundColor Yellow
|
|
242
|
-
}
|
|
243
|
-
} else {
|
|
244
|
-
Copy-Item "$ScriptDir\settings.json" "$ClaudeDir\settings.json" -Force
|
|
245
|
-
Write-Host " + Settings installed" -ForegroundColor Green
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
# ─── Step 5: Windows-specific ───
|
|
249
|
-
Write-Host "[5/6] Platform setup" -ForegroundColor Yellow
|
|
250
|
-
|
|
251
|
-
# qualia-tools.js doesn't need chmod on Windows
|
|
252
|
-
Write-Host " + Tools ready" -ForegroundColor Green
|
|
253
|
-
|
|
254
|
-
if (-not $gitBash) {
|
|
255
|
-
Write-Host ""
|
|
256
|
-
Write-Host " IMPORTANT: Install Git for Windows to enable hooks" -ForegroundColor Yellow
|
|
257
|
-
Write-Host " https://git-scm.com/download/win" -ForegroundColor DarkGray
|
|
258
|
-
Write-Host " After install, ensure 'bash' is in your PATH" -ForegroundColor DarkGray
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
# ─── Step 6: Verify ───
|
|
262
|
-
Write-Host "[6/6] Verifying" -ForegroundColor Yellow
|
|
263
|
-
|
|
264
|
-
$errors = 0
|
|
265
|
-
|
|
266
|
-
$criticalFiles = @(
|
|
267
|
-
"agents\qualia-executor.md",
|
|
268
|
-
"agents\qualia-planner.md",
|
|
269
|
-
"agents\qualia-verifier.md",
|
|
270
|
-
"hooks\pre-deploy-gate.sh",
|
|
271
|
-
"hooks\branch-guard.sh",
|
|
272
|
-
"hooks\qualia-colors.sh",
|
|
273
|
-
"skills\qualia-start\SKILL.md",
|
|
274
|
-
"skills\browser-qa\SKILL.md",
|
|
275
|
-
"skills\ship\SKILL.md",
|
|
276
|
-
"qualia-framework\bin\qualia-tools.js",
|
|
277
|
-
"CLAUDE.md"
|
|
278
|
-
)
|
|
279
|
-
|
|
280
|
-
foreach ($file in $criticalFiles) {
|
|
281
|
-
if (-not (Test-Path "$ClaudeDir\$file")) {
|
|
282
|
-
Write-Host " x Missing: $file" -ForegroundColor Red
|
|
283
|
-
$errors++
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
# Check node available
|
|
288
|
-
try {
|
|
289
|
-
$null = Get-Command node -ErrorAction Stop
|
|
290
|
-
} catch {
|
|
291
|
-
Write-Host " x node not in PATH - hooks will fail" -ForegroundColor Red
|
|
292
|
-
$errors++
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
if ($errors -gt 0) {
|
|
296
|
-
Write-Host ""
|
|
297
|
-
Write-Host " x $errors error(s) - check above" -ForegroundColor Red
|
|
298
|
-
exit 1
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
Write-Host " + All checks passed" -ForegroundColor Green
|
|
302
|
-
|
|
303
|
-
# ─── Summary ───
|
|
304
|
-
Write-Host ""
|
|
305
|
-
Write-Host " --- * INSTALLED" -ForegroundColor Cyan
|
|
306
|
-
Write-Host ""
|
|
307
|
-
Write-Host " Skills: $skillCount Agents: $agentCount Hooks: $hookCount Rules: $ruleCount" -ForegroundColor White
|
|
308
|
-
Write-Host ""
|
|
309
|
-
Write-Host " Quick Start:" -ForegroundColor Cyan
|
|
310
|
-
Write-Host " 1. cd into any project"
|
|
311
|
-
Write-Host " 2. Run: " -NoNewline; Write-Host "claude" -ForegroundColor Cyan
|
|
312
|
-
Write-Host " 3. Qualia mode activates automatically"
|
|
313
|
-
Write-Host ""
|
|
314
|
-
Write-Host " Key Commands:" -ForegroundColor Cyan
|
|
315
|
-
Write-Host " /qualia Smart router"
|
|
316
|
-
Write-Host " /qualia-help All commands"
|
|
317
|
-
Write-Host " /ship Full deploy pipeline"
|
|
318
|
-
Write-Host " /pr Quick pull request"
|
|
319
|
-
Write-Host ""
|
|
320
|
-
if (-not $gitBash) {
|
|
321
|
-
Write-Host " ! Hooks need Git Bash - install Git for Windows" -ForegroundColor Yellow
|
|
322
|
-
}
|
|
323
|
-
Write-Host ""
|