@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.
Files changed (501) hide show
  1. package/CREDITS.md +25 -0
  2. package/DOMINION-FLOW-OVERVIEW.md +182 -38
  3. package/README.md +399 -690
  4. package/TROUBLESHOOTING.md +264 -367
  5. package/agents/fire-debugger.md +54 -0
  6. package/agents/fire-executor.md +1610 -1033
  7. package/agents/fire-fact-checker.md +1 -1
  8. package/agents/fire-planner.md +85 -17
  9. package/agents/fire-project-researcher.md +1 -1
  10. package/agents/fire-researcher.md +4 -22
  11. package/agents/{fire-phoenix-analyst.md → fire-resurrection-analyst.md} +394 -394
  12. package/agents/fire-reviewer.md +552 -499
  13. package/agents/fire-verifier.md +114 -19
  14. package/bin/cli.js +18 -101
  15. package/commands/fire-0-orient.md +2 -2
  16. package/commands/fire-1a-new.md +50 -15
  17. package/commands/fire-1c-setup.md +33 -5
  18. package/commands/fire-1d-discuss.md +87 -1
  19. package/commands/fire-2-plan.md +556 -527
  20. package/commands/fire-3-execute.md +2046 -1356
  21. package/commands/fire-4-verify.md +975 -906
  22. package/commands/fire-5-handoff.md +46 -5
  23. package/commands/fire-6-resume.md +2 -31
  24. package/commands/fire-add-new-skill.md +138 -19
  25. package/commands/fire-autonomous.md +14 -2
  26. package/commands/fire-complete-milestone.md +1 -1
  27. package/commands/fire-cost.md +179 -183
  28. package/commands/fire-debug.md +1 -6
  29. package/commands/fire-loop-resume.md +2 -2
  30. package/commands/fire-loop-stop.md +1 -1
  31. package/commands/fire-loop.md +2 -15
  32. package/commands/fire-map-codebase.md +1 -1
  33. package/commands/fire-migrate-database.md +548 -0
  34. package/commands/fire-new-milestone.md +1 -1
  35. package/commands/fire-reflect.md +1 -2
  36. package/commands/fire-research.md +142 -21
  37. package/commands/{fire-phoenix.md → fire-resurrect.md} +859 -603
  38. package/commands/fire-scaffold.md +297 -0
  39. package/commands/fire-search.md +1 -2
  40. package/commands/fire-security-scan.md +483 -484
  41. package/commands/fire-setup.md +359 -0
  42. package/commands/fire-skill.md +770 -0
  43. package/commands/fire-skills-diff.md +506 -506
  44. package/commands/fire-skills-history.md +388 -388
  45. package/commands/fire-skills-rollback.md +7 -7
  46. package/commands/fire-skills-sync.md +470 -470
  47. package/commands/fire-test.md +5 -5
  48. package/commands/fire-todos.md +1 -1
  49. package/commands/fire-update.md +5 -5
  50. package/commands/fire-validate-skills.md +282 -0
  51. package/commands/fire-verify-uat.md +9 -177
  52. package/commands/fire-vuln-scan.md +492 -493
  53. package/hooks/run-hook.sh +8 -8
  54. package/hooks/run-session-end.sh +7 -7
  55. package/hooks/session-end.sh +90 -90
  56. package/hooks/session-start.sh +1 -1
  57. package/package.json +4 -25
  58. package/plugin.json +7 -7
  59. package/references/autonomy-levels.md +235 -0
  60. package/references/behavioral-directives.md +95 -3
  61. package/references/blocker-tracking.md +1 -1
  62. package/references/circuit-breaker.md +93 -2
  63. package/references/context-engineering.md +227 -9
  64. package/references/honesty-protocols.md +70 -1
  65. package/references/issue-to-pr-pipeline.md +149 -150
  66. package/references/metrics-and-trends.md +1 -2
  67. package/references/research-improvements.md +4 -108
  68. package/references/sdlc-mapping.md +73 -0
  69. package/references/state-machine.md +151 -0
  70. package/skills-library/AVAILABLE_TOOLS_REFERENCE.md +333 -0
  71. package/skills-library/SKILLS-INDEX.md +57 -558
  72. package/skills-library/SKILLS_LIBRARY_INDEX.md +532 -0
  73. package/skills-library/_general/api-patterns/api-field-name-mismatch.md +107 -0
  74. package/skills-library/_general/api-patterns/streaming-command-timeout.md +122 -0
  75. package/skills-library/_general/api-patterns/streaming-proxy-cors-bypass.md +102 -0
  76. package/skills-library/_general/automation/settings-gui-generator.md +172 -0
  77. package/skills-library/_general/database-solutions/data-type-mapping-reference.md +181 -0
  78. package/skills-library/_general/database-solutions/mysql-limit-offset-string-coercion.md +102 -0
  79. package/skills-library/_general/database-solutions/mysql-to-pg-migration.md +195 -0
  80. package/skills-library/_general/database-solutions/orm-schema-portability.md +193 -0
  81. package/skills-library/_general/database-solutions/persistent-analysis-storage.md +207 -0
  82. package/skills-library/_general/database-solutions/pg-to-mysql-schema-migration-methodology.md +190 -0
  83. package/skills-library/_general/database-solutions/sql-dialect-compatibility-matrix.md +306 -0
  84. package/skills-library/_general/database-solutions/sqlite-to-pg-migration.md +219 -0
  85. package/skills-library/_general/frontend/canvas-bubble-animation-grouping.md +270 -0
  86. package/skills-library/_general/frontend/color-token-migration.md +112 -0
  87. package/skills-library/_general/frontend/framer-motion-layoutid-grouping.md +150 -0
  88. package/skills-library/_general/frontend/pyqt6-settings-dialog.md +191 -0
  89. package/skills-library/_general/frontend/react-flow-animated-layout-switching.md +101 -0
  90. package/skills-library/_general/frontend/react-hooks-order-debugging.md +141 -0
  91. package/skills-library/_general/frontend/redux-localstorage-auth-desync.md +126 -0
  92. package/skills-library/_general/frontend/safari-csp-theme-color-debugging.md +124 -0
  93. package/skills-library/_general/frontend/safari-sw-cache-poisoning.md +138 -0
  94. package/skills-library/_general/frontend/svg-sparkline-no-charting-library.md +131 -0
  95. package/skills-library/_general/growth-marketing/oss-daily-growth-intelligence.md +224 -0
  96. package/skills-library/_general/integrations/claude-code-local-mcp-integration.md +250 -0
  97. package/skills-library/_general/integrations/mcp-composite-tool-orchestration.md +200 -0
  98. package/skills-library/_general/methodology/AGENT_SDK_STANDALONE_TOOLING.md +181 -0
  99. package/skills-library/_general/methodology/AGENT_TEAMS_GUIDE.md +169 -0
  100. package/skills-library/_general/methodology/ALAS_STATEFUL_EXECUTION.md +207 -0
  101. package/skills-library/_general/methodology/AUTO_REVIEWER_SUBAGENT.md +211 -0
  102. package/skills-library/_general/methodology/CONSISTENCY_CHECK_AMBIGUITY_GATE.md +96 -0
  103. package/skills-library/_general/methodology/DEAD_ENDS_SHELF.md +4 -4
  104. package/skills-library/_general/methodology/DISTILL_NOT_DUMP.md +108 -0
  105. package/skills-library/_general/methodology/EXECUTION_PROGRESS_MONITOR.md +157 -0
  106. package/skills-library/_general/methodology/HIERARCHICAL_REVIEW_MARS.md +122 -0
  107. package/skills-library/_general/methodology/MCP_INTER_AGENT_BRIDGE.md +207 -0
  108. package/skills-library/_general/methodology/MERMAID_WIZARD_DIAGRAMS.md +77 -0
  109. package/skills-library/_general/methodology/MISSING_DIMENSION_DETECTOR.md +89 -0
  110. package/skills-library/_general/methodology/MULTI_AGENT_COORDINATION.md +397 -0
  111. package/skills-library/_general/methodology/OBSERVATION_MASKING.md +100 -0
  112. package/skills-library/_general/methodology/PHOENIX_REBUILD_METHODOLOGY.md +82 -11
  113. package/skills-library/_general/methodology/REVIEW_BACKTRACK_PANEL.md +140 -0
  114. package/skills-library/_general/methodology/REVIEW_FIX_LOOP.md +117 -0
  115. package/skills-library/_general/methodology/VOTING_VERDICT_ARBITRATION.md +155 -0
  116. package/skills-library/_general/methodology/ZERO_FRICTION_CLI_SETUP.md +2 -2
  117. package/skills-library/_general/methodology/dead-code-activation.md +123 -0
  118. package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -240
  119. package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +1 -1
  120. package/skills-library/_general/patterns-standards/GOF_DESIGN_PATTERNS_FOR_AI_AGENTS.md +5 -5
  121. package/skills-library/_general/patterns-standards/cascading-failure-diagnosis.md +119 -0
  122. package/skills-library/_general/patterns-standards/domain-specific-layout-algorithms.md +209 -0
  123. package/skills-library/_general/patterns-standards/python-desktop-app-architecture.md +399 -0
  124. package/skills-library/_general/patterns-standards/realtime-monitoring-dashboard.md +457 -0
  125. package/skills-library/_general/patterns-standards/togglable-processing-pipeline.md +169 -0
  126. package/skills-library/_general/performance/liveclock-extraction.md +112 -0
  127. package/skills-library/_general/performance/ref-based-canvas-animation.md +117 -0
  128. package/skills-library/_general/performance/use-visible-interval.md +131 -0
  129. package/skills-library/_general/testing/playwright-firefox-withcredentials-auth-issue.md +104 -0
  130. package/skills-library/_quarantine/README.md +30 -0
  131. package/skills-library/api-patterns/BROADCAST_SCHEDULER_SHARED_EXECUTE_FUNCTION.md +150 -0
  132. package/skills-library/api-patterns/ERROR_RESPONSE_STANDARDS.md +145 -0
  133. package/skills-library/api-patterns/EXPRESS_ROUTE_ORDERING_MIDDLEWARE_INTERCEPTION.md +326 -0
  134. package/skills-library/api-patterns/PAGINATION_PATTERNS.md +137 -0
  135. package/skills-library/api-patterns/PODCAST_PROGRESS_TRACKING_THREE_ROOT_CAUSES.md +277 -0
  136. package/skills-library/api-patterns/RATE_LIMITING_TOGGLE.md +155 -0
  137. package/skills-library/api-patterns/graphql-content-queries.md +708 -0
  138. package/skills-library/appointment-scheduler-design.md +423 -0
  139. package/skills-library/automation/AUTO_POPULATE_COMPLETE_GUIDE.md +631 -0
  140. package/skills-library/automation/CC_WORKFLOW_STUDIO.md +83 -0
  141. package/skills-library/automation/CLAUDE_CODE_SWARM_MODE.md +95 -0
  142. package/skills-library/automation/DAEMON_TRIGGER_FILE_IPC.md +195 -0
  143. package/skills-library/automation/scheduled-content-publishing.md +608 -0
  144. package/skills-library/awesome-workflows/Blogging-Platform-Instructions/view_commands.md +25 -0
  145. package/skills-library/awesome-workflows/CREDENTIAL-SECURITY-WORKFLOW.md +109 -0
  146. package/skills-library/awesome-workflows/DEBUGGING-WORKFLOW.md +124 -0
  147. package/skills-library/awesome-workflows/Design-Review-Workflow/README.md +31 -0
  148. package/skills-library/awesome-workflows/Design-Review-Workflow/design-principles-example.md +129 -0
  149. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-agent.md +107 -0
  150. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-claude-md-snippet.md +24 -0
  151. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-slash-command.md +38 -0
  152. package/skills-library/awesome-workflows/PARALLEL-RESEARCH-WORKFLOW.md +89 -0
  153. package/skills-library/awesome-workflows/PHASE-EXECUTION-WORKFLOW.md +97 -0
  154. package/skills-library/awesome-workflows/SESSION-HANDOFF-WORKFLOW.md +116 -0
  155. package/skills-library/cms-patterns/content-branch-preview.md +515 -0
  156. package/skills-library/cms-patterns/inline-visual-editing.md +666 -0
  157. package/skills-library/cms-patterns/mdx-component-content.md +649 -0
  158. package/skills-library/cms-patterns/media-manager-abstraction.md +827 -0
  159. package/skills-library/cms-patterns/schema-driven-form-generator.md +838 -0
  160. package/skills-library/complexity-metrics/complexity-divider.md +707 -0
  161. package/skills-library/complexity-metrics/work-with-complexity.md +193 -0
  162. package/skills-library/creative-multimedia/animation-stack-guide.md +577 -0
  163. package/skills-library/creative-multimedia/audio-enhancement-pipeline.md +625 -0
  164. package/skills-library/creative-multimedia/content-repurposing-pipeline.md +1146 -0
  165. package/skills-library/creative-multimedia/data-visualization-generator.md +862 -0
  166. package/skills-library/creative-multimedia/doc-to-podcast-pipeline.md +2184 -0
  167. package/skills-library/creative-multimedia/ffmpeg-command-generator.md +405 -0
  168. package/skills-library/creative-multimedia/image-optimization-pipeline.md +605 -0
  169. package/skills-library/creative-multimedia/multi-format-content-generator.md +1759 -0
  170. package/skills-library/creative-multimedia/og-image-generator.md +635 -0
  171. package/skills-library/creative-multimedia/podcast-audio-composition.md +1355 -0
  172. package/skills-library/creative-multimedia/podcast-quality-evaluation.md +1452 -0
  173. package/skills-library/creative-multimedia/podcast-script-generation.md +1841 -0
  174. package/skills-library/creative-multimedia/svg-generation.md +750 -0
  175. package/skills-library/creative-multimedia/text-to-speech-provider-selector.md +1414 -0
  176. package/skills-library/creative-multimedia/transcription-pipeline-selector.md +677 -0
  177. package/skills-library/creative-multimedia/video-streaming-setup.md +559 -0
  178. package/skills-library/database-solutions/AI_RESPONSE_DATABASE_CACHING.md +520 -0
  179. package/skills-library/database-solutions/CONDITIONAL_SQL_MIGRATION_PATTERN.md +119 -0
  180. package/skills-library/database-solutions/DATABASE_COLUMN_NAME_MISMATCH.md +393 -0
  181. package/skills-library/database-solutions/DATABASE_SCHEMA.md +394 -0
  182. package/skills-library/database-solutions/DATABASE_SCHEMA_VERIFICATION_GUIDE.md +348 -0
  183. package/skills-library/database-solutions/DATABASE_STRATEGY.md +71 -0
  184. package/skills-library/database-solutions/ES_MODULE_SEED_SCRIPT_PATTERN.md +52 -0
  185. package/skills-library/database-solutions/MIGRATION_GUIDE.md +3 -0
  186. package/skills-library/database-solutions/PLPGSQL_VARIABLE_CONFLICT_FIX.md +208 -0
  187. package/skills-library/database-solutions/POSTGRESQL_JSONB_DOUBLE_STRINGIFY_FIX.md +245 -0
  188. package/skills-library/database-solutions/POSTGRESQL_LICENSE_TABLE_DESIGN.md +393 -0
  189. package/skills-library/database-solutions/POSTGRESQL_UUID_DOCUMENT_RAG_DUAL_SCOPE.md +732 -0
  190. package/skills-library/database-solutions/POSTGRES_SQL_TEMPLATE_BINDING_ERROR.md +240 -0
  191. package/skills-library/database-solutions/PRISMA_DB_PUSH_DATA_LOSS_PREVENTION.md +141 -0
  192. package/skills-library/database-solutions/PRODUCTION_QUERY_OPTIMIZATION_RESTART_FIX.md +389 -0
  193. package/skills-library/database-solutions/RLS_SECURITY_GUIDE.md +107 -0
  194. package/skills-library/database-solutions/SCHEMA_ENHANCEMENTS_GUIDE.md +373 -0
  195. package/skills-library/database-solutions/SCHEMA_MIGRATION_GUIDE.md +368 -0
  196. package/skills-library/database-solutions/SCHEMA_VERIFICATION_QUICK_REFERENCE.md +104 -0
  197. package/skills-library/database-solutions/ai-erd-generator.md +1213 -0
  198. package/skills-library/database-solutions/content-publishing-states.md +631 -0
  199. package/skills-library/database-solutions/database-schema-designer.md +522 -0
  200. package/skills-library/database-solutions/er-diagram-components.md +569 -0
  201. package/skills-library/database-solutions/er-to-ddl-mapping.md +1405 -0
  202. package/skills-library/database-solutions/erd-creator-textbook-research.md +433 -0
  203. package/skills-library/database-solutions/erd-react-flow-architecture.md +1965 -0
  204. package/skills-library/database-solutions/mariadb-aggregate-function-replacement.md +145 -0
  205. package/skills-library/database-solutions/normalization-validator.md +778 -0
  206. package/skills-library/database-solutions/postgres-full-text-search-content.md +494 -0
  207. package/skills-library/database-solutions/postgresql-to-mysql-runtime-translation.md +286 -0
  208. package/skills-library/database-solutions/regex-alternation-ordering-sql-types.md +92 -0
  209. package/skills-library/database-solutions/reserved-word-context-aware-quoting.md +142 -0
  210. package/skills-library/database-solutions/sql-ddl-generator.md +756 -0
  211. package/skills-library/database-solutions/supabase-connection-pooler-fix.md +102 -0
  212. package/skills-library/deployment-security/CPANEL_NODE_DEPLOYMENT.md +166 -0
  213. package/skills-library/deployment-security/DEPLOYMENT.md +275 -0
  214. package/skills-library/deployment-security/DEPLOYMENT_CHECKLIST.md +363 -0
  215. package/skills-library/deployment-security/DEPLOYMENT_PLAN.md +669 -0
  216. package/skills-library/deployment-security/KNEX_DATABASE_ABSTRACTION.md +444 -0
  217. package/skills-library/deployment-security/LICENSE_KEY_SYSTEM.md +206 -0
  218. package/skills-library/deployment-security/NODE18_DEPENDENCY_COMPATIBILITY.md +284 -0
  219. package/skills-library/deployment-security/PHP_INSTALLER_WIZARD_GUIDE.md +315 -0
  220. package/skills-library/deployment-security/PM2_ENVIRONMENT_VARIABLE_CACHING.md +256 -0
  221. package/skills-library/deployment-security/PM2_MEMORY_EXHAUSTION_FIX.md +370 -0
  222. package/skills-library/deployment-security/PRODUCTION_DEPLOYMENT_GUIDE.md +592 -0
  223. package/skills-library/deployment-security/PRODUCTION_HARDENING_DOCUMENTATION.md +307 -0
  224. package/skills-library/deployment-security/PRODUCTION_RECOVERY_CHERRY_PICK_PATTERN.md +202 -0
  225. package/skills-library/deployment-security/PYINSTALLER_CUDA_WHISPER_BUNDLING.md +236 -0
  226. package/skills-library/deployment-security/SECURITY.md +41 -0
  227. package/skills-library/deployment-security/SMTP_SSL_HOSTNAME_MISMATCH_SHARED_HOSTING.md +220 -0
  228. package/skills-library/deployment-security/SPA_SEO_OPTIMIZATION_CPANEL.md +200 -0
  229. package/skills-library/deployment-security/SUPABASE_EDGE_FUNCTIONS.md +338 -0
  230. package/skills-library/deployment-security/VERCEL_GITHUB_DEPLOYMENT_GUIDE.md +858 -0
  231. package/skills-library/deployment-security/VPS_DEPLOYMENT_READINESS.md +356 -0
  232. package/skills-library/deployment-security/deployment-changes-not-applying.md +241 -0
  233. package/skills-library/deployment-security/env-file-management-production-local.md +203 -0
  234. package/skills-library/deployment-security/express-secure-file-downloads.md +413 -0
  235. package/skills-library/deployment-security/react-production-deployment-desktop-guide.md +2011 -0
  236. package/skills-library/deployment-security/self-hosted-supabase-coolify-guide.md +1684 -0
  237. package/skills-library/deployment-security/unique-features-ai-strategy-plaid-security.md +1613 -0
  238. package/skills-library/deployment-security/vps-deployment.md +135 -0
  239. package/skills-library/document-processing/WORD_EXPORT_MARKDOWN_FORMATTING.md +482 -0
  240. package/skills-library/document-processing/document-ai-landingai-integration.md +677 -0
  241. package/skills-library/document-processing/express-secure-file-downloads-mern.md +413 -0
  242. package/skills-library/document-processing/express-secure-file-downloads.md +413 -0
  243. package/skills-library/document-processing/md-to-word-converter.md +318 -0
  244. package/skills-library/document-processing/pdf-forms-integration/README.md +101 -0
  245. package/skills-library/document-processing/pdf-forms-integration/SKILL.md +662 -0
  246. package/skills-library/ecommerce/ADMIN_PRODUCTS_GUIDE.md +428 -0
  247. package/skills-library/ecommerce/ECOMMERCE_API_REFERENCE.md +776 -0
  248. package/skills-library/ecommerce/ECOMMERCE_COMPLETION_SUMMARY.md +673 -0
  249. package/skills-library/ecommerce/ECOMMERCE_IMPLEMENTATION_GUIDE.md +729 -0
  250. package/skills-library/ecommerce/ECOMMERCE_QUICK_REFERENCE.md +521 -0
  251. package/skills-library/ecommerce/ECOMMERCE_TESTING_CHECKLIST.md +565 -0
  252. package/skills-library/ecommerce/ECOMMERCE_WORKFLOW_GUIDE.md +1059 -0
  253. package/skills-library/ecommerce/PRODUCT_CREATION_EXPANDED.md +522 -0
  254. package/skills-library/ecommerce/agentic-commerce-protocol.md +203 -0
  255. package/skills-library/ecommerce/cart-abandonment-recovery.md +236 -0
  256. package/skills-library/ecommerce/cart-architecture-patterns.md +300 -0
  257. package/skills-library/ecommerce/cart-item-count-indicator.md +264 -0
  258. package/skills-library/ecommerce/checkout-ux-conversion.md +227 -0
  259. package/skills-library/ecommerce/composable-commerce-selection.md +166 -0
  260. package/skills-library/ecommerce/ecommerce-analytics-patterns.md +167 -0
  261. package/skills-library/ecommerce/fraud-detection-patterns.md +179 -0
  262. package/skills-library/ecommerce/inventory-stock-management.md +270 -0
  263. package/skills-library/ecommerce/order-saga-state-machine.md +336 -0
  264. package/skills-library/ecommerce/payment-provider-abstraction.md +245 -0
  265. package/skills-library/ecommerce/pci-compliance-checklist.md +192 -0
  266. package/skills-library/ecommerce/refund-chargeback-handling.md +177 -0
  267. package/skills-library/ecommerce/shipping-carrier-integration.md +218 -0
  268. package/skills-library/ecommerce/webhook-idempotency-patterns.md +253 -0
  269. package/skills-library/excalidraw-diagrams/.github/workflows/ci.yml +558 -0
  270. package/skills-library/excalidraw-diagrams/.github/workflows/prompt-gallery.yml +448 -0
  271. package/skills-library/excalidraw-diagrams/.github/workflows/release.yml +42 -0
  272. package/skills-library/excalidraw-diagrams/.github/workflows/test-reusable-ci.yml +25 -0
  273. package/skills-library/excalidraw-diagrams/CLAUDE.md +57 -0
  274. package/skills-library/excalidraw-diagrams/LICENSE +21 -0
  275. package/skills-library/excalidraw-diagrams/README.md +178 -0
  276. package/skills-library/excalidraw-diagrams/SKILL.md +715 -0
  277. package/skills-library/form-solutions/BUTTON_TYPE_FORM_SUBMISSION.md +336 -0
  278. package/skills-library/form-solutions/FILLABLE_PDF_IMPLEMENTATION.md +226 -0
  279. package/skills-library/form-solutions/SURVEYJS_QUESTIONNAIRE_SYSTEM.md +367 -0
  280. package/skills-library/form-solutions/tiptap-minimal-setup.md +690 -0
  281. package/skills-library/frontend/scholarly-classification-bubble-map.md +149 -0
  282. package/skills-library/infrastructure/ci-cd-pipeline-builder.md +517 -0
  283. package/skills-library/infrastructure/observability-designer.md +264 -0
  284. package/skills-library/infrastructure/performance-profiler.md +621 -0
  285. package/skills-library/installer-wizard-patterns.md +249 -0
  286. package/skills-library/integrations/CLAUDE_CODE_TOKEN_ANALYTICS.md +160 -0
  287. package/skills-library/integrations/CONFIGURABLE_AI_PROVIDER_SELECTION.md +728 -0
  288. package/skills-library/integrations/SOCKET_IO_BROADCAST_ALL_VS_ROOM.md +141 -0
  289. package/skills-library/integrations/VIRTUAL_MEETINGS_IMPLEMENTATION.md +374 -0
  290. package/skills-library/integrations/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  291. package/skills-library/integrations/YOUTUBE_API_SETUP.md +141 -0
  292. package/skills-library/integrations/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  293. package/skills-library/integrations/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  294. package/skills-library/integrations/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  295. package/skills-library/integrations/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  296. package/skills-library/integrations/ai-ml/GEMINI_AI_RAG_PIPELINE_COMPLETE_GUIDE.md +195 -0
  297. package/skills-library/integrations/ai-ml/GEMINI_IMAGE_GENERATION_SETUP.md +64 -0
  298. package/skills-library/integrations/cloudflare/cloudflare-turnstile-debugging.md +202 -0
  299. package/skills-library/integrations/cloudflare/cloudflare-turnstile-implementation.md +476 -0
  300. package/skills-library/integrations/cloudflare-turnstile-debugging.md +202 -0
  301. package/skills-library/integrations/cloudflare-turnstile-implementation.md +476 -0
  302. package/skills-library/integrations/ghost-creator-monetization-pattern.md +454 -0
  303. package/skills-library/integrations/headless-cms-architecture.md +484 -0
  304. package/skills-library/integrations/headless-cms-stack-selection.md +183 -0
  305. package/skills-library/integrations/payload-cms-patterns.md +674 -0
  306. package/skills-library/integrations/realtimestt-openwakeword-cuda-windows.md +229 -0
  307. package/skills-library/integrations/rss-podcast-integration.md +300 -0
  308. package/skills-library/integrations/wordpress/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  309. package/skills-library/integrations/youtube/YOUTUBE_API_SETUP.md +141 -0
  310. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  311. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  312. package/skills-library/integrations/youtube/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  313. package/skills-library/integrations/youtube/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  314. package/skills-library/marketing/campaign-analytics.md +97 -0
  315. package/skills-library/marketing/content-creator.md +105 -0
  316. package/skills-library/marketing/marketing-strategy-pmm.md +94 -0
  317. package/skills-library/marketing/social-media-analyzer.md +81 -0
  318. package/skills-library/methodology/ADVANCED_ORCHESTRATION_PATTERNS.md +401 -0
  319. package/skills-library/methodology/AGENT_SELF_IMPROVEMENT_LOOP.md +179 -0
  320. package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +1 -1
  321. package/skills-library/methodology/CLEANSING_CYCLE.md +358 -0
  322. package/skills-library/methodology/CONFIDENCE_ANNOTATION_PATTERN.md +143 -0
  323. package/skills-library/methodology/CRITICAL_PATTERNS_DOCUMENTATION_COMPLETE.md +204 -0
  324. package/skills-library/methodology/DELIVERABLES_SUMMARY.md +341 -0
  325. package/skills-library/methodology/DIFFICULTY_AWARE_AGENT_ROUTING.md +252 -0
  326. package/skills-library/methodology/EVOLUTIONARY_SKILL_SYNTHESIS.md +219 -0
  327. package/skills-library/methodology/GLOMERULUS_DECISION_GATE.md +223 -0
  328. package/skills-library/methodology/HIBERNATION_SYSTEM.md +231 -0
  329. package/skills-library/methodology/INSTRUMENTATION_OVER_RESTRICTION.md +192 -0
  330. package/skills-library/methodology/MASTER_COMPLETION_SUMMARY.md +444 -0
  331. package/skills-library/methodology/MASTER_SESSION_COMPLETION.md +743 -0
  332. package/skills-library/methodology/MERN_QUICK_REFERENCE.md +358 -0
  333. package/skills-library/methodology/ORGAN_AGENT_MAPPING.md +177 -0
  334. package/skills-library/methodology/PARALLEL_WAVE_BASED_REFACTORING.md +440 -0
  335. package/skills-library/methodology/QUICK_REFERENCE.md +358 -0
  336. package/skills-library/methodology/SDFT_ONPOLICY_SELF_DISTILLATION.md +186 -0
  337. package/skills-library/methodology/SELF_QUESTIONING_TASK_GENERATION.md +270 -0
  338. package/skills-library/methodology/SESSION_COMPLETION_SUMMARY.md +304 -0
  339. package/skills-library/methodology/SESSION_SUMMARY.md +432 -0
  340. package/skills-library/methodology/WARRIOR_WORKFLOW_DEBUGGING_PROTOCOL.md +252 -0
  341. package/skills-library/methodology/tech-debt-tracker.md +570 -0
  342. package/skills-library/parallel-debug/SKILL.md +60 -0
  343. package/skills-library/patterns-standards/API_PATTERN_FIX_SUMMARY.md +236 -0
  344. package/skills-library/patterns-standards/BATCH_OPERATIONS_WITH_PROGRESS_MODAL.md +362 -0
  345. package/skills-library/patterns-standards/CRITICAL_CODING_PATTERNS.md +639 -0
  346. package/skills-library/patterns-standards/DARK_MODE_MODAL_VISIBILITY.md +258 -0
  347. package/skills-library/patterns-standards/ERROR_RESILIENCE_IMPLEMENTATION.md +375 -0
  348. package/skills-library/patterns-standards/ES_MODULE_IMPORT_HOISTING_DOTENV.md +298 -0
  349. package/skills-library/patterns-standards/NESTED_BACKDROP_FILTER_CSS_ARTIFACT_FIX.md +76 -0
  350. package/skills-library/patterns-standards/ORDERED_DETECTOR_PIPELINE_GRACEFUL_FALLBACK.md +333 -0
  351. package/skills-library/patterns-standards/PHASE_IMPORT_ERROR_DEBUGGING.md +271 -0
  352. package/skills-library/patterns-standards/PYNPUT_GLOBAL_HOTKEY_VK_MATCHING.md +252 -0
  353. package/skills-library/patterns-standards/REACT_USEEFFECT_CASCADE_RESET_FIX.md +132 -0
  354. package/skills-library/patterns-standards/SUBMENU_HOVER_DROPDOWN_PATTERN.md +225 -0
  355. package/skills-library/patterns-standards/TAILWIND_TEXT_VISIBILITY_OVERRIDE.md +322 -0
  356. package/skills-library/patterns-standards/THEME_AWARE_CSS_VARIABLES_PATTERN.md +209 -0
  357. package/skills-library/patterns-standards/THEME_USER_OBJECT_PROPERTY_NAMING.md +194 -0
  358. package/skills-library/patterns-standards/TOOLTIP_BLOCKING_CLICKS_FIX.md +267 -0
  359. package/skills-library/patterns-standards/claude-code-plugin-structure.md +235 -0
  360. package/skills-library/patterns-standards/react-i18next-setup.md +429 -0
  361. package/skills-library/patterns-standards/thesys-c1-generative-ui-integration.md +967 -0
  362. package/skills-library/plugin-development/CLAUDE_CODE_COMMAND_REGISTRATION_SILENT_FAILURE.md +315 -0
  363. package/skills-library/plugin-development/plugin-command-namespace-vs-global.md +390 -0
  364. package/skills-library/plugin-development/plugin-doc-auto-generation.md +172 -0
  365. package/skills-library/security/GITHUB_REPO_SECURITY_AUDIT.md +115 -0
  366. package/skills-library/security/admin-deletion-safety.md +396 -0
  367. package/skills-library/security/application-vuln-patterns.md +477 -0
  368. package/skills-library/security/env-secrets-manager.md +686 -0
  369. package/skills-library/security/secure-ai-application-templates.md +347 -0
  370. package/skills-library/security/sql-injection-prevention-postgresjs.md +151 -0
  371. package/skills-library/supabase-connection-pooler-fix.md +102 -0
  372. package/skills-library/system-context/POWERSHELL_BASH_INTEROP.md +82 -0
  373. package/skills-library/system-context/SERVICE_LIFECYCLE_MANAGEMENT.md +119 -0
  374. package/skills-library/system-context/SKILL.md +40 -0
  375. package/skills-library/system-context/WINDOWS_DEV_ENVIRONMENT.md +73 -0
  376. package/skills-library/testing/E2E_PLAYWRIGHT_PATTERNS.md +99 -0
  377. package/skills-library/testing/INTEGRATION_TEST_STRATEGY.md +82 -0
  378. package/skills-library/testing/RED_GREEN_BUGFIX_GATE.md +203 -0
  379. package/skills-library/testing/TEST_DATA_MANAGEMENT.md +69 -0
  380. package/skills-library/testing/VITEST_UNIT_TEST_PATTERNS.md +75 -0
  381. package/skills-library/testing/playwright-api-security-tests.md +202 -0
  382. package/skills-library/toolbox/SKILL.md +84 -0
  383. package/skills-library/toolbox/code-graph-and-web-scraping-mcps.md +237 -0
  384. package/skills-library/ui-ux-pro-max/ACCESSIBILITY_ESSENTIALS.md +115 -0
  385. package/skills-library/ui-ux-pro-max/DESIGN_SYSTEM_SCAFFOLDING.md +133 -0
  386. package/skills-library/ui-ux-pro-max/RESPONSIVE_LAYOUT_PATTERNS.md +119 -0
  387. package/skills-library/ui-ux-pro-max/SKILL.md +386 -0
  388. package/skills-library/ui-ux-pro-max/data/charts.csv +26 -0
  389. package/skills-library/ui-ux-pro-max/data/colors.csv +97 -0
  390. package/skills-library/ui-ux-pro-max/data/icons.csv +101 -0
  391. package/skills-library/ui-ux-pro-max/data/landing.csv +31 -0
  392. package/skills-library/ui-ux-pro-max/data/products.csv +97 -0
  393. package/skills-library/ui-ux-pro-max/data/react-performance.csv +45 -0
  394. package/skills-library/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  395. package/skills-library/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  396. package/skills-library/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  397. package/skills-library/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  398. package/skills-library/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  399. package/skills-library/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  400. package/skills-library/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  401. package/skills-library/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  402. package/skills-library/ui-ux-pro-max/data/stacks/react.csv +54 -0
  403. package/skills-library/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  404. package/skills-library/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  405. package/skills-library/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  406. package/skills-library/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  407. package/skills-library/ui-ux-pro-max/data/styles.csv +68 -0
  408. package/skills-library/ui-ux-pro-max/data/typography.csv +58 -0
  409. package/skills-library/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  410. package/skills-library/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  411. package/skills-library/ui-ux-pro-max/data/web-interface.csv +31 -0
  412. package/skills-library/wordpress-style-theme-components.md +1526 -0
  413. package/templates/ASSUMPTIONS.md +1 -1
  414. package/templates/DECISION_LOG.md +0 -1
  415. package/templates/phase-prompt.md +1 -1
  416. package/templates/phoenix-comparison.md +6 -6
  417. package/templates/skill-api-integration.md +106 -0
  418. package/templates/skill-architecture-pattern.md +92 -0
  419. package/templates/skill-debug-pattern.md +98 -0
  420. package/templates/skill-devops-recipe.md +107 -0
  421. package/templates/skill-general.md +65 -0
  422. package/templates/skill-ui-component.md +113 -0
  423. package/version.json +7 -3
  424. package/workflows/handoff-session.md +2 -2
  425. package/workflows/new-project.md +2 -2
  426. package/workflows/plan-phase.md +1 -1
  427. package/.claude-plugin/plugin.json +0 -64
  428. package/skills-library/_general/methodology/LIVE_BREADCRUMB_PROTOCOL.md +0 -242
  429. package/skills-library/_general/methodology/llm-judge-memory-crud.md +0 -241
  430. package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +0 -183
  431. package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +0 -263
  432. package/skills-library/methodology/SABBATH_REST_PATTERN.md +0 -267
  433. package/skills-library/methodology/STONE_AND_SCAFFOLD.md +0 -220
  434. package/skills-library/specialists/api-architecture/api-designer.md +0 -49
  435. package/skills-library/specialists/api-architecture/graphql-architect.md +0 -49
  436. package/skills-library/specialists/api-architecture/mcp-developer.md +0 -51
  437. package/skills-library/specialists/api-architecture/microservices-architect.md +0 -50
  438. package/skills-library/specialists/api-architecture/websocket-engineer.md +0 -48
  439. package/skills-library/specialists/backend/django-expert.md +0 -52
  440. package/skills-library/specialists/backend/fastapi-expert.md +0 -52
  441. package/skills-library/specialists/backend/laravel-specialist.md +0 -52
  442. package/skills-library/specialists/backend/nestjs-expert.md +0 -51
  443. package/skills-library/specialists/backend/rails-expert.md +0 -53
  444. package/skills-library/specialists/backend/spring-boot-engineer.md +0 -56
  445. package/skills-library/specialists/data-ml/fine-tuning-expert.md +0 -48
  446. package/skills-library/specialists/data-ml/ml-pipeline.md +0 -47
  447. package/skills-library/specialists/data-ml/pandas-pro.md +0 -47
  448. package/skills-library/specialists/data-ml/rag-architect.md +0 -51
  449. package/skills-library/specialists/data-ml/spark-engineer.md +0 -47
  450. package/skills-library/specialists/frontend/angular-architect.md +0 -52
  451. package/skills-library/specialists/frontend/flutter-expert.md +0 -51
  452. package/skills-library/specialists/frontend/nextjs-developer.md +0 -54
  453. package/skills-library/specialists/frontend/react-native-expert.md +0 -50
  454. package/skills-library/specialists/frontend/vue-expert.md +0 -51
  455. package/skills-library/specialists/infrastructure/chaos-engineer.md +0 -74
  456. package/skills-library/specialists/infrastructure/cloud-architect.md +0 -70
  457. package/skills-library/specialists/infrastructure/database-optimizer.md +0 -64
  458. package/skills-library/specialists/infrastructure/devops-engineer.md +0 -70
  459. package/skills-library/specialists/infrastructure/kubernetes-specialist.md +0 -52
  460. package/skills-library/specialists/infrastructure/monitoring-expert.md +0 -70
  461. package/skills-library/specialists/infrastructure/sre-engineer.md +0 -70
  462. package/skills-library/specialists/infrastructure/terraform-engineer.md +0 -51
  463. package/skills-library/specialists/languages/cpp-pro.md +0 -74
  464. package/skills-library/specialists/languages/csharp-developer.md +0 -69
  465. package/skills-library/specialists/languages/dotnet-core-expert.md +0 -54
  466. package/skills-library/specialists/languages/golang-pro.md +0 -51
  467. package/skills-library/specialists/languages/java-architect.md +0 -49
  468. package/skills-library/specialists/languages/javascript-pro.md +0 -68
  469. package/skills-library/specialists/languages/kotlin-specialist.md +0 -68
  470. package/skills-library/specialists/languages/php-pro.md +0 -49
  471. package/skills-library/specialists/languages/python-pro.md +0 -52
  472. package/skills-library/specialists/languages/react-expert.md +0 -51
  473. package/skills-library/specialists/languages/rust-engineer.md +0 -50
  474. package/skills-library/specialists/languages/sql-pro.md +0 -56
  475. package/skills-library/specialists/languages/swift-expert.md +0 -69
  476. package/skills-library/specialists/languages/typescript-pro.md +0 -51
  477. package/skills-library/specialists/platform/atlassian-mcp.md +0 -52
  478. package/skills-library/specialists/platform/embedded-systems.md +0 -53
  479. package/skills-library/specialists/platform/game-developer.md +0 -53
  480. package/skills-library/specialists/platform/salesforce-developer.md +0 -53
  481. package/skills-library/specialists/platform/shopify-expert.md +0 -49
  482. package/skills-library/specialists/platform/wordpress-pro.md +0 -49
  483. package/skills-library/specialists/quality/browser-use-expert.md +0 -210
  484. package/skills-library/specialists/quality/code-documenter.md +0 -51
  485. package/skills-library/specialists/quality/code-reviewer.md +0 -67
  486. package/skills-library/specialists/quality/debugging-wizard.md +0 -51
  487. package/skills-library/specialists/quality/fullstack-guardian.md +0 -51
  488. package/skills-library/specialists/quality/legacy-modernizer.md +0 -50
  489. package/skills-library/specialists/quality/playwright-expert.md +0 -65
  490. package/skills-library/specialists/quality/spec-miner.md +0 -56
  491. package/skills-library/specialists/quality/test-master.md +0 -65
  492. package/skills-library/specialists/security/secure-code-guardian.md +0 -55
  493. package/skills-library/specialists/security/security-reviewer.md +0 -53
  494. package/skills-library/specialists/workflow/architecture-designer.md +0 -53
  495. package/skills-library/specialists/workflow/cli-developer.md +0 -70
  496. package/skills-library/specialists/workflow/feature-forge.md +0 -65
  497. package/skills-library/specialists/workflow/prompt-engineer.md +0 -54
  498. package/skills-library/specialists/workflow/the-fool.md +0 -62
  499. /package/skills-library/{performance → _general/performance}/cache-augmented-generation.md +0 -0
  500. /package/skills-library/{debugging → parallel-debug}/FAILURE_TAXONOMY_CLASSIFICATION.md +0 -0
  501. /package/skills-library/{debugging → parallel-debug}/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +0 -0
@@ -0,0 +1,686 @@
1
+ # Env & Secrets Manager
2
+
3
+ **Tier:** POWERFUL
4
+ **Category:** Engineering
5
+ **Domain:** Security / DevOps / Configuration Management
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ Complete environment and secrets management workflow: .env file lifecycle across dev/staging/prod,
12
+ .env.example auto-generation, required-var validation, secret leak detection in git history, and
13
+ credential rotation playbook. Integrates with HashiCorp Vault, AWS SSM, 1Password CLI, and Doppler.
14
+
15
+ ---
16
+
17
+ ## Core Capabilities
18
+
19
+ - **.env lifecycle** — create, validate, sync across environments
20
+ - **.env.example generation** — strip values, preserve keys and comments
21
+ - **Validation script** — fail-fast on missing required vars at startup
22
+ - **Secret leak detection** — regex scan of git history and working tree
23
+ - **Rotation workflow** — detect → scope → rotate → deploy → verify
24
+ - **Secret manager integrations** — Vault KV v2, AWS SSM, 1Password, Doppler
25
+
26
+ ---
27
+
28
+ ## When to Use
29
+
30
+ - Setting up a new project — scaffold .env.example and validation
31
+ - Before every commit — scan for accidentally staged secrets
32
+ - Post-incident response — leaked credential rotation procedure
33
+ - Onboarding new developers — they need all vars, not just some
34
+ - Environment drift investigation — prod behaving differently from staging
35
+
36
+ ---
37
+
38
+ ## .env File Structure
39
+
40
+ ### Canonical Layout
41
+ ```bash
42
+ # .env.example — committed to git (no values)
43
+ # .env.local — developer machine (gitignored)
44
+ # .env.staging — CI/CD or secret manager reference
45
+ # .env.prod — never on disk; pulled from secret manager at runtime
46
+
47
+ # Application
48
+ APP_NAME=
49
+ APP_ENV= # dev | staging | prod
50
+ APP_PORT=3000 # default port if not set
51
+ APP_SECRET= # REQUIRED: JWT signing secret (min 32 chars)
52
+ APP_URL= # REQUIRED: public base URL
53
+
54
+ # Database
55
+ DATABASE_URL= # REQUIRED: full connection string
56
+ DATABASE_POOL_MIN=2
57
+ DATABASE_POOL_MAX=10
58
+
59
+ # Auth
60
+ AUTH_JWT_SECRET= # REQUIRED
61
+ AUTH_JWT_EXPIRY=3600 # seconds
62
+ AUTH_REFRESH_SECRET= # REQUIRED
63
+
64
+ # Third-party APIs
65
+ STRIPE_SECRET_KEY= # REQUIRED in prod
66
+ STRIPE_WEBHOOK_SECRET= # REQUIRED in prod
67
+ SENDGRID_API_KEY=
68
+
69
+ # Storage
70
+ AWS_ACCESS_KEY_ID=
71
+ AWS_SECRET_ACCESS_KEY=
72
+ AWS_REGION=eu-central-1
73
+ AWS_S3_BUCKET=
74
+
75
+ # Monitoring
76
+ SENTRY_DSN=
77
+ DD_API_KEY=
78
+ ```
79
+
80
+ ---
81
+
82
+ ## .gitignore Patterns
83
+
84
+ Add to your project's `.gitignore`:
85
+
86
+ ```gitignore
87
+ # Environment files — NEVER commit these
88
+ .env
89
+ .env.local
90
+ .env.development
91
+ .env.development.local
92
+ .env.test.local
93
+ .env.staging
94
+ .env.staging.local
95
+ .env.production
96
+ .env.production.local
97
+ .env.prod
98
+ .env.*.local
99
+
100
+ # Secret files
101
+ *.pem
102
+ *.key
103
+ *.p12
104
+ *.pfx
105
+ secrets.json
106
+ secrets.yaml
107
+ secrets.yml
108
+ credentials.json
109
+ service-account.json
110
+
111
+ # AWS
112
+ .aws/credentials
113
+
114
+ # Terraform state (may contain secrets)
115
+ *.tfstate
116
+ *.tfstate.backup
117
+ .terraform/
118
+
119
+ # Kubernetes secrets
120
+ *-secret.yaml
121
+ *-secrets.yaml
122
+ ```
123
+
124
+ ---
125
+
126
+ ## .env.example Auto-Generation
127
+
128
+ ```bash
129
+ #!/bin/bash
130
+ # scripts/gen-env-example.sh
131
+ # Strips values from .env, preserves keys, defaults, and comments
132
+
133
+ INPUT="${1:-.env}"
134
+ OUTPUT="${2:-.env.example}"
135
+
136
+ if [ ! -f "$INPUT" ]; then
137
+ echo "ERROR: $INPUT not found"
138
+ exit 1
139
+ fi
140
+
141
+ python3 - "$INPUT" "$OUTPUT" << 'PYEOF'
142
+ import sys, re
143
+
144
+ input_file = sys.argv[1]
145
+ output_file = sys.argv[2]
146
+ lines = []
147
+
148
+ with open(input_file) as f:
149
+ for line in f:
150
+ stripped = line.rstrip('\n')
151
+ # Keep blank lines and comments as-is
152
+ if stripped == '' or stripped.startswith('#'):
153
+ lines.append(stripped)
154
+ continue
155
+ # Match KEY=VALUE or KEY="VALUE"
156
+ m = re.match(r'^([A-Z_][A-Z0-9_]*)=(.*)$', stripped)
157
+ if m:
158
+ key = m.group(1)
159
+ value = m.group(2).strip('"\'')
160
+ # Keep non-sensitive defaults (ports, regions, feature flags)
161
+ safe_defaults = re.compile(
162
+ r'^(APP_PORT|APP_ENV|APP_NAME|AWS_REGION|DATABASE_POOL_|LOG_LEVEL|'
163
+ r'FEATURE_|CACHE_TTL|RATE_LIMIT_|PAGINATION_|TIMEOUT_)',
164
+ re.I
165
+ )
166
+ sensitive = re.compile(
167
+ r'(SECRET|KEY|TOKEN|PASSWORD|PASS|CREDENTIAL|DSN|AUTH|PRIVATE|CERT)',
168
+ re.I
169
+ )
170
+ if safe_defaults.match(key) and value:
171
+ lines.append(f"{key}={value} # default")
172
+ else:
173
+ lines.append(f"{key}=")
174
+ else:
175
+ lines.append(stripped)
176
+
177
+ with open(output_file, 'w') as f:
178
+ f.write('\n'.join(lines) + '\n')
179
+
180
+ print(f"Generated {output_file} from {input_file}")
181
+ PYEOF
182
+ ```
183
+
184
+ Usage:
185
+ ```bash
186
+ bash scripts/gen-env-example.sh .env .env.example
187
+ # Commit .env.example, never .env
188
+ git add .env.example
189
+ ```
190
+
191
+ ---
192
+
193
+ ## Required Variable Validation Script
194
+
195
+ ```bash
196
+ #!/bin/bash
197
+ # scripts/validate-env.sh
198
+ # Run at app startup or in CI before deploy
199
+ # Exit 1 if any required var is missing or empty
200
+
201
+ set -euo pipefail
202
+
203
+ MISSING=()
204
+ WARNINGS=()
205
+
206
+ # --- Define required vars by environment ---
207
+ ALWAYS_REQUIRED=(
208
+ APP_SECRET
209
+ APP_URL
210
+ DATABASE_URL
211
+ AUTH_JWT_SECRET
212
+ AUTH_REFRESH_SECRET
213
+ )
214
+
215
+ PROD_REQUIRED=(
216
+ STRIPE_SECRET_KEY
217
+ STRIPE_WEBHOOK_SECRET
218
+ SENTRY_DSN
219
+ )
220
+
221
+ # --- Check always-required vars ---
222
+ for var in "${ALWAYS_REQUIRED[@]}"; do
223
+ if [ -z "${!var:-}" ]; then
224
+ MISSING+=("$var")
225
+ fi
226
+ done
227
+
228
+ # --- Check prod-only vars ---
229
+ if [ "${APP_ENV:-}" = "production" ] || [ "${NODE_ENV:-}" = "production" ]; then
230
+ for var in "${PROD_REQUIRED[@]}"; do
231
+ if [ -z "${!var:-}" ]; then
232
+ MISSING+=("$var (required in production)")
233
+ fi
234
+ done
235
+ fi
236
+
237
+ # --- Validate format/length constraints ---
238
+ if [ -n "${AUTH_JWT_SECRET:-}" ] && [ ${#AUTH_JWT_SECRET} -lt 32 ]; then
239
+ WARNINGS+=("AUTH_JWT_SECRET is shorter than 32 chars — insecure")
240
+ fi
241
+
242
+ if [ -n "${DATABASE_URL:-}" ]; then
243
+ if ! echo "$DATABASE_URL" | grep -qE "^(postgres|postgresql|mysql|mongodb|redis)://"; then
244
+ WARNINGS+=("DATABASE_URL doesn't look like a valid connection string")
245
+ fi
246
+ fi
247
+
248
+ if [ -n "${APP_PORT:-}" ]; then
249
+ if ! [[ "$APP_PORT" =~ ^[0-9]+$ ]] || [ "$APP_PORT" -lt 1 ] || [ "$APP_PORT" -gt 65535 ]; then
250
+ WARNINGS+=("APP_PORT=$APP_PORT is not a valid port number")
251
+ fi
252
+ fi
253
+
254
+ # --- Report ---
255
+ if [ ${#WARNINGS[@]} -gt 0 ]; then
256
+ echo "WARNINGS:"
257
+ for w in "${WARNINGS[@]}"; do
258
+ echo " ⚠️ $w"
259
+ done
260
+ fi
261
+
262
+ if [ ${#MISSING[@]} -gt 0 ]; then
263
+ echo ""
264
+ echo "FATAL: Missing required environment variables:"
265
+ for var in "${MISSING[@]}"; do
266
+ echo " ❌ $var"
267
+ done
268
+ echo ""
269
+ echo "Copy .env.example to .env and fill in missing values."
270
+ exit 1
271
+ fi
272
+
273
+ echo "✅ All required environment variables are set"
274
+ ```
275
+
276
+ Node.js equivalent:
277
+ ```typescript
278
+ // src/config/validateEnv.ts
279
+ const required = [
280
+ 'APP_SECRET', 'APP_URL', 'DATABASE_URL',
281
+ 'AUTH_JWT_SECRET', 'AUTH_REFRESH_SECRET',
282
+ ]
283
+
284
+ const missing = required.filter(key => !process.env[key])
285
+
286
+ if (missing.length > 0) {
287
+ console.error('FATAL: Missing required environment variables:', missing)
288
+ process.exit(1)
289
+ }
290
+
291
+ if (process.env.AUTH_JWT_SECRET && process.env.AUTH_JWT_SECRET.length < 32) {
292
+ console.error('FATAL: AUTH_JWT_SECRET must be at least 32 characters')
293
+ process.exit(1)
294
+ }
295
+
296
+ export const config = {
297
+ appSecret: process.env.APP_SECRET!,
298
+ appUrl: process.env.APP_URL!,
299
+ databaseUrl: process.env.DATABASE_URL!,
300
+ jwtSecret: process.env.AUTH_JWT_SECRET!,
301
+ refreshSecret: process.env.AUTH_REFRESH_SECRET!,
302
+ stripeKey: process.env.STRIPE_SECRET_KEY, // optional
303
+ port: parseInt(process.env.APP_PORT ?? '3000', 10),
304
+ } as const
305
+ ```
306
+
307
+ ---
308
+
309
+ ## Secret Leak Detection
310
+
311
+ ### Scan Working Tree
312
+ ```bash
313
+ #!/bin/bash
314
+ # scripts/scan-secrets.sh
315
+ # Scan staged files and working tree for common secret patterns
316
+
317
+ FAIL=0
318
+
319
+ check() {
320
+ local label="$1"
321
+ local pattern="$2"
322
+ local matches
323
+
324
+ matches=$(git diff --cached -U0 2>/dev/null | grep "^+" | grep -vE "^(\+\+\+|#|\/\/)" | \
325
+ grep -E "$pattern" | grep -v ".env.example" | grep -v "test\|mock\|fixture\|fake" || true)
326
+
327
+ if [ -n "$matches" ]; then
328
+ echo "SECRET DETECTED [$label]:"
329
+ echo "$matches" | head -5
330
+ FAIL=1
331
+ fi
332
+ }
333
+
334
+ # AWS Access Keys
335
+ check "AWS Access Key" "AKIA[0-9A-Z]{16}"
336
+ check "AWS Secret Key" "aws_secret_access_key\s*=\s*['\"]?[A-Za-z0-9/+]{40}"
337
+
338
+ # Stripe
339
+ check "Stripe Live Key" "sk_live_[0-9a-zA-Z]{24,}"
340
+ check "Stripe Test Key" "sk_test_[0-9a-zA-Z]{24,}"
341
+ check "Stripe Webhook" "whsec_[0-9a-zA-Z]{32,}"
342
+
343
+ # JWT / Generic secrets
344
+ check "Hardcoded JWT" "eyJ[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}"
345
+ check "Generic Secret" "(secret|password|passwd|api_key|apikey|token)\s*[:=]\s*['\"][^'\"]{12,}['\"]"
346
+
347
+ # Private keys
348
+ check "Private Key Block" "-----BEGIN (RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----"
349
+ check "PEM Certificate" "-----BEGIN CERTIFICATE-----"
350
+
351
+ # Connection strings with credentials
352
+ check "DB Connection" "(postgres|mysql|mongodb)://[^:]+:[^@]+@"
353
+ check "Redis Auth" "redis://:[^@]+@\|rediss://:[^@]+@"
354
+
355
+ # Google
356
+ check "Google API Key" "AIza[0-9A-Za-z_-]{35}"
357
+ check "Google OAuth" "[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.com"
358
+
359
+ # GitHub
360
+ check "GitHub Token" "gh[ps]_[A-Za-z0-9]{36,}"
361
+ check "GitHub Fine-grained" "github_pat_[A-Za-z0-9_]{82}"
362
+
363
+ # Slack
364
+ check "Slack Token" "xox[baprs]-[0-9A-Za-z]{10,}"
365
+ check "Slack Webhook" "https://hooks\.slack\.com/services/[A-Z0-9]{9,}/[A-Z0-9]{9,}/[A-Za-z0-9]{24,}"
366
+
367
+ # Twilio
368
+ check "Twilio SID" "AC[a-z0-9]{32}"
369
+ check "Twilio Token" "SK[a-z0-9]{32}"
370
+
371
+ if [ $FAIL -eq 1 ]; then
372
+ echo ""
373
+ echo "BLOCKED: Secrets detected in staged changes."
374
+ echo "Remove secrets before committing. Use environment variables instead."
375
+ echo "If this is a false positive, add it to .secretsignore or use:"
376
+ echo " git commit --no-verify (only if you're 100% certain it's safe)"
377
+ exit 1
378
+ fi
379
+
380
+ echo "No secrets detected in staged changes."
381
+ ```
382
+
383
+ ### Scan Git History (post-incident)
384
+ ```bash
385
+ #!/bin/bash
386
+ # scripts/scan-history.sh — scan entire git history for leaked secrets
387
+
388
+ PATTERNS=(
389
+ "AKIA[0-9A-Z]{16}"
390
+ "sk_live_[0-9a-zA-Z]{24}"
391
+ "sk_test_[0-9a-zA-Z]{24}"
392
+ "-----BEGIN.*PRIVATE KEY-----"
393
+ "AIza[0-9A-Za-z_-]{35}"
394
+ "ghp_[A-Za-z0-9]{36}"
395
+ "xox[baprs]-[0-9A-Za-z]{10,}"
396
+ )
397
+
398
+ for pattern in "${PATTERNS[@]}"; do
399
+ echo "Scanning for: $pattern"
400
+ git log --all -p --no-color 2>/dev/null | \
401
+ grep -n "$pattern" | \
402
+ grep "^+" | \
403
+ grep -v "^+++" | \
404
+ head -10
405
+ done
406
+
407
+ # Alternative: use truffleHog or gitleaks for comprehensive scanning
408
+ # gitleaks detect --source . --log-opts="--all"
409
+ # trufflehog git file://. --only-verified
410
+ ```
411
+
412
+ ---
413
+
414
+ ## Pre-commit Hook Installation
415
+
416
+ ```bash
417
+ #!/bin/bash
418
+ # Install the pre-commit hook
419
+ HOOK_PATH=".git/hooks/pre-commit"
420
+
421
+ cat > "$HOOK_PATH" << 'HOOK'
422
+ #!/bin/bash
423
+ # Pre-commit: scan for secrets before every commit
424
+
425
+ SCRIPT="scripts/scan-secrets.sh"
426
+
427
+ if [ -f "$SCRIPT" ]; then
428
+ bash "$SCRIPT"
429
+ else
430
+ # Inline fallback if script not present
431
+ if git diff --cached -U0 | grep "^+" | grep -qE "AKIA[0-9A-Z]{16}|sk_live_|-----BEGIN.*PRIVATE KEY"; then
432
+ echo "BLOCKED: Possible secret detected in staged changes."
433
+ exit 1
434
+ fi
435
+ fi
436
+ HOOK
437
+
438
+ chmod +x "$HOOK_PATH"
439
+ echo "Pre-commit hook installed at $HOOK_PATH"
440
+ ```
441
+
442
+ Using `pre-commit` framework (recommended for teams):
443
+ ```yaml
444
+ # .pre-commit-config.yaml
445
+ repos:
446
+ - repo: https://github.com/gitleaks/gitleaks
447
+ rev: v8.18.0
448
+ hooks:
449
+ - id: gitleaks
450
+
451
+ - repo: local
452
+ hooks:
453
+ - id: validate-env-example
454
+ name: Check .env.example is up to date
455
+ language: script
456
+ entry: bash scripts/check-env-example.sh
457
+ pass_filenames: false
458
+ ```
459
+
460
+ ---
461
+
462
+ ## Credential Rotation Workflow
463
+
464
+ When a secret is leaked or compromised:
465
+
466
+ ### Step 1 — Detect & Confirm
467
+ ```bash
468
+ # Confirm which secret was exposed
469
+ git log --all -p --no-color | grep -A2 -B2 "AKIA\|sk_live_\|SECRET"
470
+
471
+ # Check if secret is in any open PRs
472
+ gh pr list --state open | while read pr; do
473
+ gh pr diff $(echo $pr | awk '{print $1}') | grep -E "AKIA|sk_live_" && echo "Found in PR: $pr"
474
+ done
475
+ ```
476
+
477
+ ### Step 2 — Identify Exposure Window
478
+ ```bash
479
+ # Find first commit that introduced the secret
480
+ git log --all -p --no-color -- "*.env" "*.json" "*.yaml" "*.ts" "*.py" | \
481
+ grep -B 10 "THE_LEAKED_VALUE" | grep "^commit" | tail -1
482
+
483
+ # Get commit date
484
+ git show --format="%ci" COMMIT_HASH | head -1
485
+
486
+ # Check if secret appears in public repos (GitHub)
487
+ gh api search/code -X GET -f q="THE_LEAKED_VALUE" | jq '.total_count, .items[].html_url'
488
+ ```
489
+
490
+ ### Step 3 — Rotate Credential
491
+ Per service — rotate immediately:
492
+ - **AWS**: IAM console → delete access key → create new → update everywhere
493
+ - **Stripe**: Dashboard → Developers → API keys → Roll key
494
+ - **GitHub PAT**: Settings → Developer Settings → Personal access tokens → Revoke → Create new
495
+ - **DB password**: `ALTER USER app_user PASSWORD 'new-strong-password-here';`
496
+ - **JWT secret**: Rotate key (all existing sessions invalidated — users re-login)
497
+
498
+ ### Step 4 — Update All Environments
499
+ ```bash
500
+ # Update secret manager (source of truth)
501
+ # Then redeploy to pull new values
502
+
503
+ # Vault KV v2
504
+ vault kv put secret/myapp/prod \
505
+ STRIPE_SECRET_KEY="sk_live_NEW..." \
506
+ APP_SECRET="new-secret-here"
507
+
508
+ # AWS SSM
509
+ aws ssm put-parameter \
510
+ --name "/myapp/prod/STRIPE_SECRET_KEY" \
511
+ --value "sk_live_NEW..." \
512
+ --type "SecureString" \
513
+ --overwrite
514
+
515
+ # 1Password
516
+ op item edit "MyApp Prod" \
517
+ --field "STRIPE_SECRET_KEY[password]=sk_live_NEW..."
518
+
519
+ # Doppler
520
+ doppler secrets set STRIPE_SECRET_KEY="sk_live_NEW..." --project myapp --config prod
521
+ ```
522
+
523
+ ### Step 5 — Remove from Git History
524
+ ```bash
525
+ # WARNING: rewrites history — coordinate with team first
526
+ git filter-repo --path-glob "*.env" --invert-paths
527
+
528
+ # Or remove specific string from all commits
529
+ git filter-repo --replace-text <(echo "LEAKED_VALUE==>REDACTED")
530
+
531
+ # Force push all branches (requires team coordination + force push permissions)
532
+ git push origin --force --all
533
+
534
+ # Notify all developers to re-clone
535
+ ```
536
+
537
+ ### Step 6 — Verify
538
+ ```bash
539
+ # Confirm secret no longer in history
540
+ git log --all -p | grep "LEAKED_VALUE" | wc -l # should be 0
541
+
542
+ # Test new credentials work
543
+ curl -H "Authorization: Bearer $NEW_TOKEN" https://api.service.com/test
544
+
545
+ # Monitor for unauthorized usage of old credential (check service audit logs)
546
+ ```
547
+
548
+ ---
549
+
550
+ ## Secret Manager Integrations
551
+
552
+ ### HashiCorp Vault KV v2
553
+ ```bash
554
+ # Setup
555
+ export VAULT_ADDR="https://vault.internal.company.com"
556
+ export VAULT_TOKEN="$(vault login -method=oidc -format=json | jq -r '.auth.client_token')"
557
+
558
+ # Write secrets
559
+ vault kv put secret/myapp/prod \
560
+ DATABASE_URL="postgres://user:pass@host/db" \
561
+ APP_SECRET="$(openssl rand -base64 32)"
562
+
563
+ # Read secrets into env
564
+ eval $(vault kv get -format=json secret/myapp/prod | \
565
+ jq -r '.data.data | to_entries[] | "export \(.key)=\(.value)"')
566
+
567
+ # In CI/CD (GitHub Actions)
568
+ # Use vault-action: hashicorp/vault-action@v2
569
+ ```
570
+
571
+ ### AWS SSM Parameter Store
572
+ ```bash
573
+ # Write (SecureString = encrypted with KMS)
574
+ aws ssm put-parameter \
575
+ --name "/myapp/prod/DATABASE_URL" \
576
+ --value "postgres://..." \
577
+ --type "SecureString" \
578
+ --key-id "alias/myapp-secrets"
579
+
580
+ # Read all params for an app/env into shell
581
+ eval $(aws ssm get-parameters-by-path \
582
+ --path "/myapp/prod/" \
583
+ --with-decryption \
584
+ --query "Parameters[*].[Name,Value]" \
585
+ --output text | \
586
+ awk '{split($1,a,"/"); print "export " a[length(a)] "=\"" $2 "\""}')
587
+
588
+ # In Node.js at startup
589
+ # Use @aws-sdk/client-ssm to pull params before server starts
590
+ ```
591
+
592
+ ### 1Password CLI
593
+ ```bash
594
+ # Authenticate
595
+ eval $(op signin)
596
+
597
+ # Get a specific field
598
+ op read "op://MyVault/MyApp Prod/STRIPE_SECRET_KEY"
599
+
600
+ # Export all fields from an item as env vars
601
+ op item get "MyApp Prod" --format json | \
602
+ jq -r '.fields[] | select(.value != null) | "export \(.label)=\"\(.value)\""' | \
603
+ grep -E "^export [A-Z_]+" | source /dev/stdin
604
+
605
+ # .env injection
606
+ op inject -i .env.tpl -o .env
607
+ # .env.tpl uses {{ op://Vault/Item/field }} syntax
608
+ ```
609
+
610
+ ### Doppler
611
+ ```bash
612
+ # Setup
613
+ doppler setup # interactive: select project + config
614
+
615
+ # Run any command with secrets injected
616
+ doppler run -- node server.js
617
+ doppler run -- npm run dev
618
+
619
+ # Export to .env (local dev only — never commit output)
620
+ doppler secrets download --no-file --format env > .env.local
621
+
622
+ # Pull specific secret
623
+ doppler secrets get DATABASE_URL --plain
624
+
625
+ # Sync to another environment
626
+ doppler secrets upload --project myapp --config staging < .env.staging.example
627
+ ```
628
+
629
+ ---
630
+
631
+ ## Environment Drift Detection
632
+
633
+ Check if staging and prod have the same set of keys (values may differ):
634
+
635
+ ```bash
636
+ #!/bin/bash
637
+ # scripts/check-env-drift.sh
638
+
639
+ # Pull key names from both environments (not values)
640
+ STAGING_KEYS=$(doppler secrets --project myapp --config staging --format json 2>/dev/null | \
641
+ jq -r 'keys[]' | sort)
642
+ PROD_KEYS=$(doppler secrets --project myapp --config prod --format json 2>/dev/null | \
643
+ jq -r 'keys[]' | sort)
644
+
645
+ ONLY_IN_STAGING=$(comm -23 <(echo "$STAGING_KEYS") <(echo "$PROD_KEYS"))
646
+ ONLY_IN_PROD=$(comm -13 <(echo "$STAGING_KEYS") <(echo "$PROD_KEYS"))
647
+
648
+ if [ -n "$ONLY_IN_STAGING" ]; then
649
+ echo "Keys in STAGING but NOT in PROD:"
650
+ echo "$ONLY_IN_STAGING" | sed 's/^/ /'
651
+ fi
652
+
653
+ if [ -n "$ONLY_IN_PROD" ]; then
654
+ echo "Keys in PROD but NOT in STAGING:"
655
+ echo "$ONLY_IN_PROD" | sed 's/^/ /'
656
+ fi
657
+
658
+ if [ -z "$ONLY_IN_STAGING" ] && [ -z "$ONLY_IN_PROD" ]; then
659
+ echo "✅ No env drift detected — staging and prod have identical key sets"
660
+ fi
661
+ ```
662
+
663
+ ---
664
+
665
+ ## Common Pitfalls
666
+
667
+ - **Committing .env instead of .env.example** — add `.env` to .gitignore on day 1; use pre-commit hooks
668
+ - **Storing secrets in CI/CD logs** — never `echo $SECRET`; mask vars in CI settings
669
+ - **Rotating only one place** — secrets often appear in Heroku, Vercel, Docker, K8s, CI — update ALL
670
+ - **Forgetting to invalidate sessions after JWT secret rotation** — all users will be logged out; communicate this
671
+ - **Using .env.example with real values** — example files are public; strip everything sensitive
672
+ - **Not monitoring after rotation** — watch audit logs for 24h after rotation to catch unauthorized old-credential use
673
+ - **Weak secrets** — `APP_SECRET=mysecret` is not a secret. Use `openssl rand -base64 32`
674
+
675
+ ---
676
+
677
+ ## Best Practices
678
+
679
+ 1. **Secret manager is source of truth** — .env files are for local dev only; never in prod
680
+ 2. **Rotate on a schedule**, not just after incidents — quarterly minimum for long-lived keys
681
+ 3. **Principle of least privilege** — each service gets its own API key with minimal permissions
682
+ 4. **Audit access** — log every secret read in Vault/SSM; alert on anomalous access
683
+ 5. **Never log secrets** — add log scrubbing middleware that redacts known secret patterns
684
+ 6. **Use short-lived credentials** — prefer OIDC/instance roles over long-lived access keys
685
+ 7. **Separate secrets per environment** — never share a key between dev and prod
686
+ 8. **Document rotation runbooks** — before an incident, not during one