@thierrynakoa/fire-flow 12.2.1 → 13.0.1
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/CREDITS.md +25 -0
- package/DOMINION-FLOW-OVERVIEW.md +182 -38
- package/README.md +399 -455
- package/TROUBLESHOOTING.md +264 -264
- package/agents/fire-debugger.md +54 -0
- package/agents/fire-executor.md +1610 -1033
- package/agents/fire-fact-checker.md +1 -1
- package/agents/fire-planner.md +85 -17
- package/agents/fire-project-researcher.md +1 -1
- package/agents/fire-researcher.md +4 -22
- package/agents/{fire-phoenix-analyst.md → fire-resurrection-analyst.md} +394 -394
- package/agents/fire-reviewer.md +552 -499
- package/agents/fire-verifier.md +114 -19
- package/bin/cli.js +18 -101
- package/commands/fire-0-orient.md +2 -2
- package/commands/fire-1a-new.md +50 -15
- package/commands/fire-1c-setup.md +33 -5
- package/commands/fire-1d-discuss.md +87 -1
- package/commands/fire-2-plan.md +556 -527
- package/commands/fire-3-execute.md +2046 -1356
- package/commands/fire-4-verify.md +975 -906
- package/commands/fire-5-handoff.md +46 -5
- package/commands/fire-6-resume.md +2 -31
- package/commands/fire-add-new-skill.md +138 -19
- package/commands/fire-autonomous.md +14 -2
- package/commands/fire-complete-milestone.md +1 -1
- package/commands/fire-cost.md +179 -183
- package/commands/fire-debug.md +1 -6
- package/commands/fire-loop-resume.md +2 -2
- package/commands/fire-loop-stop.md +1 -1
- package/commands/fire-loop.md +2 -15
- package/commands/fire-map-codebase.md +1 -1
- package/commands/fire-migrate-database.md +548 -0
- package/commands/fire-new-milestone.md +1 -1
- package/commands/fire-reflect.md +1 -2
- package/commands/fire-research.md +142 -21
- package/commands/{fire-phoenix.md → fire-resurrect.md} +859 -603
- package/commands/fire-scaffold.md +297 -0
- package/commands/fire-search.md +1 -2
- package/commands/fire-security-scan.md +483 -484
- package/commands/fire-setup.md +359 -0
- package/commands/fire-skill.md +770 -0
- package/commands/fire-skills-diff.md +506 -506
- package/commands/fire-skills-history.md +388 -388
- package/commands/fire-skills-rollback.md +7 -7
- package/commands/fire-skills-sync.md +470 -470
- package/commands/fire-test.md +5 -5
- package/commands/fire-todos.md +1 -1
- package/commands/fire-update.md +5 -5
- package/commands/fire-validate-skills.md +282 -0
- package/commands/fire-vuln-scan.md +492 -493
- package/hooks/run-hook.sh +8 -8
- package/hooks/run-session-end.sh +7 -7
- package/hooks/session-end.sh +90 -90
- package/hooks/session-start.sh +1 -1
- package/package.json +4 -24
- package/plugin.json +7 -7
- package/references/autonomy-levels.md +235 -0
- package/references/behavioral-directives.md +95 -3
- package/references/blocker-tracking.md +1 -1
- package/references/circuit-breaker.md +93 -2
- package/references/context-engineering.md +227 -9
- package/references/honesty-protocols.md +70 -1
- package/references/issue-to-pr-pipeline.md +149 -150
- package/references/metrics-and-trends.md +1 -2
- package/references/research-improvements.md +4 -108
- package/references/sdlc-mapping.md +73 -0
- package/references/state-machine.md +151 -0
- package/skills-library/AVAILABLE_TOOLS_REFERENCE.md +333 -0
- package/skills-library/SKILLS-INDEX.md +57 -558
- package/skills-library/SKILLS_LIBRARY_INDEX.md +532 -0
- package/skills-library/_general/api-patterns/api-field-name-mismatch.md +107 -0
- package/skills-library/_general/api-patterns/streaming-command-timeout.md +122 -0
- package/skills-library/_general/api-patterns/streaming-proxy-cors-bypass.md +102 -0
- package/skills-library/_general/automation/settings-gui-generator.md +172 -0
- package/skills-library/_general/database-solutions/data-type-mapping-reference.md +181 -0
- package/skills-library/_general/database-solutions/mysql-limit-offset-string-coercion.md +102 -0
- package/skills-library/_general/database-solutions/mysql-to-pg-migration.md +195 -0
- package/skills-library/_general/database-solutions/orm-schema-portability.md +193 -0
- package/skills-library/_general/database-solutions/persistent-analysis-storage.md +207 -0
- package/skills-library/_general/database-solutions/pg-to-mysql-schema-migration-methodology.md +190 -0
- package/skills-library/_general/database-solutions/sql-dialect-compatibility-matrix.md +306 -0
- package/skills-library/_general/database-solutions/sqlite-to-pg-migration.md +219 -0
- package/skills-library/_general/frontend/canvas-bubble-animation-grouping.md +270 -0
- package/skills-library/_general/frontend/color-token-migration.md +112 -0
- package/skills-library/_general/frontend/framer-motion-layoutid-grouping.md +150 -0
- package/skills-library/_general/frontend/pyqt6-settings-dialog.md +191 -0
- package/skills-library/_general/frontend/react-flow-animated-layout-switching.md +101 -0
- package/skills-library/_general/frontend/react-hooks-order-debugging.md +141 -0
- package/skills-library/_general/frontend/redux-localstorage-auth-desync.md +126 -0
- package/skills-library/_general/frontend/safari-csp-theme-color-debugging.md +124 -0
- package/skills-library/_general/frontend/safari-sw-cache-poisoning.md +138 -0
- package/skills-library/_general/frontend/svg-sparkline-no-charting-library.md +131 -0
- package/skills-library/_general/growth-marketing/oss-daily-growth-intelligence.md +224 -0
- package/skills-library/_general/integrations/claude-code-local-mcp-integration.md +250 -0
- package/skills-library/_general/integrations/mcp-composite-tool-orchestration.md +200 -0
- package/skills-library/_general/methodology/AGENT_SDK_STANDALONE_TOOLING.md +181 -0
- package/skills-library/_general/methodology/AGENT_TEAMS_GUIDE.md +169 -0
- package/skills-library/_general/methodology/ALAS_STATEFUL_EXECUTION.md +207 -0
- package/skills-library/_general/methodology/AUTO_REVIEWER_SUBAGENT.md +211 -0
- package/skills-library/_general/methodology/CONSISTENCY_CHECK_AMBIGUITY_GATE.md +96 -0
- package/skills-library/_general/methodology/DEAD_ENDS_SHELF.md +4 -4
- package/skills-library/_general/methodology/DISTILL_NOT_DUMP.md +108 -0
- package/skills-library/_general/methodology/EXECUTION_PROGRESS_MONITOR.md +157 -0
- package/skills-library/_general/methodology/HIERARCHICAL_REVIEW_MARS.md +122 -0
- package/skills-library/_general/methodology/MCP_INTER_AGENT_BRIDGE.md +207 -0
- package/skills-library/_general/methodology/MERMAID_WIZARD_DIAGRAMS.md +77 -0
- package/skills-library/_general/methodology/MISSING_DIMENSION_DETECTOR.md +89 -0
- package/skills-library/_general/methodology/MULTI_AGENT_COORDINATION.md +397 -0
- package/skills-library/_general/methodology/OBSERVATION_MASKING.md +100 -0
- package/skills-library/_general/methodology/PHOENIX_REBUILD_METHODOLOGY.md +82 -11
- package/skills-library/_general/methodology/REVIEW_BACKTRACK_PANEL.md +140 -0
- package/skills-library/_general/methodology/REVIEW_FIX_LOOP.md +117 -0
- package/skills-library/_general/methodology/VOTING_VERDICT_ARBITRATION.md +155 -0
- package/skills-library/_general/methodology/ZERO_FRICTION_CLI_SETUP.md +2 -2
- package/skills-library/_general/methodology/dead-code-activation.md +123 -0
- package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -240
- package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +1 -1
- package/skills-library/_general/patterns-standards/GOF_DESIGN_PATTERNS_FOR_AI_AGENTS.md +5 -5
- package/skills-library/_general/patterns-standards/cascading-failure-diagnosis.md +119 -0
- package/skills-library/_general/patterns-standards/domain-specific-layout-algorithms.md +209 -0
- package/skills-library/_general/patterns-standards/python-desktop-app-architecture.md +399 -0
- package/skills-library/_general/patterns-standards/realtime-monitoring-dashboard.md +457 -0
- package/skills-library/_general/patterns-standards/togglable-processing-pipeline.md +169 -0
- package/skills-library/_general/performance/liveclock-extraction.md +112 -0
- package/skills-library/_general/performance/ref-based-canvas-animation.md +117 -0
- package/skills-library/_general/performance/use-visible-interval.md +131 -0
- package/skills-library/_general/testing/playwright-firefox-withcredentials-auth-issue.md +104 -0
- package/skills-library/_quarantine/README.md +30 -0
- package/skills-library/api-patterns/BROADCAST_SCHEDULER_SHARED_EXECUTE_FUNCTION.md +150 -0
- package/skills-library/api-patterns/ERROR_RESPONSE_STANDARDS.md +145 -0
- package/skills-library/api-patterns/EXPRESS_ROUTE_ORDERING_MIDDLEWARE_INTERCEPTION.md +326 -0
- package/skills-library/api-patterns/PAGINATION_PATTERNS.md +137 -0
- package/skills-library/api-patterns/PODCAST_PROGRESS_TRACKING_THREE_ROOT_CAUSES.md +277 -0
- package/skills-library/api-patterns/RATE_LIMITING_TOGGLE.md +155 -0
- package/skills-library/api-patterns/graphql-content-queries.md +708 -0
- package/skills-library/appointment-scheduler-design.md +423 -0
- package/skills-library/automation/AUTO_POPULATE_COMPLETE_GUIDE.md +631 -0
- package/skills-library/automation/CC_WORKFLOW_STUDIO.md +83 -0
- package/skills-library/automation/CLAUDE_CODE_SWARM_MODE.md +95 -0
- package/skills-library/automation/DAEMON_TRIGGER_FILE_IPC.md +195 -0
- package/skills-library/automation/scheduled-content-publishing.md +608 -0
- package/skills-library/awesome-workflows/Blogging-Platform-Instructions/view_commands.md +25 -0
- package/skills-library/awesome-workflows/CREDENTIAL-SECURITY-WORKFLOW.md +109 -0
- package/skills-library/awesome-workflows/DEBUGGING-WORKFLOW.md +124 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/README.md +31 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-principles-example.md +129 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-agent.md +107 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-claude-md-snippet.md +24 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-slash-command.md +38 -0
- package/skills-library/awesome-workflows/PARALLEL-RESEARCH-WORKFLOW.md +89 -0
- package/skills-library/awesome-workflows/PHASE-EXECUTION-WORKFLOW.md +97 -0
- package/skills-library/awesome-workflows/SESSION-HANDOFF-WORKFLOW.md +116 -0
- package/skills-library/cms-patterns/content-branch-preview.md +515 -0
- package/skills-library/cms-patterns/inline-visual-editing.md +666 -0
- package/skills-library/cms-patterns/mdx-component-content.md +649 -0
- package/skills-library/cms-patterns/media-manager-abstraction.md +827 -0
- package/skills-library/cms-patterns/schema-driven-form-generator.md +838 -0
- package/skills-library/complexity-metrics/complexity-divider.md +707 -0
- package/skills-library/complexity-metrics/work-with-complexity.md +193 -0
- package/skills-library/creative-multimedia/animation-stack-guide.md +577 -0
- package/skills-library/creative-multimedia/audio-enhancement-pipeline.md +625 -0
- package/skills-library/creative-multimedia/content-repurposing-pipeline.md +1146 -0
- package/skills-library/creative-multimedia/data-visualization-generator.md +862 -0
- package/skills-library/creative-multimedia/doc-to-podcast-pipeline.md +2184 -0
- package/skills-library/creative-multimedia/ffmpeg-command-generator.md +405 -0
- package/skills-library/creative-multimedia/image-optimization-pipeline.md +605 -0
- package/skills-library/creative-multimedia/multi-format-content-generator.md +1759 -0
- package/skills-library/creative-multimedia/og-image-generator.md +635 -0
- package/skills-library/creative-multimedia/podcast-audio-composition.md +1355 -0
- package/skills-library/creative-multimedia/podcast-quality-evaluation.md +1452 -0
- package/skills-library/creative-multimedia/podcast-script-generation.md +1841 -0
- package/skills-library/creative-multimedia/svg-generation.md +750 -0
- package/skills-library/creative-multimedia/text-to-speech-provider-selector.md +1414 -0
- package/skills-library/creative-multimedia/transcription-pipeline-selector.md +677 -0
- package/skills-library/creative-multimedia/video-streaming-setup.md +559 -0
- package/skills-library/database-solutions/AI_RESPONSE_DATABASE_CACHING.md +520 -0
- package/skills-library/database-solutions/CONDITIONAL_SQL_MIGRATION_PATTERN.md +119 -0
- package/skills-library/database-solutions/DATABASE_COLUMN_NAME_MISMATCH.md +393 -0
- package/skills-library/database-solutions/DATABASE_SCHEMA.md +394 -0
- package/skills-library/database-solutions/DATABASE_SCHEMA_VERIFICATION_GUIDE.md +348 -0
- package/skills-library/database-solutions/DATABASE_STRATEGY.md +71 -0
- package/skills-library/database-solutions/ES_MODULE_SEED_SCRIPT_PATTERN.md +52 -0
- package/skills-library/database-solutions/MIGRATION_GUIDE.md +3 -0
- package/skills-library/database-solutions/PLPGSQL_VARIABLE_CONFLICT_FIX.md +208 -0
- package/skills-library/database-solutions/POSTGRESQL_JSONB_DOUBLE_STRINGIFY_FIX.md +245 -0
- package/skills-library/database-solutions/POSTGRESQL_LICENSE_TABLE_DESIGN.md +393 -0
- package/skills-library/database-solutions/POSTGRESQL_UUID_DOCUMENT_RAG_DUAL_SCOPE.md +732 -0
- package/skills-library/database-solutions/POSTGRES_SQL_TEMPLATE_BINDING_ERROR.md +240 -0
- package/skills-library/database-solutions/PRISMA_DB_PUSH_DATA_LOSS_PREVENTION.md +141 -0
- package/skills-library/database-solutions/PRODUCTION_QUERY_OPTIMIZATION_RESTART_FIX.md +389 -0
- package/skills-library/database-solutions/RLS_SECURITY_GUIDE.md +107 -0
- package/skills-library/database-solutions/SCHEMA_ENHANCEMENTS_GUIDE.md +373 -0
- package/skills-library/database-solutions/SCHEMA_MIGRATION_GUIDE.md +368 -0
- package/skills-library/database-solutions/SCHEMA_VERIFICATION_QUICK_REFERENCE.md +104 -0
- package/skills-library/database-solutions/ai-erd-generator.md +1213 -0
- package/skills-library/database-solutions/content-publishing-states.md +631 -0
- package/skills-library/database-solutions/database-schema-designer.md +522 -0
- package/skills-library/database-solutions/er-diagram-components.md +569 -0
- package/skills-library/database-solutions/er-to-ddl-mapping.md +1405 -0
- package/skills-library/database-solutions/erd-creator-textbook-research.md +433 -0
- package/skills-library/database-solutions/erd-react-flow-architecture.md +1965 -0
- package/skills-library/database-solutions/mariadb-aggregate-function-replacement.md +145 -0
- package/skills-library/database-solutions/normalization-validator.md +778 -0
- package/skills-library/database-solutions/postgres-full-text-search-content.md +494 -0
- package/skills-library/database-solutions/postgresql-to-mysql-runtime-translation.md +286 -0
- package/skills-library/database-solutions/regex-alternation-ordering-sql-types.md +92 -0
- package/skills-library/database-solutions/reserved-word-context-aware-quoting.md +142 -0
- package/skills-library/database-solutions/sql-ddl-generator.md +756 -0
- package/skills-library/database-solutions/supabase-connection-pooler-fix.md +102 -0
- package/skills-library/deployment-security/CPANEL_NODE_DEPLOYMENT.md +166 -0
- package/skills-library/deployment-security/DEPLOYMENT.md +275 -0
- package/skills-library/deployment-security/DEPLOYMENT_CHECKLIST.md +363 -0
- package/skills-library/deployment-security/DEPLOYMENT_PLAN.md +669 -0
- package/skills-library/deployment-security/KNEX_DATABASE_ABSTRACTION.md +444 -0
- package/skills-library/deployment-security/LICENSE_KEY_SYSTEM.md +206 -0
- package/skills-library/deployment-security/NODE18_DEPENDENCY_COMPATIBILITY.md +284 -0
- package/skills-library/deployment-security/PHP_INSTALLER_WIZARD_GUIDE.md +315 -0
- package/skills-library/deployment-security/PM2_ENVIRONMENT_VARIABLE_CACHING.md +256 -0
- package/skills-library/deployment-security/PM2_MEMORY_EXHAUSTION_FIX.md +370 -0
- package/skills-library/deployment-security/PRODUCTION_DEPLOYMENT_GUIDE.md +592 -0
- package/skills-library/deployment-security/PRODUCTION_HARDENING_DOCUMENTATION.md +307 -0
- package/skills-library/deployment-security/PRODUCTION_RECOVERY_CHERRY_PICK_PATTERN.md +202 -0
- package/skills-library/deployment-security/PYINSTALLER_CUDA_WHISPER_BUNDLING.md +236 -0
- package/skills-library/deployment-security/SECURITY.md +41 -0
- package/skills-library/deployment-security/SMTP_SSL_HOSTNAME_MISMATCH_SHARED_HOSTING.md +220 -0
- package/skills-library/deployment-security/SPA_SEO_OPTIMIZATION_CPANEL.md +200 -0
- package/skills-library/deployment-security/SUPABASE_EDGE_FUNCTIONS.md +338 -0
- package/skills-library/deployment-security/VERCEL_GITHUB_DEPLOYMENT_GUIDE.md +858 -0
- package/skills-library/deployment-security/VPS_DEPLOYMENT_READINESS.md +356 -0
- package/skills-library/deployment-security/deployment-changes-not-applying.md +241 -0
- package/skills-library/deployment-security/env-file-management-production-local.md +203 -0
- package/skills-library/deployment-security/express-secure-file-downloads.md +413 -0
- package/skills-library/deployment-security/react-production-deployment-desktop-guide.md +2011 -0
- package/skills-library/deployment-security/self-hosted-supabase-coolify-guide.md +1684 -0
- package/skills-library/deployment-security/unique-features-ai-strategy-plaid-security.md +1613 -0
- package/skills-library/deployment-security/vps-deployment.md +135 -0
- package/skills-library/document-processing/WORD_EXPORT_MARKDOWN_FORMATTING.md +482 -0
- package/skills-library/document-processing/document-ai-landingai-integration.md +677 -0
- package/skills-library/document-processing/express-secure-file-downloads-mern.md +413 -0
- package/skills-library/document-processing/express-secure-file-downloads.md +413 -0
- package/skills-library/document-processing/md-to-word-converter.md +318 -0
- package/skills-library/document-processing/pdf-forms-integration/README.md +101 -0
- package/skills-library/document-processing/pdf-forms-integration/SKILL.md +662 -0
- package/skills-library/ecommerce/ADMIN_PRODUCTS_GUIDE.md +428 -0
- package/skills-library/ecommerce/ECOMMERCE_API_REFERENCE.md +776 -0
- package/skills-library/ecommerce/ECOMMERCE_COMPLETION_SUMMARY.md +673 -0
- package/skills-library/ecommerce/ECOMMERCE_IMPLEMENTATION_GUIDE.md +729 -0
- package/skills-library/ecommerce/ECOMMERCE_QUICK_REFERENCE.md +521 -0
- package/skills-library/ecommerce/ECOMMERCE_TESTING_CHECKLIST.md +565 -0
- package/skills-library/ecommerce/ECOMMERCE_WORKFLOW_GUIDE.md +1059 -0
- package/skills-library/ecommerce/PRODUCT_CREATION_EXPANDED.md +522 -0
- package/skills-library/ecommerce/agentic-commerce-protocol.md +203 -0
- package/skills-library/ecommerce/cart-abandonment-recovery.md +236 -0
- package/skills-library/ecommerce/cart-architecture-patterns.md +300 -0
- package/skills-library/ecommerce/cart-item-count-indicator.md +264 -0
- package/skills-library/ecommerce/checkout-ux-conversion.md +227 -0
- package/skills-library/ecommerce/composable-commerce-selection.md +166 -0
- package/skills-library/ecommerce/ecommerce-analytics-patterns.md +167 -0
- package/skills-library/ecommerce/fraud-detection-patterns.md +179 -0
- package/skills-library/ecommerce/inventory-stock-management.md +270 -0
- package/skills-library/ecommerce/order-saga-state-machine.md +336 -0
- package/skills-library/ecommerce/payment-provider-abstraction.md +245 -0
- package/skills-library/ecommerce/pci-compliance-checklist.md +192 -0
- package/skills-library/ecommerce/refund-chargeback-handling.md +177 -0
- package/skills-library/ecommerce/shipping-carrier-integration.md +218 -0
- package/skills-library/ecommerce/webhook-idempotency-patterns.md +253 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/ci.yml +558 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/prompt-gallery.yml +448 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/release.yml +42 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/test-reusable-ci.yml +25 -0
- package/skills-library/excalidraw-diagrams/CLAUDE.md +57 -0
- package/skills-library/excalidraw-diagrams/LICENSE +21 -0
- package/skills-library/excalidraw-diagrams/README.md +178 -0
- package/skills-library/excalidraw-diagrams/SKILL.md +715 -0
- package/skills-library/form-solutions/BUTTON_TYPE_FORM_SUBMISSION.md +336 -0
- package/skills-library/form-solutions/FILLABLE_PDF_IMPLEMENTATION.md +226 -0
- package/skills-library/form-solutions/SURVEYJS_QUESTIONNAIRE_SYSTEM.md +367 -0
- package/skills-library/form-solutions/tiptap-minimal-setup.md +690 -0
- package/skills-library/frontend/scholarly-classification-bubble-map.md +149 -0
- package/skills-library/infrastructure/ci-cd-pipeline-builder.md +517 -0
- package/skills-library/infrastructure/observability-designer.md +264 -0
- package/skills-library/infrastructure/performance-profiler.md +621 -0
- package/skills-library/installer-wizard-patterns.md +249 -0
- package/skills-library/integrations/CLAUDE_CODE_TOKEN_ANALYTICS.md +160 -0
- package/skills-library/integrations/CONFIGURABLE_AI_PROVIDER_SELECTION.md +728 -0
- package/skills-library/integrations/SOCKET_IO_BROADCAST_ALL_VS_ROOM.md +141 -0
- package/skills-library/integrations/VIRTUAL_MEETINGS_IMPLEMENTATION.md +374 -0
- package/skills-library/integrations/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
- package/skills-library/integrations/YOUTUBE_API_SETUP.md +141 -0
- package/skills-library/integrations/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
- package/skills-library/integrations/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
- package/skills-library/integrations/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
- package/skills-library/integrations/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
- package/skills-library/integrations/ai-ml/GEMINI_AI_RAG_PIPELINE_COMPLETE_GUIDE.md +195 -0
- package/skills-library/integrations/ai-ml/GEMINI_IMAGE_GENERATION_SETUP.md +64 -0
- package/skills-library/integrations/cloudflare/cloudflare-turnstile-debugging.md +202 -0
- package/skills-library/integrations/cloudflare/cloudflare-turnstile-implementation.md +476 -0
- package/skills-library/integrations/cloudflare-turnstile-debugging.md +202 -0
- package/skills-library/integrations/cloudflare-turnstile-implementation.md +476 -0
- package/skills-library/integrations/ghost-creator-monetization-pattern.md +454 -0
- package/skills-library/integrations/headless-cms-architecture.md +484 -0
- package/skills-library/integrations/headless-cms-stack-selection.md +183 -0
- package/skills-library/integrations/payload-cms-patterns.md +674 -0
- package/skills-library/integrations/realtimestt-openwakeword-cuda-windows.md +229 -0
- package/skills-library/integrations/rss-podcast-integration.md +300 -0
- package/skills-library/integrations/wordpress/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
- package/skills-library/integrations/youtube/YOUTUBE_API_SETUP.md +141 -0
- package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
- package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
- package/skills-library/integrations/youtube/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
- package/skills-library/integrations/youtube/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
- package/skills-library/marketing/campaign-analytics.md +97 -0
- package/skills-library/marketing/content-creator.md +105 -0
- package/skills-library/marketing/marketing-strategy-pmm.md +94 -0
- package/skills-library/marketing/social-media-analyzer.md +81 -0
- package/skills-library/methodology/ADVANCED_ORCHESTRATION_PATTERNS.md +401 -0
- package/skills-library/methodology/AGENT_SELF_IMPROVEMENT_LOOP.md +179 -0
- package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +1 -1
- package/skills-library/methodology/CLEANSING_CYCLE.md +358 -0
- package/skills-library/methodology/CONFIDENCE_ANNOTATION_PATTERN.md +143 -0
- package/skills-library/methodology/CRITICAL_PATTERNS_DOCUMENTATION_COMPLETE.md +204 -0
- package/skills-library/methodology/DELIVERABLES_SUMMARY.md +341 -0
- package/skills-library/methodology/DIFFICULTY_AWARE_AGENT_ROUTING.md +252 -0
- package/skills-library/methodology/EVOLUTIONARY_SKILL_SYNTHESIS.md +219 -0
- package/skills-library/methodology/GLOMERULUS_DECISION_GATE.md +223 -0
- package/skills-library/methodology/HIBERNATION_SYSTEM.md +231 -0
- package/skills-library/methodology/INSTRUMENTATION_OVER_RESTRICTION.md +192 -0
- package/skills-library/methodology/MASTER_COMPLETION_SUMMARY.md +444 -0
- package/skills-library/methodology/MASTER_SESSION_COMPLETION.md +743 -0
- package/skills-library/methodology/MERN_QUICK_REFERENCE.md +358 -0
- package/skills-library/methodology/ORGAN_AGENT_MAPPING.md +177 -0
- package/skills-library/methodology/PARALLEL_WAVE_BASED_REFACTORING.md +440 -0
- package/skills-library/methodology/QUICK_REFERENCE.md +358 -0
- package/skills-library/methodology/SDFT_ONPOLICY_SELF_DISTILLATION.md +186 -0
- package/skills-library/methodology/SELF_QUESTIONING_TASK_GENERATION.md +270 -0
- package/skills-library/methodology/SESSION_COMPLETION_SUMMARY.md +304 -0
- package/skills-library/methodology/SESSION_SUMMARY.md +432 -0
- package/skills-library/methodology/WARRIOR_WORKFLOW_DEBUGGING_PROTOCOL.md +252 -0
- package/skills-library/methodology/tech-debt-tracker.md +570 -0
- package/skills-library/parallel-debug/SKILL.md +60 -0
- package/skills-library/patterns-standards/API_PATTERN_FIX_SUMMARY.md +236 -0
- package/skills-library/patterns-standards/BATCH_OPERATIONS_WITH_PROGRESS_MODAL.md +362 -0
- package/skills-library/patterns-standards/CRITICAL_CODING_PATTERNS.md +639 -0
- package/skills-library/patterns-standards/DARK_MODE_MODAL_VISIBILITY.md +258 -0
- package/skills-library/patterns-standards/ERROR_RESILIENCE_IMPLEMENTATION.md +375 -0
- package/skills-library/patterns-standards/ES_MODULE_IMPORT_HOISTING_DOTENV.md +298 -0
- package/skills-library/patterns-standards/NESTED_BACKDROP_FILTER_CSS_ARTIFACT_FIX.md +76 -0
- package/skills-library/patterns-standards/ORDERED_DETECTOR_PIPELINE_GRACEFUL_FALLBACK.md +333 -0
- package/skills-library/patterns-standards/PHASE_IMPORT_ERROR_DEBUGGING.md +271 -0
- package/skills-library/patterns-standards/PYNPUT_GLOBAL_HOTKEY_VK_MATCHING.md +252 -0
- package/skills-library/patterns-standards/REACT_USEEFFECT_CASCADE_RESET_FIX.md +132 -0
- package/skills-library/patterns-standards/SUBMENU_HOVER_DROPDOWN_PATTERN.md +225 -0
- package/skills-library/patterns-standards/TAILWIND_TEXT_VISIBILITY_OVERRIDE.md +322 -0
- package/skills-library/patterns-standards/THEME_AWARE_CSS_VARIABLES_PATTERN.md +209 -0
- package/skills-library/patterns-standards/THEME_USER_OBJECT_PROPERTY_NAMING.md +194 -0
- package/skills-library/patterns-standards/TOOLTIP_BLOCKING_CLICKS_FIX.md +267 -0
- package/skills-library/patterns-standards/claude-code-plugin-structure.md +235 -0
- package/skills-library/patterns-standards/react-i18next-setup.md +429 -0
- package/skills-library/patterns-standards/thesys-c1-generative-ui-integration.md +967 -0
- package/skills-library/plugin-development/CLAUDE_CODE_COMMAND_REGISTRATION_SILENT_FAILURE.md +315 -0
- package/skills-library/plugin-development/plugin-command-namespace-vs-global.md +390 -0
- package/skills-library/plugin-development/plugin-doc-auto-generation.md +172 -0
- package/skills-library/security/GITHUB_REPO_SECURITY_AUDIT.md +115 -0
- package/skills-library/security/admin-deletion-safety.md +396 -0
- package/skills-library/security/application-vuln-patterns.md +477 -0
- package/skills-library/security/env-secrets-manager.md +686 -0
- package/skills-library/security/secure-ai-application-templates.md +347 -0
- package/skills-library/security/sql-injection-prevention-postgresjs.md +151 -0
- package/skills-library/supabase-connection-pooler-fix.md +102 -0
- package/skills-library/system-context/POWERSHELL_BASH_INTEROP.md +82 -0
- package/skills-library/system-context/SERVICE_LIFECYCLE_MANAGEMENT.md +119 -0
- package/skills-library/system-context/SKILL.md +40 -0
- package/skills-library/system-context/WINDOWS_DEV_ENVIRONMENT.md +73 -0
- package/skills-library/testing/E2E_PLAYWRIGHT_PATTERNS.md +99 -0
- package/skills-library/testing/INTEGRATION_TEST_STRATEGY.md +82 -0
- package/skills-library/testing/RED_GREEN_BUGFIX_GATE.md +203 -0
- package/skills-library/testing/TEST_DATA_MANAGEMENT.md +69 -0
- package/skills-library/testing/VITEST_UNIT_TEST_PATTERNS.md +75 -0
- package/skills-library/testing/playwright-api-security-tests.md +202 -0
- package/skills-library/toolbox/SKILL.md +84 -0
- package/skills-library/toolbox/code-graph-and-web-scraping-mcps.md +237 -0
- package/skills-library/ui-ux-pro-max/ACCESSIBILITY_ESSENTIALS.md +115 -0
- package/skills-library/ui-ux-pro-max/DESIGN_SYSTEM_SCAFFOLDING.md +133 -0
- package/skills-library/ui-ux-pro-max/RESPONSIVE_LAYOUT_PATTERNS.md +119 -0
- package/skills-library/ui-ux-pro-max/SKILL.md +386 -0
- package/skills-library/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills-library/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills-library/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills-library/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills-library/ui-ux-pro-max/data/products.csv +97 -0
- package/skills-library/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills-library/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills-library/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills-library/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills-library/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills-library/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills-library/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills-library/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills-library/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills-library/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills-library/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills-library/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills-library/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills-library/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills-library/ui-ux-pro-max/data/styles.csv +68 -0
- package/skills-library/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills-library/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills-library/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills-library/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills-library/wordpress-style-theme-components.md +1526 -0
- package/templates/ASSUMPTIONS.md +1 -1
- package/templates/DECISION_LOG.md +0 -1
- package/templates/phase-prompt.md +1 -1
- package/templates/phoenix-comparison.md +6 -6
- package/templates/skill-api-integration.md +106 -0
- package/templates/skill-architecture-pattern.md +92 -0
- package/templates/skill-debug-pattern.md +98 -0
- package/templates/skill-devops-recipe.md +107 -0
- package/templates/skill-general.md +65 -0
- package/templates/skill-ui-component.md +113 -0
- package/tools/uat-runner.py +179 -0
- package/version.json +7 -3
- package/workflows/handoff-session.md +2 -2
- package/workflows/new-project.md +2 -2
- package/workflows/plan-phase.md +1 -1
- package/.claude-plugin/plugin.json +0 -64
- package/skills-library/_general/methodology/LIVE_BREADCRUMB_PROTOCOL.md +0 -242
- package/skills-library/_general/methodology/llm-judge-memory-crud.md +0 -241
- package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +0 -183
- package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +0 -263
- package/skills-library/methodology/SABBATH_REST_PATTERN.md +0 -267
- package/skills-library/methodology/STONE_AND_SCAFFOLD.md +0 -220
- package/skills-library/specialists/api-architecture/api-designer.md +0 -49
- package/skills-library/specialists/api-architecture/graphql-architect.md +0 -49
- package/skills-library/specialists/api-architecture/mcp-developer.md +0 -51
- package/skills-library/specialists/api-architecture/microservices-architect.md +0 -50
- package/skills-library/specialists/api-architecture/websocket-engineer.md +0 -48
- package/skills-library/specialists/backend/django-expert.md +0 -52
- package/skills-library/specialists/backend/fastapi-expert.md +0 -52
- package/skills-library/specialists/backend/laravel-specialist.md +0 -52
- package/skills-library/specialists/backend/nestjs-expert.md +0 -51
- package/skills-library/specialists/backend/rails-expert.md +0 -53
- package/skills-library/specialists/backend/spring-boot-engineer.md +0 -56
- package/skills-library/specialists/data-ml/fine-tuning-expert.md +0 -48
- package/skills-library/specialists/data-ml/ml-pipeline.md +0 -47
- package/skills-library/specialists/data-ml/pandas-pro.md +0 -47
- package/skills-library/specialists/data-ml/rag-architect.md +0 -51
- package/skills-library/specialists/data-ml/spark-engineer.md +0 -47
- package/skills-library/specialists/frontend/angular-architect.md +0 -52
- package/skills-library/specialists/frontend/flutter-expert.md +0 -51
- package/skills-library/specialists/frontend/nextjs-developer.md +0 -54
- package/skills-library/specialists/frontend/react-native-expert.md +0 -50
- package/skills-library/specialists/frontend/vue-expert.md +0 -51
- package/skills-library/specialists/infrastructure/chaos-engineer.md +0 -74
- package/skills-library/specialists/infrastructure/cloud-architect.md +0 -70
- package/skills-library/specialists/infrastructure/database-optimizer.md +0 -64
- package/skills-library/specialists/infrastructure/devops-engineer.md +0 -70
- package/skills-library/specialists/infrastructure/kubernetes-specialist.md +0 -52
- package/skills-library/specialists/infrastructure/monitoring-expert.md +0 -70
- package/skills-library/specialists/infrastructure/sre-engineer.md +0 -70
- package/skills-library/specialists/infrastructure/terraform-engineer.md +0 -51
- package/skills-library/specialists/languages/cpp-pro.md +0 -74
- package/skills-library/specialists/languages/csharp-developer.md +0 -69
- package/skills-library/specialists/languages/dotnet-core-expert.md +0 -54
- package/skills-library/specialists/languages/golang-pro.md +0 -51
- package/skills-library/specialists/languages/java-architect.md +0 -49
- package/skills-library/specialists/languages/javascript-pro.md +0 -68
- package/skills-library/specialists/languages/kotlin-specialist.md +0 -68
- package/skills-library/specialists/languages/php-pro.md +0 -49
- package/skills-library/specialists/languages/python-pro.md +0 -52
- package/skills-library/specialists/languages/react-expert.md +0 -51
- package/skills-library/specialists/languages/rust-engineer.md +0 -50
- package/skills-library/specialists/languages/sql-pro.md +0 -56
- package/skills-library/specialists/languages/swift-expert.md +0 -69
- package/skills-library/specialists/languages/typescript-pro.md +0 -51
- package/skills-library/specialists/platform/atlassian-mcp.md +0 -52
- package/skills-library/specialists/platform/embedded-systems.md +0 -53
- package/skills-library/specialists/platform/game-developer.md +0 -53
- package/skills-library/specialists/platform/salesforce-developer.md +0 -53
- package/skills-library/specialists/platform/shopify-expert.md +0 -49
- package/skills-library/specialists/platform/wordpress-pro.md +0 -49
- package/skills-library/specialists/quality/code-documenter.md +0 -51
- package/skills-library/specialists/quality/code-reviewer.md +0 -67
- package/skills-library/specialists/quality/debugging-wizard.md +0 -51
- package/skills-library/specialists/quality/fullstack-guardian.md +0 -51
- package/skills-library/specialists/quality/legacy-modernizer.md +0 -50
- package/skills-library/specialists/quality/playwright-expert.md +0 -65
- package/skills-library/specialists/quality/spec-miner.md +0 -56
- package/skills-library/specialists/quality/test-master.md +0 -65
- package/skills-library/specialists/security/secure-code-guardian.md +0 -55
- package/skills-library/specialists/security/security-reviewer.md +0 -53
- package/skills-library/specialists/workflow/architecture-designer.md +0 -53
- package/skills-library/specialists/workflow/cli-developer.md +0 -70
- package/skills-library/specialists/workflow/feature-forge.md +0 -65
- package/skills-library/specialists/workflow/prompt-engineer.md +0 -54
- package/skills-library/specialists/workflow/the-fool.md +0 -62
- /package/skills-library/{performance → _general/performance}/cache-augmented-generation.md +0 -0
- /package/skills-library/{debugging → parallel-debug}/FAILURE_TAXONOMY_CLASSIFICATION.md +0 -0
- /package/skills-library/{debugging → parallel-debug}/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +0 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
# Schema Migration Guide - SUPABASE_SCHEMA.sql Updates
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The updated `SUPABASE_SCHEMA.sql` now includes:
|
|
6
|
+
- **Original 10 core tables** (profiles, courses, sections, modules, lessons, assessments, student_assessments, enrollments, lesson_progress, payments, subscriptions, certificates, zoom_meetings, integrations, community_posts, community_replies, roles)
|
|
7
|
+
- **17 additional production tables** discovered in your live Supabase database
|
|
8
|
+
- **2 supporting tables** (communities, events) referenced by the new tables
|
|
9
|
+
- **Complete index set** for optimal query performance
|
|
10
|
+
|
|
11
|
+
## Critical Fixes Applied
|
|
12
|
+
|
|
13
|
+
### 1. **Fixed: community_replies Foreign Key Error**
|
|
14
|
+
**Error:** `column "post_id" does not exist`
|
|
15
|
+
|
|
16
|
+
**Before (BROKEN):**
|
|
17
|
+
```sql
|
|
18
|
+
CREATE TABLE community_replies (
|
|
19
|
+
post_id uuid NOT NULL REFERENCES community_posts(id) ON DELETE CASCADE,
|
|
20
|
+
...
|
|
21
|
+
);
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**After (FIXED):**
|
|
25
|
+
```sql
|
|
26
|
+
CREATE TABLE community_replies (
|
|
27
|
+
id uuid NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
|
|
28
|
+
post_id uuid NOT NULL REFERENCES community_posts(id) ON DELETE CASCADE,
|
|
29
|
+
user_id uuid NOT NULL REFERENCES profiles(id) ON DELETE CASCADE,
|
|
30
|
+
content text NOT NULL,
|
|
31
|
+
...
|
|
32
|
+
);
|
|
33
|
+
```
|
|
34
|
+
✅ **Status:** FIXED - post_id now correctly references community_posts table
|
|
35
|
+
|
|
36
|
+
### 2. **Standardized Timestamp Syntax**
|
|
37
|
+
**Changed:** `timestamp with time zone` → `timestamptz`
|
|
38
|
+
|
|
39
|
+
- **Reason:** Supabase PostgreSQL uses `timestamptz` as the standard shorthand
|
|
40
|
+
- **Impact:** Better compatibility, cleaner code
|
|
41
|
+
- **Applied to:** All 30+ tables
|
|
42
|
+
|
|
43
|
+
### 3. **Added Missing Supporting Tables**
|
|
44
|
+
**Two tables were referenced but not defined:**
|
|
45
|
+
- `communities` - Referenced by community_members, community_discussions, drip_feed_schedule
|
|
46
|
+
- `events` - Referenced by tickets, ticket_orders, ticket_qr_logs
|
|
47
|
+
|
|
48
|
+
✅ **Status:** Both now created with full schema
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## New Production Tables (17 Total)
|
|
53
|
+
|
|
54
|
+
### User & Role Management
|
|
55
|
+
1. **user_roles** - Maps users to roles (admin, instructor, user)
|
|
56
|
+
- Composite PK: (user_id, role_id)
|
|
57
|
+
- Tracks when role was assigned
|
|
58
|
+
|
|
59
|
+
2. **communities** - Community/discussion groups
|
|
60
|
+
- Supports public/private/closed privacy
|
|
61
|
+
- Tracks member and discussion counts
|
|
62
|
+
- Associated with courses or standalone
|
|
63
|
+
|
|
64
|
+
### Assessment & Attempts
|
|
65
|
+
3. **student_assessment_attempts** - Individual quiz attempts
|
|
66
|
+
- Tracks each attempt separately (multiple attempts support)
|
|
67
|
+
- Stores score, status, submission time
|
|
68
|
+
- Includes legacy_payload for backward compatibility
|
|
69
|
+
|
|
70
|
+
4. **student_assessment_answers** - Per-question answers
|
|
71
|
+
- Links to specific attempt
|
|
72
|
+
- Stores answer, question_id, correctness
|
|
73
|
+
- Enables detailed answer review
|
|
74
|
+
|
|
75
|
+
### Reviews & Ratings
|
|
76
|
+
5. **course_reviews** - Student reviews of courses
|
|
77
|
+
- Rating: 1-5 stars with CHECK constraint
|
|
78
|
+
- User can write review text
|
|
79
|
+
- Timestamps track creation/updates
|
|
80
|
+
|
|
81
|
+
### Community Features (7 tables)
|
|
82
|
+
6. **community_members** - Membership tracking
|
|
83
|
+
- Role: member, moderator, admin
|
|
84
|
+
- Status: active, pending, banned, left
|
|
85
|
+
- Tracks join date
|
|
86
|
+
|
|
87
|
+
7. **community_discussions** - Discussion threads
|
|
88
|
+
- Hierarchical: parent_id supports nested replies
|
|
89
|
+
- Soft delete support (is_deleted, deleted_at)
|
|
90
|
+
- Tracks pins, locks, reply/like counts
|
|
91
|
+
|
|
92
|
+
8. **community_reactions** - Emoji reactions
|
|
93
|
+
- Supports reactions on discussions and replies
|
|
94
|
+
- Flexible reaction_type field
|
|
95
|
+
- Minimal metadata storage
|
|
96
|
+
|
|
97
|
+
9. **community_notifications** - Activity notifications
|
|
98
|
+
- Event-based (mention, reply, reaction, etc.)
|
|
99
|
+
- Multi-channel delivery tracking
|
|
100
|
+
- Read status and delivered timestamp
|
|
101
|
+
|
|
102
|
+
10. **community_tags** - Discussion tags/categories
|
|
103
|
+
- Slug for URL-friendly names
|
|
104
|
+
- Metadata for flexible attributes
|
|
105
|
+
|
|
106
|
+
11. **community_discussion_tags** - Tag assignments
|
|
107
|
+
- Maps tags to discussions
|
|
108
|
+
- Tracks who assigned tag and when
|
|
109
|
+
|
|
110
|
+
12. **community_moderation** - Report & action tracking
|
|
111
|
+
- Report targets: discussions, replies, reactions, members
|
|
112
|
+
- Status tracking (open → resolved)
|
|
113
|
+
- Detailed action logging
|
|
114
|
+
|
|
115
|
+
### Ticketing System (3 tables)
|
|
116
|
+
13. **tickets** - Individual tickets for events
|
|
117
|
+
- QR code support for entry
|
|
118
|
+
- Seat info for seating
|
|
119
|
+
- is_sold flag for inventory
|
|
120
|
+
|
|
121
|
+
14. **ticket_orders** - Bulk ticket purchases
|
|
122
|
+
- Multiple tickets per order
|
|
123
|
+
- Stripe integration ready
|
|
124
|
+
- Tracks currency and amounts
|
|
125
|
+
|
|
126
|
+
15. **ticket_qr_logs** - QR scan tracking
|
|
127
|
+
- Entry/exit logging
|
|
128
|
+
- Location tracking
|
|
129
|
+
- Scan timestamp and operator
|
|
130
|
+
|
|
131
|
+
### Drip-Feed Content Release (2 tables)
|
|
132
|
+
16. **drip_feed_schedule** - Release schedule rules
|
|
133
|
+
- Date-based or relative scheduling
|
|
134
|
+
- Relative to enrollment date or lessons completed
|
|
135
|
+
- Can be disabled per course
|
|
136
|
+
|
|
137
|
+
17. **drip_feed_access** - Per-user access tracking
|
|
138
|
+
- Tracks when content was released for each user
|
|
139
|
+
- Records whether user has accessed
|
|
140
|
+
- Supports module, lesson, or course level
|
|
141
|
+
|
|
142
|
+
### Course Progression (1 table)
|
|
143
|
+
**user_progression** - Progress tracking per course
|
|
144
|
+
- Current lesson position
|
|
145
|
+
- Completion counters
|
|
146
|
+
- Progression blocking (prerequisites, etc.)
|
|
147
|
+
- Timestamps for analysis
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Migration Strategies
|
|
152
|
+
|
|
153
|
+
### Strategy A: Start Fresh (Easiest)
|
|
154
|
+
**Best for:** New projects, development environments
|
|
155
|
+
|
|
156
|
+
1. Drop all existing tables
|
|
157
|
+
2. Run new `SUPABASE_SCHEMA.sql`
|
|
158
|
+
3. Re-seed initial data
|
|
159
|
+
|
|
160
|
+
```sql
|
|
161
|
+
-- Drop existing schema (WARNING: destroys all data)
|
|
162
|
+
DROP SCHEMA public CASCADE;
|
|
163
|
+
CREATE SCHEMA public;
|
|
164
|
+
|
|
165
|
+
-- Then paste and run SUPABASE_SCHEMA.sql
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Strategy B: Gradual Migration (Production-Safe)
|
|
169
|
+
**Best for:** Live databases with existing data
|
|
170
|
+
|
|
171
|
+
**Phase 1:** Verify compatibility
|
|
172
|
+
```sql
|
|
173
|
+
-- Check what already exists
|
|
174
|
+
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
|
|
175
|
+
|
|
176
|
+
-- Compare with schema expectations
|
|
177
|
+
-- New tables needed: user_roles, student_assessment_attempts, etc.
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Phase 2:** Create new tables individually
|
|
181
|
+
```sql
|
|
182
|
+
-- Run schema file in sections, skipping CREATE TABLE IF NOT EXISTS statements for existing tables
|
|
183
|
+
-- Or create wrapper script that checks existence first
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**Phase 3:** Migrate data (if needed)
|
|
187
|
+
```sql
|
|
188
|
+
-- Example: Copy from old table structure to new
|
|
189
|
+
-- This depends on your specific schema differences
|
|
190
|
+
INSERT INTO student_assessment_attempts (student_id, assessment_id, score, ...)
|
|
191
|
+
SELECT student_id, assessment_id, score, ... FROM old_assessments_table;
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Strategy C: Dual Schema (Zero Downtime)
|
|
195
|
+
**Best for:** Complex production migrations
|
|
196
|
+
|
|
197
|
+
1. Create new schema as `public_v2`
|
|
198
|
+
2. Migrate data gradually using ETL
|
|
199
|
+
3. Switch over during maintenance window
|
|
200
|
+
4. Keep old schema for rollback
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Column Naming Conventions
|
|
205
|
+
|
|
206
|
+
### Standardized Across Schema:
|
|
207
|
+
- **Primary Keys:** All tables use `id uuid PRIMARY KEY`
|
|
208
|
+
- **Foreign Keys:** Follow naming pattern `{table}_id` (e.g., `user_id`, `course_id`)
|
|
209
|
+
- **Timestamps:** Always `timestamptz` (timezone-aware)
|
|
210
|
+
- **Default timestamps:** `created_at`, `updated_at`
|
|
211
|
+
|
|
212
|
+
### Special Cases:
|
|
213
|
+
- **student_id vs user_id:**
|
|
214
|
+
- `student_id` = enrollee taking course (student_assessments, drip_feed_access, user_progression)
|
|
215
|
+
- `user_id` = generic profile reference (enrollments, lesson_progress, payments)
|
|
216
|
+
- ⚠️ **Ensure application code matches these names**
|
|
217
|
+
|
|
218
|
+
- **Soft deletes:**
|
|
219
|
+
- `is_deleted boolean DEFAULT false` (community_discussions)
|
|
220
|
+
- `deleted_at timestamptz` (timestamp when deleted)
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Performance Indexes
|
|
225
|
+
|
|
226
|
+
All new tables include strategic indexes on:
|
|
227
|
+
- Foreign key columns (FK lookup performance)
|
|
228
|
+
- Frequently queried columns (user_id, course_id, community_id)
|
|
229
|
+
- Composite indexes (e.g., drip_feed_access on user_id, course_id)
|
|
230
|
+
|
|
231
|
+
**Total new indexes:** 25+
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Validation Checklist
|
|
236
|
+
|
|
237
|
+
After running schema:
|
|
238
|
+
|
|
239
|
+
```sql
|
|
240
|
+
-- 1. Verify all 30+ tables exist
|
|
241
|
+
SELECT COUNT(*) FROM information_schema.tables
|
|
242
|
+
WHERE table_schema = 'public' AND table_type = 'BASE TABLE';
|
|
243
|
+
-- Expected: ~30 tables
|
|
244
|
+
|
|
245
|
+
-- 2. Check foreign key constraints
|
|
246
|
+
SELECT table_name, constraint_name
|
|
247
|
+
FROM information_schema.table_constraints
|
|
248
|
+
WHERE table_schema = 'public' AND constraint_type = 'FOREIGN KEY'
|
|
249
|
+
ORDER BY table_name;
|
|
250
|
+
|
|
251
|
+
-- 3. Verify indexes created
|
|
252
|
+
SELECT COUNT(*) FROM information_schema.statistics
|
|
253
|
+
WHERE table_schema = 'public' AND index_name LIKE 'idx_%';
|
|
254
|
+
-- Expected: 25+ indexes
|
|
255
|
+
|
|
256
|
+
-- 4. Test specific table
|
|
257
|
+
SELECT * FROM student_assessment_attempts LIMIT 0;
|
|
258
|
+
-- Should return empty result set (table exists)
|
|
259
|
+
|
|
260
|
+
-- 5. Verify roles seeded
|
|
261
|
+
SELECT * FROM roles;
|
|
262
|
+
-- Expected: user, instructor, admin rows
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Code Updates Required
|
|
268
|
+
|
|
269
|
+
### If upgrading existing application:
|
|
270
|
+
|
|
271
|
+
1. **Check all SQL queries** for:
|
|
272
|
+
- References to old table names (if any changed)
|
|
273
|
+
- References to old column names
|
|
274
|
+
- Old timestamp format usage
|
|
275
|
+
|
|
276
|
+
2. **Update ORM/Query Builders** (if applicable):
|
|
277
|
+
- Ensure models reference new tables
|
|
278
|
+
- Add models for new tables you're using (user_roles, drip_feed_access, etc.)
|
|
279
|
+
|
|
280
|
+
3. **Application Code Changes:**
|
|
281
|
+
- If using `student_id` instead of `user_id` in assessments (now standardized)
|
|
282
|
+
- New API endpoints for new tables (communities, tickets, etc.)
|
|
283
|
+
|
|
284
|
+
### Example Node.js/Express model reference:
|
|
285
|
+
```javascript
|
|
286
|
+
// Old references (may be in your code)
|
|
287
|
+
const studentAssessments = await db.query(
|
|
288
|
+
'SELECT * FROM student_assessments WHERE user_id = $1'
|
|
289
|
+
);
|
|
290
|
+
// ❌ WRONG - should use student_id
|
|
291
|
+
|
|
292
|
+
// Corrected
|
|
293
|
+
const studentAssessments = await db.query(
|
|
294
|
+
'SELECT * FROM student_assessments WHERE student_id = $1'
|
|
295
|
+
);
|
|
296
|
+
// ✅ CORRECT
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Rollback Plan
|
|
302
|
+
|
|
303
|
+
If issues occur:
|
|
304
|
+
|
|
305
|
+
1. **Before migration:** Export data
|
|
306
|
+
```sql
|
|
307
|
+
-- Backup current database
|
|
308
|
+
pg_dump -h your-host -U postgres -d your_db > backup.sql
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
2. **If breaking changes:** Restore from backup
|
|
312
|
+
```sql
|
|
313
|
+
psql -h your-host -U postgres -d your_db < backup.sql
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
3. **Partial rollback:** Drop only new tables
|
|
317
|
+
```sql
|
|
318
|
+
DROP TABLE IF EXISTS user_roles, student_assessment_attempts, ... CASCADE;
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Support & Troubleshooting
|
|
324
|
+
|
|
325
|
+
### Common Errors:
|
|
326
|
+
|
|
327
|
+
**Error:** `relation "community_posts" already exists`
|
|
328
|
+
- **Cause:** Schema already partially applied
|
|
329
|
+
- **Fix:** Drop existing tables or use `IF NOT EXISTS` (already in schema)
|
|
330
|
+
|
|
331
|
+
**Error:** `violates foreign key constraint`
|
|
332
|
+
- **Cause:** Foreign key reference to non-existent table
|
|
333
|
+
- **Fix:** Ensure supporting tables (communities, events) created first
|
|
334
|
+
- **Solution:** This schema creates them in correct order ✅
|
|
335
|
+
|
|
336
|
+
**Error:** `column "post_id" does not exist`
|
|
337
|
+
- **Cause:** Old schema file without proper community_replies structure
|
|
338
|
+
- **Fix:** Use updated schema file ✅ (already fixed)
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Timeline & Testing
|
|
343
|
+
|
|
344
|
+
### Recommended Testing Sequence:
|
|
345
|
+
|
|
346
|
+
1. **Development:** Test new schema in dev environment
|
|
347
|
+
2. **Staging:** Run full schema against staging database
|
|
348
|
+
3. **Testing:** Verify all 30+ tables exist with correct constraints
|
|
349
|
+
4. **Production:** Apply during maintenance window with backup ready
|
|
350
|
+
5. **Validation:** Run the validation checklist above
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## Next Steps
|
|
355
|
+
|
|
356
|
+
1. ✅ Review updated `SUPABASE_SCHEMA.sql`
|
|
357
|
+
2. ✅ Test in development environment
|
|
358
|
+
3. ✅ Verify all tables create successfully
|
|
359
|
+
4. ✅ Check your application code for any column naming mismatches
|
|
360
|
+
5. ✅ Plan migration strategy (A, B, or C above)
|
|
361
|
+
6. ✅ Apply to staging, then production
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
**Schema Version:** Production-Ready v2 (Oct 2025)
|
|
366
|
+
**Total Tables:** 32 (30 application tables + 2 supporting tables)
|
|
367
|
+
**Total Indexes:** 25+
|
|
368
|
+
**Status:** ✅ All 17 additional tables integrated, all foreign keys verified, ready for deployment
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# 🚨 SCHEMA VERIFICATION - QUICK REFERENCE
|
|
2
|
+
|
|
3
|
+
## ONE MISTAKE THAT COST US 3 ITERATIONS
|
|
4
|
+
|
|
5
|
+
**Problem**: Assumed `profiles` table had `first_name` and `last_name` columns
|
|
6
|
+
**Reality**: It only has a single `name` column
|
|
7
|
+
**Error**: `column p.first_name does not exist`
|
|
8
|
+
**Fix**: Changed to use `p.name` instead
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## ⚡ BEFORE WRITING ANY DATABASE QUERY
|
|
13
|
+
|
|
14
|
+
### Step 1: Run This Command (2 seconds)
|
|
15
|
+
```sql
|
|
16
|
+
SELECT column_name, data_type
|
|
17
|
+
FROM information_schema.columns
|
|
18
|
+
WHERE table_name = 'YOUR_TABLE_NAME'
|
|
19
|
+
ORDER BY ordinal_position;
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Step 2: Copy Output (5 seconds)
|
|
23
|
+
See actual column names and types
|
|
24
|
+
|
|
25
|
+
### Step 3: THEN Write Code (with accurate names)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 🔴 CRITICAL COLUMN NAMES IN THIS PROJECT
|
|
30
|
+
|
|
31
|
+
| Table | Column Name | ⚠️ WRONG | ✅ RIGHT |
|
|
32
|
+
|-------|-------------|----------|----------|
|
|
33
|
+
| `profiles` | user name | `first_name`, `last_name` | `name` |
|
|
34
|
+
| `profiles` | avatar | `profile_picture` | `avatar_url` |
|
|
35
|
+
| `guest_donor_profiles` | first name | ❌ N/A | `first_name` ✅ |
|
|
36
|
+
| `guest_donor_profiles` | last name | ❌ N/A | `last_name` ✅ |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 🛑 MISTAKES TO AVOID
|
|
41
|
+
|
|
42
|
+
```javascript
|
|
43
|
+
// ❌ NEVER DO THIS
|
|
44
|
+
SELECT p.first_name FROM profiles p // Column doesn't exist!
|
|
45
|
+
SELECT * FROM donations d // Might fail on schema changes
|
|
46
|
+
|
|
47
|
+
// ✅ DO THIS INSTEAD
|
|
48
|
+
SELECT p.name FROM profiles p // Correct column name
|
|
49
|
+
SELECT d.id, d.amount_cents FROM donations d // Explicit columns
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 🔍 IF YOU GET "column X does not exist" ERROR
|
|
55
|
+
|
|
56
|
+
**Immediate steps:**
|
|
57
|
+
1. Run schema verification query above
|
|
58
|
+
2. Check actual column name
|
|
59
|
+
3. Fix the query
|
|
60
|
+
4. Move on
|
|
61
|
+
|
|
62
|
+
**Don't waste time guessing!**
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 📍 WHERE TO FIND THIS
|
|
67
|
+
|
|
68
|
+
- `.claude/skills/DATABASE_SCHEMA_VERIFICATION_GUIDE.md` - Full guide
|
|
69
|
+
- `.claude/skills/WARRIOR_WORKFLOW_DEBUGGING_PROTOCOL.md` - Workflow update
|
|
70
|
+
- `ADMIN_DONATIONS_FIX.md` - Original fix documentation
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## ✅ CHECKBOX FOR EVERY QUERY
|
|
75
|
+
|
|
76
|
+
- [ ] Verified table exists
|
|
77
|
+
- [ ] Listed actual columns
|
|
78
|
+
- [ ] Tested query in SQL editor first
|
|
79
|
+
- [ ] Used correct column names
|
|
80
|
+
- [ ] Added comments showing table sources
|
|
81
|
+
- [ ] Handled NULL values properly
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 💾 Related Files
|
|
86
|
+
|
|
87
|
+
- `server/controllers/adminController.js` - Fixed getDonation function
|
|
88
|
+
- `server/migrations/051_guest_donor_tracking_system.sql` - Schema definitions
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## ⏱️ Time Impact
|
|
93
|
+
|
|
94
|
+
**Without verification**: 3 iterations × 10 minutes = 30 minutes wasted
|
|
95
|
+
**With verification**: 1 iteration × 2 minutes = 2 minutes total
|
|
96
|
+
|
|
97
|
+
**Save 28 minutes by verifying schema first!** ⚡
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
**Session**: 2025-11-23
|
|
102
|
+
**Lesson**: Schema verification is NOT optional
|
|
103
|
+
**Motto**: Verify first, code second
|
|
104
|
+
|