@thierrynakoa/fire-flow 12.2.2 → 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 -690
- package/TROUBLESHOOTING.md +264 -367
- 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-verify-uat.md +9 -177
- 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 -25
- 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/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/browser-use-expert.md +0 -210
- 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,102 @@
|
|
|
1
|
+
# Supabase Connection Pooler - IPv4 Fix
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
VPS cannot connect to Supabase PostgreSQL database. Two errors occur:
|
|
5
|
+
|
|
6
|
+
### Error 1: IPv6 Unreachable (Direct Connection)
|
|
7
|
+
```
|
|
8
|
+
Error: connect ENETUNREACH 2600:1f18:2e13:9d18:88be:d4c9:6b70:87e9:5432
|
|
9
|
+
```
|
|
10
|
+
**Cause:** Direct connection (`db.[project].supabase.co:5432`) resolves to IPv6, but VPS has no IPv6 connectivity.
|
|
11
|
+
|
|
12
|
+
### Error 2: Connection Timeout (Transaction Pooler)
|
|
13
|
+
```
|
|
14
|
+
Error: write CONNECT_TIMEOUT aws-1-us-east-1.pooler.supabase.com:6543
|
|
15
|
+
```
|
|
16
|
+
**Cause:** Transaction pooler on port 6543 may have firewall restrictions or require special configuration.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Solution: Use Session Pooler with URL-Encoded Password
|
|
21
|
+
|
|
22
|
+
### Working Connection String Format
|
|
23
|
+
```
|
|
24
|
+
postgresql://postgres.[PROJECT_REF]:[URL_ENCODED_PASSWORD]@aws-1-us-east-1.pooler.supabase.com:5432/postgres
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Key Points
|
|
28
|
+
|
|
29
|
+
1. **Use Session Pooler (port 5432)** - NOT transaction pooler (port 6543)
|
|
30
|
+
- Session pooler: `pooler.supabase.com:5432`
|
|
31
|
+
- Transaction pooler: `pooler.supabase.com:6543`
|
|
32
|
+
|
|
33
|
+
2. **URL Encode Special Characters in Password**
|
|
34
|
+
- `*` → `%2A`
|
|
35
|
+
- `@` → `%40`
|
|
36
|
+
- `/` → `%2F`
|
|
37
|
+
- `&` → `%26`
|
|
38
|
+
- `#` → `%23`
|
|
39
|
+
|
|
40
|
+
Example: `Jubileess_*7*` → `Jubileess_%2A7%2A`
|
|
41
|
+
|
|
42
|
+
3. **Username Format for Pooler**
|
|
43
|
+
- Direct: `postgres`
|
|
44
|
+
- Pooler: `postgres.[PROJECT_REF]`
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Connection String Comparison
|
|
49
|
+
|
|
50
|
+
### Direct Connection (IPv6 issues)
|
|
51
|
+
```
|
|
52
|
+
postgresql://postgres:PASSWORD@db.[PROJECT].supabase.co:5432/postgres
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Transaction Pooler (may timeout)
|
|
56
|
+
```
|
|
57
|
+
postgresql://postgres.[PROJECT]:PASSWORD@aws-1-us-east-1.pooler.supabase.com:6543/postgres?pgbouncer=true
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Session Pooler (RECOMMENDED for VPS)
|
|
61
|
+
```
|
|
62
|
+
postgresql://postgres.[PROJECT]:URL_ENCODED_PASSWORD@aws-1-us-east-1.pooler.supabase.com:5432/postgres
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## How to Find Your Pooler URL
|
|
68
|
+
|
|
69
|
+
1. Go to Supabase Dashboard
|
|
70
|
+
2. Click "Connect" button
|
|
71
|
+
3. Select "Connection String" tab
|
|
72
|
+
4. Change "Method" dropdown to "Session pooler"
|
|
73
|
+
5. Note: It says "IPv4 compatible" at the bottom
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Verification
|
|
78
|
+
|
|
79
|
+
After updating `.env`, restart the server and check logs:
|
|
80
|
+
```bash
|
|
81
|
+
pm2 restart all
|
|
82
|
+
pm2 logs lms-server --lines 20
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Success indicator:**
|
|
86
|
+
```
|
|
87
|
+
✅ [DATABASE] Connection successful! Supabase PostgreSQL is ready.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Failure indicators:**
|
|
91
|
+
```
|
|
92
|
+
❌ [DATABASE] Failed to connect to Supabase PostgreSQL
|
|
93
|
+
Error: connect ENETUNREACH ... # IPv6 issue
|
|
94
|
+
Error: write CONNECT_TIMEOUT ... # Pooler/firewall issue
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## References
|
|
100
|
+
- [Supabase Connection Management](https://supabase.com/docs/guides/database/connection-management)
|
|
101
|
+
- [Supabase GitHub Discussion #21789](https://github.com/orgs/supabase/discussions/21789)
|
|
102
|
+
- [Supavisor FAQ](https://supabase.com/docs/guides/troubleshooting/supavisor-faq-YyP5tI)
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# cPanel Node.js Application Deployment via PHP Installer
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Deploy Node.js applications on shared cPanel hosting using a WordPress-style PHP installer wizard. This approach enables non-technical users to deploy complex Node.js/React applications without command line access.
|
|
5
|
+
|
|
6
|
+
## Architecture
|
|
7
|
+
|
|
8
|
+
### Two-Phase Deployment
|
|
9
|
+
1. **PHP Installer (Web-Based)** - Collects configuration, tests connections, generates .env
|
|
10
|
+
2. **Node.js Server** - Runs via cPanel's Node.js Selector or PM2
|
|
11
|
+
|
|
12
|
+
### Directory Structure on cPanel
|
|
13
|
+
```
|
|
14
|
+
public_html/
|
|
15
|
+
├── install/ # PHP installer wizard (delete after install)
|
|
16
|
+
│ ├── index.php # Main entry with AJAX handlers
|
|
17
|
+
│ ├── includes/
|
|
18
|
+
│ │ ├── requirements.php
|
|
19
|
+
│ │ └── functions.php
|
|
20
|
+
│ └── steps/
|
|
21
|
+
│ └── step1-13.php
|
|
22
|
+
├── server/ # Node.js backend
|
|
23
|
+
│ ├── server.js
|
|
24
|
+
│ ├── package.json
|
|
25
|
+
│ ├── .env # Generated by installer
|
|
26
|
+
│ └── database/
|
|
27
|
+
│ └── adapters/ # MySQL/PostgreSQL support
|
|
28
|
+
└── client/ # React frontend (built)
|
|
29
|
+
└── dist/
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## SSH Deployment Commands
|
|
33
|
+
|
|
34
|
+
### Initial Upload
|
|
35
|
+
```bash
|
|
36
|
+
# Upload installer
|
|
37
|
+
scp -i "path/to/ssh-key" -r install/ user@host:/home/user/public_html/
|
|
38
|
+
|
|
39
|
+
# Upload server files
|
|
40
|
+
scp -i "path/to/ssh-key" -r server/ user@host:/home/user/public_html/
|
|
41
|
+
|
|
42
|
+
# Upload built client
|
|
43
|
+
scp -i "path/to/ssh-key" -r client/dist/ user@host:/home/user/public_html/client/
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Database Setup via cPanel uapi
|
|
47
|
+
```bash
|
|
48
|
+
# Create database
|
|
49
|
+
uapi Mysql create_database name="user_dbname"
|
|
50
|
+
|
|
51
|
+
# Create user
|
|
52
|
+
uapi Mysql create_user name="user_dbuser" password="SecurePass123!"
|
|
53
|
+
|
|
54
|
+
# Grant privileges
|
|
55
|
+
uapi Mysql set_privileges_on_database user="user_dbuser" database="user_dbname" privileges="ALL PRIVILEGES"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Node.js Setup
|
|
59
|
+
```bash
|
|
60
|
+
# Install dependencies
|
|
61
|
+
cd ~/public_html/server && npm install
|
|
62
|
+
|
|
63
|
+
# Start with PM2
|
|
64
|
+
pm2 start server.js --name "lms-server"
|
|
65
|
+
pm2 save
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## PHP Installer Features
|
|
69
|
+
|
|
70
|
+
### 13-Step Wizard
|
|
71
|
+
1. Welcome
|
|
72
|
+
2. Requirements Check (PHP, Node.js, extensions)
|
|
73
|
+
3. License Key Validation
|
|
74
|
+
4. Database Configuration (MySQL/PostgreSQL toggle)
|
|
75
|
+
5. Site Configuration (name, URL, timezone)
|
|
76
|
+
6. Admin Account Creation
|
|
77
|
+
7. Theme Selection
|
|
78
|
+
8. Organization Details
|
|
79
|
+
9. Branding (logo, colors)
|
|
80
|
+
10. Email Configuration (SMTP/SendGrid)
|
|
81
|
+
11. Summary Review
|
|
82
|
+
12. Installation Progress
|
|
83
|
+
13. Completion
|
|
84
|
+
|
|
85
|
+
### Key PHP Functions
|
|
86
|
+
```php
|
|
87
|
+
// Test database connection
|
|
88
|
+
function testDatabaseConnection($config) {
|
|
89
|
+
$dbType = $config['db_type'] ?? 'mysql';
|
|
90
|
+
$dsn = $dbType === 'mysql'
|
|
91
|
+
? "mysql:host={$host};port={$port};dbname={$name};charset=utf8mb4"
|
|
92
|
+
: "pgsql:host={$host};port={$port};dbname={$name}";
|
|
93
|
+
|
|
94
|
+
$pdo = new PDO($dsn, $user, $pass, [
|
|
95
|
+
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
96
|
+
PDO::ATTR_TIMEOUT => 5
|
|
97
|
+
]);
|
|
98
|
+
return ['success' => true];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Generate .env file
|
|
102
|
+
function generateEnvFile($config) {
|
|
103
|
+
$content = "DB_TYPE=" . $config['db_type'] . "\n";
|
|
104
|
+
$content .= "DB_HOST=" . $config['db_host'] . "\n";
|
|
105
|
+
// ... more variables
|
|
106
|
+
$content .= "JWT_SECRET=" . bin2hex(random_bytes(32)) . "\n";
|
|
107
|
+
return file_put_contents('../server/.env', $content);
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Database Abstraction Layer
|
|
112
|
+
|
|
113
|
+
### Knex.js Cross-Database Support
|
|
114
|
+
```javascript
|
|
115
|
+
// server/database/config.js
|
|
116
|
+
const dbType = process.env.DB_TYPE || 'pg';
|
|
117
|
+
const isSupabase = process.env.DATABASE_URL?.includes('supabase');
|
|
118
|
+
|
|
119
|
+
const config = {
|
|
120
|
+
client: dbType === 'mysql' ? 'mysql2' : 'pg',
|
|
121
|
+
connection: {
|
|
122
|
+
host: process.env.DB_HOST,
|
|
123
|
+
port: process.env.DB_PORT,
|
|
124
|
+
database: process.env.DB_NAME,
|
|
125
|
+
user: process.env.DB_USER,
|
|
126
|
+
password: process.env.DB_PASS,
|
|
127
|
+
ssl: isSupabase ? { rejectUnauthorized: false } : false
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Adapter Pattern
|
|
133
|
+
```javascript
|
|
134
|
+
// PostgreSQL: JSONB, ILIKE, upsert with ON CONFLICT
|
|
135
|
+
// MySQL: JSON columns, CONCAT_WS, REPLACE INTO
|
|
136
|
+
class PostgresAdapter extends BaseAdapter {
|
|
137
|
+
async search(table, column, query) {
|
|
138
|
+
return this.db(table).where(column, 'ilike', `%${query}%`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
class MySQLAdapter extends BaseAdapter {
|
|
143
|
+
async search(table, column, query) {
|
|
144
|
+
return this.db(table).where(column, 'like', `%${query}%`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Troubleshooting
|
|
150
|
+
|
|
151
|
+
### Common Issues
|
|
152
|
+
1. **Node.js not found** - Use cPanel Node.js Selector to register app
|
|
153
|
+
2. **Database connection refused** - Check if localhost or 127.0.0.1 is required
|
|
154
|
+
3. **Permission denied** - Ensure 755 for directories, 644 for files
|
|
155
|
+
4. **SSL errors with Supabase** - Add `ssl: { rejectUnauthorized: false }`
|
|
156
|
+
|
|
157
|
+
### DNS Configuration
|
|
158
|
+
- Remove any conflicting nameservers (e.g., Vercel)
|
|
159
|
+
- Point A record to cPanel server IP
|
|
160
|
+
- Allow 24-48 hours for propagation
|
|
161
|
+
|
|
162
|
+
## Security Reminders
|
|
163
|
+
1. Delete `/install` folder after successful installation
|
|
164
|
+
2. Set restrictive permissions on `.env` file (600)
|
|
165
|
+
3. Use HTTPS in production
|
|
166
|
+
4. Enable cPanel firewall rules
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# 🚢 Deployment Guide
|
|
2
|
+
|
|
3
|
+
This guide covers deploying the Melchizedek Priests Ministry MERN stack application to production.
|
|
4
|
+
|
|
5
|
+
## 📋 Prerequisites
|
|
6
|
+
|
|
7
|
+
- Node.js 18+ installed
|
|
8
|
+
- MongoDB database (MongoDB Atlas recommended)
|
|
9
|
+
- Domain name (optional but recommended)
|
|
10
|
+
- Git repository
|
|
11
|
+
|
|
12
|
+
## 🚀 Quick Deployment Options
|
|
13
|
+
|
|
14
|
+
### Option 1: Vercel + Railway (Recommended)
|
|
15
|
+
|
|
16
|
+
#### Frontend Deployment (Vercel)
|
|
17
|
+
1. **Connect to Vercel**
|
|
18
|
+
```bash
|
|
19
|
+
# Install Vercel CLI
|
|
20
|
+
npm i -g vercel
|
|
21
|
+
|
|
22
|
+
# Login to Vercel
|
|
23
|
+
vercel login
|
|
24
|
+
|
|
25
|
+
# Deploy frontend
|
|
26
|
+
cd client
|
|
27
|
+
vercel --prod
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. **Configure Environment Variables**
|
|
31
|
+
In Vercel dashboard, add:
|
|
32
|
+
```
|
|
33
|
+
VITE_API_URL=https://your-backend-url.vercel.app/api
|
|
34
|
+
VITE_STRIPE_PUBLISHABLE_KEY=pk_live_...
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### Backend Deployment (Railway)
|
|
38
|
+
1. **Connect to Railway**
|
|
39
|
+
- Go to [Railway.app](https://railway.app)
|
|
40
|
+
- Connect your GitHub repository
|
|
41
|
+
- Railway will auto-detect and deploy
|
|
42
|
+
|
|
43
|
+
2. **Environment Variables**
|
|
44
|
+
Set these in Railway:
|
|
45
|
+
```
|
|
46
|
+
NODE_ENV=production
|
|
47
|
+
PORT=5000
|
|
48
|
+
MONGO_URI=mongodb+srv://...
|
|
49
|
+
JWT_SECRET=your-secret-key
|
|
50
|
+
STRIPE_SECRET_KEY=sk_live_...
|
|
51
|
+
EMAIL_USER=your-email@gmail.com
|
|
52
|
+
EMAIL_PASS=your-app-password
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Option 2: Netlify + Render
|
|
56
|
+
|
|
57
|
+
#### Frontend Deployment (Netlify)
|
|
58
|
+
1. **Connect Repository**
|
|
59
|
+
- Go to [Netlify.com](https://netlify.com)
|
|
60
|
+
- Connect GitHub repository
|
|
61
|
+
- Set build command: `npm run build`
|
|
62
|
+
- Set publish directory: `client/dist`
|
|
63
|
+
|
|
64
|
+
2. **Environment Variables**
|
|
65
|
+
```
|
|
66
|
+
VITE_API_URL=https://your-backend.onrender.com/api
|
|
67
|
+
VITE_STRIPE_PUBLISHABLE_KEY=pk_live_...
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
#### Backend Deployment (Render)
|
|
71
|
+
1. **Create Web Service**
|
|
72
|
+
- Go to [Render.com](https://render.com)
|
|
73
|
+
- Create new Web Service
|
|
74
|
+
- Connect GitHub repository
|
|
75
|
+
- Set build command: `npm install`
|
|
76
|
+
- Set start command: `npm start`
|
|
77
|
+
|
|
78
|
+
2. **Environment Variables**
|
|
79
|
+
Same as Railway configuration above.
|
|
80
|
+
|
|
81
|
+
## 🔧 Manual Deployment
|
|
82
|
+
|
|
83
|
+
### 1. Environment Setup
|
|
84
|
+
|
|
85
|
+
Create `.env` files in both `client/` and `server/` directories:
|
|
86
|
+
|
|
87
|
+
**server/.env**
|
|
88
|
+
```env
|
|
89
|
+
NODE_ENV=production
|
|
90
|
+
PORT=5000
|
|
91
|
+
MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/dbname
|
|
92
|
+
JWT_SECRET=your-super-secret-jwt-key
|
|
93
|
+
JWT_EXPIRE=30d
|
|
94
|
+
STRIPE_SECRET_KEY=sk_live_...
|
|
95
|
+
STRIPE_WEBHOOK_SECRET=whsec_...
|
|
96
|
+
EMAIL_USER=your-email@gmail.com
|
|
97
|
+
EMAIL_PASS=your-app-password
|
|
98
|
+
EMAIL_FROM=noreply@melchizedekpriests.com
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**client/.env**
|
|
102
|
+
```env
|
|
103
|
+
VITE_API_URL=https://your-domain.com/api
|
|
104
|
+
VITE_STRIPE_PUBLISHABLE_KEY=pk_live_...
|
|
105
|
+
VITE_APP_NAME=Melchizedek Priests Ministry
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 2. Build Application
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Install all dependencies
|
|
112
|
+
npm run install-all
|
|
113
|
+
|
|
114
|
+
# Build frontend
|
|
115
|
+
npm run build
|
|
116
|
+
|
|
117
|
+
# Start production servers
|
|
118
|
+
npm start
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 3. Server Configuration
|
|
122
|
+
|
|
123
|
+
For production servers, configure:
|
|
124
|
+
|
|
125
|
+
**Nginx Configuration** (`/etc/nginx/sites-available/melchizedekpriests.com`)
|
|
126
|
+
```nginx
|
|
127
|
+
server {
|
|
128
|
+
listen 80;
|
|
129
|
+
server_name melchizedekpriests.com www.melchizedekpriests.com;
|
|
130
|
+
|
|
131
|
+
location / {
|
|
132
|
+
proxy_pass http://localhost:3000;
|
|
133
|
+
proxy_http_version 1.1;
|
|
134
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
135
|
+
proxy_set_header Connection 'upgrade';
|
|
136
|
+
proxy_set_header Host $host;
|
|
137
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
138
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
139
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
140
|
+
proxy_cache_bypass $http_upgrade;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
location /api {
|
|
144
|
+
proxy_pass http://localhost:5000;
|
|
145
|
+
proxy_http_version 1.1;
|
|
146
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
147
|
+
proxy_set_header Connection 'upgrade';
|
|
148
|
+
proxy_set_header Host $host;
|
|
149
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
150
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
151
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
152
|
+
proxy_cache_bypass $http_upgrade;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**PM2 Configuration** (`ecosystem.config.js`)
|
|
158
|
+
```javascript
|
|
159
|
+
module.exports = {
|
|
160
|
+
apps: [
|
|
161
|
+
{
|
|
162
|
+
name: 'melchizedek-client',
|
|
163
|
+
script: 'npm start',
|
|
164
|
+
cwd: '/path/to/client',
|
|
165
|
+
env: {
|
|
166
|
+
NODE_ENV: 'production',
|
|
167
|
+
PORT: 3000
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
name: 'melchizedek-server',
|
|
172
|
+
script: 'npm start',
|
|
173
|
+
cwd: '/path/to/server',
|
|
174
|
+
env: {
|
|
175
|
+
NODE_ENV: 'production',
|
|
176
|
+
PORT: 5000
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
};
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## 🔒 Security Checklist
|
|
184
|
+
|
|
185
|
+
- [ ] HTTPS enabled (Let's Encrypt recommended)
|
|
186
|
+
- [ ] Environment variables properly set
|
|
187
|
+
- [ ] Database secured with IP whitelisting
|
|
188
|
+
- [ ] JWT secrets are strong and unique
|
|
189
|
+
- [ ] CORS configured for production domain
|
|
190
|
+
- [ ] Rate limiting implemented
|
|
191
|
+
- [ ] Security headers set (helmet.js)
|
|
192
|
+
- [ ] Regular security updates scheduled
|
|
193
|
+
|
|
194
|
+
## 📊 Monitoring & Maintenance
|
|
195
|
+
|
|
196
|
+
### Health Checks
|
|
197
|
+
- Frontend: `https://yourdomain.com/health`
|
|
198
|
+
- Backend: `https://yourdomain.com/api/health`
|
|
199
|
+
|
|
200
|
+
### Logs
|
|
201
|
+
```bash
|
|
202
|
+
# PM2 logs
|
|
203
|
+
pm2 logs
|
|
204
|
+
|
|
205
|
+
# Nginx logs
|
|
206
|
+
sudo tail -f /var/log/nginx/access.log
|
|
207
|
+
sudo tail -f /var/log/nginx/error.log
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Database Backups
|
|
211
|
+
```bash
|
|
212
|
+
# MongoDB Atlas automatic backups recommended
|
|
213
|
+
# Or manual backup script
|
|
214
|
+
mongodump --db yourdb --out /path/to/backup/$(date +%Y%m%d)
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## 🚨 Troubleshooting
|
|
218
|
+
|
|
219
|
+
### Common Issues
|
|
220
|
+
|
|
221
|
+
**Build Fails**
|
|
222
|
+
```bash
|
|
223
|
+
# Clear cache and rebuild
|
|
224
|
+
rm -rf node_modules client/node_modules server/node_modules
|
|
225
|
+
npm run install-all
|
|
226
|
+
npm run build
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**Database Connection Issues**
|
|
230
|
+
- Check MongoDB Atlas IP whitelist
|
|
231
|
+
- Verify connection string format
|
|
232
|
+
- Test connection with MongoDB Compass
|
|
233
|
+
|
|
234
|
+
**Environment Variables**
|
|
235
|
+
```bash
|
|
236
|
+
# Check if variables are loaded
|
|
237
|
+
node -e "console.log(process.env)"
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**CORS Issues**
|
|
241
|
+
- Update CORS origins in server config
|
|
242
|
+
- Check for http vs https mismatches
|
|
243
|
+
|
|
244
|
+
## 📞 Support
|
|
245
|
+
|
|
246
|
+
For deployment issues:
|
|
247
|
+
- Check application logs
|
|
248
|
+
- Verify environment variables
|
|
249
|
+
- Test API endpoints with Postman
|
|
250
|
+
- Contact [support@melchizedekpriests.com](mailto:support@melchizedekpriests.com)
|
|
251
|
+
|
|
252
|
+
## 🔄 Updates & Rollbacks
|
|
253
|
+
|
|
254
|
+
### Zero-Downtime Updates
|
|
255
|
+
```bash
|
|
256
|
+
# Update code
|
|
257
|
+
git pull origin main
|
|
258
|
+
|
|
259
|
+
# Install dependencies
|
|
260
|
+
npm run install-all
|
|
261
|
+
|
|
262
|
+
# Build and restart
|
|
263
|
+
npm run build
|
|
264
|
+
pm2 restart all
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Rollback
|
|
268
|
+
```bash
|
|
269
|
+
# Rollback to previous commit
|
|
270
|
+
git log --oneline -10
|
|
271
|
+
git checkout <commit-hash>
|
|
272
|
+
npm run install-all
|
|
273
|
+
npm run build
|
|
274
|
+
pm2 restart all
|
|
275
|
+
```
|