@ruaruababa/vibe-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. package/CATALOG.md +317 -0
  2. package/README.md +121 -0
  3. package/aliases.json +65 -0
  4. package/bin/vibe.js +2 -0
  5. package/bundles.json +265 -0
  6. package/catalog.json +1560 -0
  7. package/dist/antigravity-skills/bin/cli.js +438 -0
  8. package/dist/antigravity-skills/lib/skill-utils.js +158 -0
  9. package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
  10. package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
  11. package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
  12. package/dist/bin/vibe.js +2 -0
  13. package/dist/dist/src/cli/index.js +26 -0
  14. package/dist/lib/skill-utils.js +158 -0
  15. package/dist/scripts/build-catalog.js +50 -0
  16. package/dist/scripts/normalize-frontmatter.js +144 -0
  17. package/dist/scripts/validate-skills.js +56 -0
  18. package/dist/src/cli/index.js +146 -0
  19. package/dist/src/types/index.js +13 -0
  20. package/dist/src/utils/fs.js +1 -0
  21. package/package.json +43 -0
  22. package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
  23. package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
  24. package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
  25. package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
  26. package/skills/agent-orchestrator/SKILL.md +24 -0
  27. package/skills/ai-engineer/SKILL.md +171 -0
  28. package/skills/airflow-dag-patterns/SKILL.md +41 -0
  29. package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
  30. package/skills/angular-migration/SKILL.md +428 -0
  31. package/skills/anti-reversing-techniques/SKILL.md +42 -0
  32. package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
  33. package/skills/api-design-principles/SKILL.md +37 -0
  34. package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  35. package/skills/api-design-principles/assets/rest-api-template.py +182 -0
  36. package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  37. package/skills/api-design-principles/references/rest-best-practices.md +408 -0
  38. package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
  39. package/skills/api-documenter/SKILL.md +184 -0
  40. package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
  41. package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
  42. package/skills/application-performance-performance-optimization/SKILL.md +154 -0
  43. package/skills/architect-review/SKILL.md +174 -0
  44. package/skills/architecture-decision-records/SKILL.md +441 -0
  45. package/skills/architecture-patterns/SKILL.md +37 -0
  46. package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
  47. package/skills/arm-cortex-expert/SKILL.md +306 -0
  48. package/skills/async-python-patterns/SKILL.md +39 -0
  49. package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
  50. package/skills/attack-tree-construction/SKILL.md +38 -0
  51. package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
  52. package/skills/auth-implementation-patterns/SKILL.md +39 -0
  53. package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
  54. package/skills/backend-architect/SKILL.md +333 -0
  55. package/skills/backend-development-feature-development/SKILL.md +180 -0
  56. package/skills/backend-security-coder/SKILL.md +156 -0
  57. package/skills/backtesting-frameworks/SKILL.md +39 -0
  58. package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
  59. package/skills/bash-defensive-patterns/SKILL.md +43 -0
  60. package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
  61. package/skills/bash-pro/SKILL.md +310 -0
  62. package/skills/bats-testing-patterns/SKILL.md +34 -0
  63. package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
  64. package/skills/bazel-build-optimization/SKILL.md +397 -0
  65. package/skills/billing-automation/SKILL.md +42 -0
  66. package/skills/billing-automation/resources/implementation-playbook.md +544 -0
  67. package/skills/binary-analysis-patterns/SKILL.md +450 -0
  68. package/skills/blockchain-developer/SKILL.md +208 -0
  69. package/skills/business-analyst/SKILL.md +182 -0
  70. package/skills/c-pro/SKILL.md +56 -0
  71. package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
  72. package/skills/c4-code/SKILL.md +244 -0
  73. package/skills/c4-component/SKILL.md +153 -0
  74. package/skills/c4-container/SKILL.md +171 -0
  75. package/skills/c4-context/SKILL.md +150 -0
  76. package/skills/changelog-automation/SKILL.md +38 -0
  77. package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
  78. package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
  79. package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
  80. package/skills/clean-markdown/SKILL.md +23 -0
  81. package/skills/cloud-architect/SKILL.md +135 -0
  82. package/skills/code-documentation-code-explain/SKILL.md +46 -0
  83. package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
  84. package/skills/code-documentation-doc-generate/SKILL.md +48 -0
  85. package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
  86. package/skills/code-refactoring-context-restore/SKILL.md +179 -0
  87. package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
  88. package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
  89. package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
  90. package/skills/code-review-ai-ai-review/SKILL.md +450 -0
  91. package/skills/code-review-excellence/SKILL.md +40 -0
  92. package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
  93. package/skills/code-reviewer/SKILL.md +178 -0
  94. package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
  95. package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
  96. package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
  97. package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
  98. package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
  99. package/skills/competitive-landscape/SKILL.md +34 -0
  100. package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
  101. package/skills/comprehensive-review-full-review/SKILL.md +146 -0
  102. package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
  103. package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
  104. package/skills/conductor-implement/SKILL.md +388 -0
  105. package/skills/conductor-manage/SKILL.md +39 -0
  106. package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
  107. package/skills/conductor-new-track/SKILL.md +433 -0
  108. package/skills/conductor-revert/SKILL.md +372 -0
  109. package/skills/conductor-setup/SKILL.md +426 -0
  110. package/skills/conductor-status/SKILL.md +338 -0
  111. package/skills/conductor-validator/SKILL.md +62 -0
  112. package/skills/content-marketer/SKILL.md +170 -0
  113. package/skills/context-driven-development/SKILL.md +400 -0
  114. package/skills/context-management-context-restore/SKILL.md +179 -0
  115. package/skills/context-management-context-save/SKILL.md +177 -0
  116. package/skills/context-manager/SKILL.md +185 -0
  117. package/skills/cost-optimization/SKILL.md +286 -0
  118. package/skills/cpp-pro/SKILL.md +59 -0
  119. package/skills/cqrs-implementation/SKILL.md +35 -0
  120. package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
  121. package/skills/csharp-pro/SKILL.md +59 -0
  122. package/skills/customer-support/SKILL.md +170 -0
  123. package/skills/data-engineer/SKILL.md +224 -0
  124. package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
  125. package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
  126. package/skills/data-quality-frameworks/SKILL.md +40 -0
  127. package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
  128. package/skills/data-scientist/SKILL.md +199 -0
  129. package/skills/data-storytelling/SKILL.md +465 -0
  130. package/skills/database-admin/SKILL.md +165 -0
  131. package/skills/database-architect/SKILL.md +268 -0
  132. package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
  133. package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
  134. package/skills/database-migration/SKILL.md +436 -0
  135. package/skills/database-migrations-migration-observability/SKILL.md +420 -0
  136. package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
  137. package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
  138. package/skills/database-optimizer/SKILL.md +167 -0
  139. package/skills/dbt-transformation-patterns/SKILL.md +34 -0
  140. package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
  141. package/skills/debugger/SKILL.md +49 -0
  142. package/skills/debugging-strategies/SKILL.md +34 -0
  143. package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
  144. package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
  145. package/skills/defi-protocol-templates/SKILL.md +466 -0
  146. package/skills/dependency-management-deps-audit/SKILL.md +44 -0
  147. package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
  148. package/skills/dependency-upgrade/SKILL.md +421 -0
  149. package/skills/deployment-engineer/SKILL.md +170 -0
  150. package/skills/deployment-pipeline-design/SKILL.md +371 -0
  151. package/skills/deployment-validation-config-validate/SKILL.md +496 -0
  152. package/skills/devops-troubleshooter/SKILL.md +161 -0
  153. package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
  154. package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
  155. package/skills/distributed-tracing/SKILL.md +450 -0
  156. package/skills/django-pro/SKILL.md +180 -0
  157. package/skills/docs-architect/SKILL.md +98 -0
  158. package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
  159. package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
  160. package/skills/dotnet-architect/SKILL.md +197 -0
  161. package/skills/dotnet-backend-patterns/SKILL.md +37 -0
  162. package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
  163. package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
  164. package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
  165. package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
  166. package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
  167. package/skills/dummy-skill/SKILL.md +5 -0
  168. package/skills/dx-optimizer/SKILL.md +83 -0
  169. package/skills/e2e-testing-patterns/SKILL.md +41 -0
  170. package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
  171. package/skills/elixir-pro/SKILL.md +59 -0
  172. package/skills/embedding-strategies/SKILL.md +491 -0
  173. package/skills/employment-contract-templates/SKILL.md +39 -0
  174. package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
  175. package/skills/error-debugging-error-analysis/SKILL.md +47 -0
  176. package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
  177. package/skills/error-debugging-error-trace/SKILL.md +43 -0
  178. package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
  179. package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
  180. package/skills/error-detective/SKILL.md +53 -0
  181. package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
  182. package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
  183. package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
  184. package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
  185. package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
  186. package/skills/error-handling-patterns/SKILL.md +35 -0
  187. package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
  188. package/skills/event-sourcing-architect/SKILL.md +58 -0
  189. package/skills/event-store-design/SKILL.md +449 -0
  190. package/skills/fastapi-pro/SKILL.md +192 -0
  191. package/skills/fastapi-templates/SKILL.md +32 -0
  192. package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
  193. package/skills/final-test/SKILL.md +5 -0
  194. package/skills/firmware-analyst/SKILL.md +320 -0
  195. package/skills/flutter-expert/SKILL.md +200 -0
  196. package/skills/framework-migration-code-migrate/SKILL.md +48 -0
  197. package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
  198. package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
  199. package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
  200. package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
  201. package/skills/frontend-developer/SKILL.md +171 -0
  202. package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
  203. package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
  204. package/skills/frontend-security-coder/SKILL.md +170 -0
  205. package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
  206. package/skills/gdpr-data-handling/SKILL.md +33 -0
  207. package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
  208. package/skills/git-advanced-workflows/SKILL.md +412 -0
  209. package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
  210. package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
  211. package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
  212. package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
  213. package/skills/github-actions-templates/SKILL.md +345 -0
  214. package/skills/gitlab-ci-patterns/SKILL.md +283 -0
  215. package/skills/gitops-workflow/SKILL.md +303 -0
  216. package/skills/gitops-workflow/references/argocd-setup.md +134 -0
  217. package/skills/gitops-workflow/references/sync-policies.md +131 -0
  218. package/skills/go-concurrency-patterns/SKILL.md +33 -0
  219. package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
  220. package/skills/godot-gdscript-patterns/SKILL.md +33 -0
  221. package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
  222. package/skills/golang-pro/SKILL.md +179 -0
  223. package/skills/grafana-dashboards/SKILL.md +381 -0
  224. package/skills/graphql-architect/SKILL.md +182 -0
  225. package/skills/haskell-pro/SKILL.md +56 -0
  226. package/skills/helm-chart-scaffolding/SKILL.md +34 -0
  227. package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
  228. package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
  229. package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
  230. package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
  231. package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
  232. package/skills/hr-pro/SKILL.md +126 -0
  233. package/skills/hybrid-cloud-architect/SKILL.md +168 -0
  234. package/skills/hybrid-cloud-networking/SKILL.md +238 -0
  235. package/skills/hybrid-search-implementation/SKILL.md +32 -0
  236. package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
  237. package/skills/incident-responder/SKILL.md +213 -0
  238. package/skills/incident-response-incident-response/SKILL.md +168 -0
  239. package/skills/incident-response-smart-fix/SKILL.md +29 -0
  240. package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
  241. package/skills/incident-runbook-templates/SKILL.md +395 -0
  242. package/skills/ios-developer/SKILL.md +219 -0
  243. package/skills/istio-traffic-management/SKILL.md +337 -0
  244. package/skills/java-pro/SKILL.md +177 -0
  245. package/skills/javascript-pro/SKILL.md +57 -0
  246. package/skills/javascript-testing-patterns/SKILL.md +35 -0
  247. package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
  248. package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
  249. package/skills/julia-pro/SKILL.md +209 -0
  250. package/skills/k8s-manifest-generator/SKILL.md +35 -0
  251. package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
  252. package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
  253. package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
  254. package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
  255. package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
  256. package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
  257. package/skills/k8s-security-policies/SKILL.md +346 -0
  258. package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
  259. package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
  260. package/skills/kpi-dashboard-design/SKILL.md +440 -0
  261. package/skills/kubernetes-architect/SKILL.md +170 -0
  262. package/skills/langchain-architecture/SKILL.md +350 -0
  263. package/skills/legacy-modernizer/SKILL.md +53 -0
  264. package/skills/legal-advisor/SKILL.md +70 -0
  265. package/skills/linkerd-patterns/SKILL.md +321 -0
  266. package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
  267. package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
  268. package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
  269. package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
  270. package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
  271. package/skills/llm-evaluation/SKILL.md +483 -0
  272. package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
  273. package/skills/malware-analyst/SKILL.md +247 -0
  274. package/skills/market-sizing-analysis/SKILL.md +425 -0
  275. package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
  276. package/skills/market-sizing-analysis/references/data-sources.md +360 -0
  277. package/skills/memory-forensics/SKILL.md +491 -0
  278. package/skills/memory-safety-patterns/SKILL.md +33 -0
  279. package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
  280. package/skills/mermaid-expert/SKILL.md +59 -0
  281. package/skills/microservices-patterns/SKILL.md +35 -0
  282. package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
  283. package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
  284. package/skills/ml-engineer/SKILL.md +168 -0
  285. package/skills/ml-pipeline-workflow/SKILL.md +257 -0
  286. package/skills/mlops-engineer/SKILL.md +219 -0
  287. package/skills/mobile-developer/SKILL.md +205 -0
  288. package/skills/mobile-security-coder/SKILL.md +184 -0
  289. package/skills/modern-javascript-patterns/SKILL.md +35 -0
  290. package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
  291. package/skills/monorepo-architect/SKILL.md +61 -0
  292. package/skills/monorepo-management/SKILL.md +35 -0
  293. package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
  294. package/skills/mtls-configuration/SKILL.md +359 -0
  295. package/skills/multi-cloud-architecture/SKILL.md +189 -0
  296. package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
  297. package/skills/network-engineer/SKILL.md +169 -0
  298. package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
  299. package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
  300. package/skills/nft-standards/SKILL.md +395 -0
  301. package/skills/node-expert/SKILL.md +23 -0
  302. package/skills/nodejs-backend-patterns/SKILL.md +35 -0
  303. package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
  304. package/skills/nx-workspace-patterns/SKILL.md +464 -0
  305. package/skills/observability-engineer/SKILL.md +237 -0
  306. package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
  307. package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
  308. package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
  309. package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
  310. package/skills/on-call-handoff-patterns/SKILL.md +453 -0
  311. package/skills/openapi-spec-generation/SKILL.md +33 -0
  312. package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
  313. package/skills/payment-integration/SKILL.md +77 -0
  314. package/skills/paypal-integration/SKILL.md +479 -0
  315. package/skills/pci-compliance/SKILL.md +478 -0
  316. package/skills/performance-engineer/SKILL.md +180 -0
  317. package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
  318. package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
  319. package/skills/php-pro/SKILL.md +63 -0
  320. package/skills/posix-shell-pro/SKILL.md +304 -0
  321. package/skills/postgresql/SKILL.md +230 -0
  322. package/skills/postmortem-writing/SKILL.md +386 -0
  323. package/skills/projection-patterns/SKILL.md +33 -0
  324. package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
  325. package/skills/prometheus-configuration/SKILL.md +404 -0
  326. package/skills/prompt-engineer/SKILL.md +272 -0
  327. package/skills/prompt-engineering-patterns/SKILL.md +213 -0
  328. package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
  329. package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
  330. package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
  331. package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
  332. package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
  333. package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
  334. package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
  335. package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
  336. package/skills/protocol-reverse-engineering/SKILL.md +29 -0
  337. package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
  338. package/skills/python-development-python-scaffold/SKILL.md +331 -0
  339. package/skills/python-packaging/SKILL.md +36 -0
  340. package/skills/python-packaging/resources/implementation-playbook.md +869 -0
  341. package/skills/python-performance-optimization/SKILL.md +36 -0
  342. package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
  343. package/skills/python-pro/SKILL.md +158 -0
  344. package/skills/python-testing-patterns/SKILL.md +37 -0
  345. package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
  346. package/skills/quant-analyst/SKILL.md +53 -0
  347. package/skills/rag-implementation/SKILL.md +421 -0
  348. package/skills/react-modernization/SKILL.md +34 -0
  349. package/skills/react-modernization/resources/implementation-playbook.md +512 -0
  350. package/skills/react-native-architecture/SKILL.md +33 -0
  351. package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
  352. package/skills/react-state-management/SKILL.md +441 -0
  353. package/skills/reference-builder/SKILL.md +188 -0
  354. package/skills/reverse-engineer/SKILL.md +173 -0
  355. package/skills/risk-manager/SKILL.md +61 -0
  356. package/skills/risk-metrics-calculation/SKILL.md +33 -0
  357. package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
  358. package/skills/ruby-pro/SKILL.md +56 -0
  359. package/skills/rust-async-patterns/SKILL.md +33 -0
  360. package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
  361. package/skills/rust-pro/SKILL.md +178 -0
  362. package/skills/saga-orchestration/SKILL.md +496 -0
  363. package/skills/sales-automator/SKILL.md +55 -0
  364. package/skills/sast-configuration/SKILL.md +212 -0
  365. package/skills/scala-pro/SKILL.md +82 -0
  366. package/skills/screen-reader-testing/SKILL.md +33 -0
  367. package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
  368. package/skills/search-specialist/SKILL.md +80 -0
  369. package/skills/secrets-management/SKILL.md +364 -0
  370. package/skills/security-auditor/SKILL.md +169 -0
  371. package/skills/security-compliance-compliance-check/SKILL.md +55 -0
  372. package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
  373. package/skills/security-requirement-extraction/SKILL.md +33 -0
  374. package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
  375. package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
  376. package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
  377. package/skills/security-scanning-security-hardening/SKILL.md +147 -0
  378. package/skills/security-scanning-security-sast/SKILL.md +495 -0
  379. package/skills/seo-authority-builder/SKILL.md +136 -0
  380. package/skills/seo-cannibalization-detector/SKILL.md +123 -0
  381. package/skills/seo-content-auditor/SKILL.md +83 -0
  382. package/skills/seo-content-planner/SKILL.md +108 -0
  383. package/skills/seo-content-refresher/SKILL.md +118 -0
  384. package/skills/seo-content-writer/SKILL.md +96 -0
  385. package/skills/seo-keyword-strategist/SKILL.md +95 -0
  386. package/skills/seo-meta-optimizer/SKILL.md +92 -0
  387. package/skills/seo-snippet-hunter/SKILL.md +114 -0
  388. package/skills/seo-structure-architect/SKILL.md +108 -0
  389. package/skills/service-mesh-expert/SKILL.md +58 -0
  390. package/skills/service-mesh-observability/SKILL.md +395 -0
  391. package/skills/shellcheck-configuration/SKILL.md +466 -0
  392. package/skills/similarity-search-patterns/SKILL.md +33 -0
  393. package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
  394. package/skills/slo-implementation/SKILL.md +341 -0
  395. package/skills/solidity-security/SKILL.md +34 -0
  396. package/skills/solidity-security/resources/implementation-playbook.md +524 -0
  397. package/skills/spark-optimization/SKILL.md +427 -0
  398. package/skills/sql-optimization-patterns/SKILL.md +35 -0
  399. package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
  400. package/skills/sql-pro/SKILL.md +173 -0
  401. package/skills/startup-analyst/SKILL.md +328 -0
  402. package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
  403. package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
  404. package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
  405. package/skills/startup-financial-modeling/SKILL.md +467 -0
  406. package/skills/startup-metrics-framework/SKILL.md +34 -0
  407. package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
  408. package/skills/stride-analysis-patterns/SKILL.md +33 -0
  409. package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
  410. package/skills/stripe-integration/SKILL.md +454 -0
  411. package/skills/systems-programming-rust-project/SKILL.md +440 -0
  412. package/skills/tailwind-design-system/SKILL.md +33 -0
  413. package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
  414. package/skills/tdd-orchestrator/SKILL.md +205 -0
  415. package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
  416. package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
  417. package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
  418. package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
  419. package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
  420. package/skills/team-collaboration-issue/SKILL.md +37 -0
  421. package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
  422. package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
  423. package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
  424. package/skills/team-composition-analysis/SKILL.md +413 -0
  425. package/skills/temporal-python-pro/SKILL.md +370 -0
  426. package/skills/temporal-python-testing/SKILL.md +170 -0
  427. package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
  428. package/skills/temporal-python-testing/resources/local-setup.md +553 -0
  429. package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
  430. package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
  431. package/skills/terraform-module-library/SKILL.md +261 -0
  432. package/skills/terraform-module-library/references/aws-modules.md +63 -0
  433. package/skills/terraform-specialist/SKILL.md +166 -0
  434. package/skills/test-automator/SKILL.md +224 -0
  435. package/skills/threat-mitigation-mapping/SKILL.md +33 -0
  436. package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
  437. package/skills/threat-modeling-expert/SKILL.md +60 -0
  438. package/skills/track-management/SKILL.md +38 -0
  439. package/skills/track-management/resources/implementation-playbook.md +591 -0
  440. package/skills/turborepo-caching/SKILL.md +419 -0
  441. package/skills/tutorial-engineer/SKILL.md +139 -0
  442. package/skills/typescript-advanced-types/SKILL.md +35 -0
  443. package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
  444. package/skills/typescript-pro/SKILL.md +55 -0
  445. package/skills/ui-minimal/SKILL.md +23 -0
  446. package/skills/ui-ux-designer/SKILL.md +209 -0
  447. package/skills/ui-visual-validator/SKILL.md +214 -0
  448. package/skills/unit-testing-test-generate/SKILL.md +319 -0
  449. package/skills/unity-developer/SKILL.md +230 -0
  450. package/skills/unity-ecs-patterns/SKILL.md +33 -0
  451. package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
  452. package/skills/uv-package-manager/SKILL.md +37 -0
  453. package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
  454. package/skills/vector-database-engineer/SKILL.md +60 -0
  455. package/skills/vector-index-tuning/SKILL.md +42 -0
  456. package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
  457. package/skills/wcag-audit-patterns/SKILL.md +41 -0
  458. package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
  459. package/skills/web3-testing/SKILL.md +427 -0
  460. package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
  461. package/skills/workflow-patterns/SKILL.md +38 -0
  462. package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
@@ -0,0 +1,1307 @@
1
+ # Debug and Trace Configuration Implementation Playbook
2
+
3
+ This file contains detailed patterns, checklists, and code samples referenced by the skill.
4
+
5
+ ## Instructions
6
+
7
+ ### 1. Development Environment Debugging
8
+
9
+ Set up comprehensive debugging environments:
10
+
11
+ **VS Code Debug Configuration**
12
+ ```json
13
+ // .vscode/launch.json
14
+ {
15
+ "version": "0.2.0",
16
+ "configurations": [
17
+ {
18
+ "name": "Debug Node.js App",
19
+ "type": "node",
20
+ "request": "launch",
21
+ "runtimeExecutable": "node",
22
+ "runtimeArgs": ["--inspect-brk", "--enable-source-maps"],
23
+ "program": "${workspaceFolder}/src/index.js",
24
+ "env": {
25
+ "NODE_ENV": "development",
26
+ "DEBUG": "*",
27
+ "NODE_OPTIONS": "--max-old-space-size=4096"
28
+ },
29
+ "sourceMaps": true,
30
+ "resolveSourceMapLocations": [
31
+ "${workspaceFolder}/**",
32
+ "!**/node_modules/**"
33
+ ],
34
+ "skipFiles": [
35
+ "<node_internals>/**",
36
+ "node_modules/**"
37
+ ],
38
+ "console": "integratedTerminal",
39
+ "outputCapture": "std"
40
+ },
41
+ {
42
+ "name": "Debug TypeScript",
43
+ "type": "node",
44
+ "request": "launch",
45
+ "program": "${workspaceFolder}/src/index.ts",
46
+ "preLaunchTask": "tsc: build - tsconfig.json",
47
+ "outFiles": ["${workspaceFolder}/dist/**/*.js"],
48
+ "sourceMaps": true,
49
+ "smartStep": true,
50
+ "internalConsoleOptions": "openOnSessionStart"
51
+ },
52
+ {
53
+ "name": "Debug Jest Tests",
54
+ "type": "node",
55
+ "request": "launch",
56
+ "program": "${workspaceFolder}/node_modules/.bin/jest",
57
+ "args": [
58
+ "--runInBand",
59
+ "--no-cache",
60
+ "--watchAll=false",
61
+ "--detectOpenHandles"
62
+ ],
63
+ "console": "integratedTerminal",
64
+ "internalConsoleOptions": "neverOpen",
65
+ "env": {
66
+ "NODE_ENV": "test"
67
+ }
68
+ },
69
+ {
70
+ "name": "Attach to Process",
71
+ "type": "node",
72
+ "request": "attach",
73
+ "processId": "${command:PickProcess}",
74
+ "protocol": "inspector",
75
+ "restart": true,
76
+ "sourceMaps": true
77
+ }
78
+ ],
79
+ "compounds": [
80
+ {
81
+ "name": "Full Stack Debug",
82
+ "configurations": ["Debug Backend", "Debug Frontend"],
83
+ "stopAll": true
84
+ }
85
+ ]
86
+ }
87
+ ```
88
+
89
+ **Chrome DevTools Configuration**
90
+ ```javascript
91
+ // debug-helpers.js
92
+ class DebugHelper {
93
+ constructor() {
94
+ this.setupDevTools();
95
+ this.setupConsoleHelpers();
96
+ this.setupPerformanceMarkers();
97
+ }
98
+
99
+ setupDevTools() {
100
+ if (typeof window !== 'undefined') {
101
+ // Add debug namespace
102
+ window.DEBUG = window.DEBUG || {};
103
+
104
+ // Store references to important objects
105
+ window.DEBUG.store = () => window.__REDUX_STORE__;
106
+ window.DEBUG.router = () => window.__ROUTER__;
107
+ window.DEBUG.components = new Map();
108
+
109
+ // Performance debugging
110
+ window.DEBUG.measureRender = (componentName) => {
111
+ performance.mark(`${componentName}-start`);
112
+ return () => {
113
+ performance.mark(`${componentName}-end`);
114
+ performance.measure(
115
+ componentName,
116
+ `${componentName}-start`,
117
+ `${componentName}-end`
118
+ );
119
+ };
120
+ };
121
+
122
+ // Memory debugging
123
+ window.DEBUG.heapSnapshot = async () => {
124
+ if ('memory' in performance) {
125
+ const snapshot = await performance.measureUserAgentSpecificMemory();
126
+ console.table(snapshot);
127
+ return snapshot;
128
+ }
129
+ };
130
+ }
131
+ }
132
+
133
+ setupConsoleHelpers() {
134
+ // Enhanced console logging
135
+ const styles = {
136
+ error: 'color: #ff0000; font-weight: bold;',
137
+ warn: 'color: #ff9800; font-weight: bold;',
138
+ info: 'color: #2196f3; font-weight: bold;',
139
+ debug: 'color: #4caf50; font-weight: bold;',
140
+ trace: 'color: #9c27b0; font-weight: bold;'
141
+ };
142
+
143
+ Object.entries(styles).forEach(([level, style]) => {
144
+ const original = console[level];
145
+ console[level] = function(...args) {
146
+ if (process.env.NODE_ENV === 'development') {
147
+ const timestamp = new Date().toISOString();
148
+ original.call(console, `%c[${timestamp}] ${level.toUpperCase()}:`, style, ...args);
149
+ }
150
+ };
151
+ });
152
+ }
153
+ }
154
+
155
+ // React DevTools integration
156
+ if (process.env.NODE_ENV === 'development') {
157
+ // Expose React internals
158
+ window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = {
159
+ ...window.__REACT_DEVTOOLS_GLOBAL_HOOK__,
160
+ onCommitFiberRoot: (id, root) => {
161
+ // Custom commit logging
162
+ console.debug('React commit:', root);
163
+ }
164
+ };
165
+ }
166
+ ```
167
+
168
+ ### 2. Remote Debugging Setup
169
+
170
+ Configure remote debugging capabilities:
171
+
172
+ **Remote Debug Server**
173
+ ```javascript
174
+ // remote-debug-server.js
175
+ const inspector = require('inspector');
176
+ const WebSocket = require('ws');
177
+ const http = require('http');
178
+
179
+ class RemoteDebugServer {
180
+ constructor(options = {}) {
181
+ this.port = options.port || 9229;
182
+ this.host = options.host || '0.0.0.0';
183
+ this.wsPort = options.wsPort || 9230;
184
+ this.sessions = new Map();
185
+ }
186
+
187
+ start() {
188
+ // Open inspector
189
+ inspector.open(this.port, this.host, true);
190
+
191
+ // Create WebSocket server for remote connections
192
+ this.wss = new WebSocket.Server({ port: this.wsPort });
193
+
194
+ this.wss.on('connection', (ws) => {
195
+ const sessionId = this.generateSessionId();
196
+ this.sessions.set(sessionId, ws);
197
+
198
+ ws.on('message', (message) => {
199
+ this.handleDebugCommand(sessionId, message);
200
+ });
201
+
202
+ ws.on('close', () => {
203
+ this.sessions.delete(sessionId);
204
+ });
205
+
206
+ // Send initial session info
207
+ ws.send(JSON.stringify({
208
+ type: 'session',
209
+ sessionId,
210
+ debugUrl: `chrome-devtools://devtools/bundled/inspector.html?ws=${this.host}:${this.port}`
211
+ }));
212
+ });
213
+
214
+ console.log(`Remote debug server listening on ws://${this.host}:${this.wsPort}`);
215
+ }
216
+
217
+ handleDebugCommand(sessionId, message) {
218
+ const command = JSON.parse(message);
219
+
220
+ switch (command.type) {
221
+ case 'evaluate':
222
+ this.evaluateExpression(sessionId, command.expression);
223
+ break;
224
+ case 'setBreakpoint':
225
+ this.setBreakpoint(command.file, command.line);
226
+ break;
227
+ case 'heapSnapshot':
228
+ this.takeHeapSnapshot(sessionId);
229
+ break;
230
+ case 'profile':
231
+ this.startProfiling(sessionId, command.duration);
232
+ break;
233
+ }
234
+ }
235
+
236
+ evaluateExpression(sessionId, expression) {
237
+ const session = new inspector.Session();
238
+ session.connect();
239
+
240
+ session.post('Runtime.evaluate', {
241
+ expression,
242
+ generatePreview: true,
243
+ includeCommandLineAPI: true
244
+ }, (error, result) => {
245
+ const ws = this.sessions.get(sessionId);
246
+ if (ws) {
247
+ ws.send(JSON.stringify({
248
+ type: 'evaluateResult',
249
+ result: result || error
250
+ }));
251
+ }
252
+ });
253
+
254
+ session.disconnect();
255
+ }
256
+ }
257
+
258
+ // Docker remote debugging setup
259
+ FROM node:18
260
+ RUN apt-get update && apt-get install -y \
261
+ chromium \
262
+ gdb \
263
+ strace \
264
+ tcpdump \
265
+ vim
266
+
267
+ EXPOSE 9229 9230
268
+ ENV NODE_OPTIONS="--inspect=0.0.0.0:9229"
269
+ CMD ["node", "--inspect-brk=0.0.0.0:9229", "index.js"]
270
+ ```
271
+
272
+ ### 3. Distributed Tracing
273
+
274
+ Implement comprehensive distributed tracing:
275
+
276
+ **OpenTelemetry Setup**
277
+ ```javascript
278
+ // tracing.js
279
+ const { NodeSDK } = require('@opentelemetry/sdk-node');
280
+ const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
281
+ const { Resource } = require('@opentelemetry/resources');
282
+ const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
283
+ const { JaegerExporter } = require('@opentelemetry/exporter-jaeger');
284
+ const { BatchSpanProcessor } = require('@opentelemetry/sdk-trace-base');
285
+
286
+ class TracingSystem {
287
+ constructor(serviceName) {
288
+ this.serviceName = serviceName;
289
+ this.sdk = null;
290
+ }
291
+
292
+ initialize() {
293
+ const jaegerExporter = new JaegerExporter({
294
+ endpoint: process.env.JAEGER_ENDPOINT || 'http://localhost:14268/api/traces',
295
+ });
296
+
297
+ const resource = Resource.default().merge(
298
+ new Resource({
299
+ [SemanticResourceAttributes.SERVICE_NAME]: this.serviceName,
300
+ [SemanticResourceAttributes.SERVICE_VERSION]: process.env.SERVICE_VERSION || '1.0.0',
301
+ [SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: process.env.NODE_ENV || 'development',
302
+ })
303
+ );
304
+
305
+ this.sdk = new NodeSDK({
306
+ resource,
307
+ spanProcessor: new BatchSpanProcessor(jaegerExporter),
308
+ instrumentations: [
309
+ getNodeAutoInstrumentations({
310
+ '@opentelemetry/instrumentation-fs': {
311
+ enabled: false, // Too noisy
312
+ },
313
+ '@opentelemetry/instrumentation-http': {
314
+ requestHook: (span, request) => {
315
+ span.setAttribute('http.request.body', JSON.stringify(request.body));
316
+ },
317
+ responseHook: (span, response) => {
318
+ span.setAttribute('http.response.size', response.length);
319
+ },
320
+ },
321
+ '@opentelemetry/instrumentation-express': {
322
+ requestHook: (span, req) => {
323
+ span.setAttribute('user.id', req.user?.id);
324
+ span.setAttribute('session.id', req.session?.id);
325
+ },
326
+ },
327
+ }),
328
+ ],
329
+ });
330
+
331
+ this.sdk.start();
332
+
333
+ // Graceful shutdown
334
+ process.on('SIGTERM', () => {
335
+ this.sdk.shutdown()
336
+ .then(() => console.log('Tracing terminated'))
337
+ .catch((error) => console.error('Error terminating tracing', error))
338
+ .finally(() => process.exit(0));
339
+ });
340
+ }
341
+
342
+ // Custom span creation
343
+ createSpan(name, fn, attributes = {}) {
344
+ const tracer = trace.getTracer(this.serviceName);
345
+ return tracer.startActiveSpan(name, async (span) => {
346
+ try {
347
+ // Add custom attributes
348
+ Object.entries(attributes).forEach(([key, value]) => {
349
+ span.setAttribute(key, value);
350
+ });
351
+
352
+ // Execute function
353
+ const result = await fn(span);
354
+
355
+ span.setStatus({ code: SpanStatusCode.OK });
356
+ return result;
357
+ } catch (error) {
358
+ span.recordException(error);
359
+ span.setStatus({
360
+ code: SpanStatusCode.ERROR,
361
+ message: error.message,
362
+ });
363
+ throw error;
364
+ } finally {
365
+ span.end();
366
+ }
367
+ });
368
+ }
369
+ }
370
+
371
+ // Distributed tracing middleware
372
+ class TracingMiddleware {
373
+ constructor() {
374
+ this.tracer = trace.getTracer('http-middleware');
375
+ }
376
+
377
+ express() {
378
+ return (req, res, next) => {
379
+ const span = this.tracer.startSpan(`${req.method} ${req.path}`, {
380
+ kind: SpanKind.SERVER,
381
+ attributes: {
382
+ 'http.method': req.method,
383
+ 'http.url': req.url,
384
+ 'http.target': req.path,
385
+ 'http.host': req.hostname,
386
+ 'http.scheme': req.protocol,
387
+ 'http.user_agent': req.get('user-agent'),
388
+ 'http.request_content_length': req.get('content-length'),
389
+ },
390
+ });
391
+
392
+ // Inject trace context into request
393
+ req.span = span;
394
+ req.traceId = span.spanContext().traceId;
395
+
396
+ // Add trace ID to response headers
397
+ res.setHeader('X-Trace-Id', req.traceId);
398
+
399
+ // Override res.end to capture response data
400
+ const originalEnd = res.end;
401
+ res.end = function(...args) {
402
+ span.setAttribute('http.status_code', res.statusCode);
403
+ span.setAttribute('http.response_content_length', res.get('content-length'));
404
+
405
+ if (res.statusCode >= 400) {
406
+ span.setStatus({
407
+ code: SpanStatusCode.ERROR,
408
+ message: `HTTP ${res.statusCode}`,
409
+ });
410
+ }
411
+
412
+ span.end();
413
+ originalEnd.apply(res, args);
414
+ };
415
+
416
+ next();
417
+ };
418
+ }
419
+ }
420
+ ```
421
+
422
+ ### 4. Debug Logging Framework
423
+
424
+ Implement structured debug logging:
425
+
426
+ **Advanced Logger**
427
+ ```javascript
428
+ // debug-logger.js
429
+ const winston = require('winston');
430
+ const { ElasticsearchTransport } = require('winston-elasticsearch');
431
+
432
+ class DebugLogger {
433
+ constructor(options = {}) {
434
+ this.service = options.service || 'app';
435
+ this.level = process.env.LOG_LEVEL || 'debug';
436
+ this.logger = this.createLogger();
437
+ }
438
+
439
+ createLogger() {
440
+ const formats = [
441
+ winston.format.timestamp(),
442
+ winston.format.errors({ stack: true }),
443
+ winston.format.splat(),
444
+ winston.format.json(),
445
+ ];
446
+
447
+ if (process.env.NODE_ENV === 'development') {
448
+ formats.push(winston.format.colorize());
449
+ formats.push(winston.format.printf(this.devFormat));
450
+ }
451
+
452
+ const transports = [
453
+ new winston.transports.Console({
454
+ level: this.level,
455
+ handleExceptions: true,
456
+ handleRejections: true,
457
+ }),
458
+ ];
459
+
460
+ // Add file transport for debugging
461
+ if (process.env.DEBUG_LOG_FILE) {
462
+ transports.push(
463
+ new winston.transports.File({
464
+ filename: process.env.DEBUG_LOG_FILE,
465
+ level: 'debug',
466
+ maxsize: 10485760, // 10MB
467
+ maxFiles: 5,
468
+ })
469
+ );
470
+ }
471
+
472
+ // Add Elasticsearch for production
473
+ if (process.env.ELASTICSEARCH_URL) {
474
+ transports.push(
475
+ new ElasticsearchTransport({
476
+ level: 'info',
477
+ clientOpts: {
478
+ node: process.env.ELASTICSEARCH_URL,
479
+ },
480
+ index: `logs-${this.service}`,
481
+ })
482
+ );
483
+ }
484
+
485
+ return winston.createLogger({
486
+ level: this.level,
487
+ format: winston.format.combine(...formats),
488
+ defaultMeta: {
489
+ service: this.service,
490
+ environment: process.env.NODE_ENV,
491
+ hostname: require('os').hostname(),
492
+ pid: process.pid,
493
+ },
494
+ transports,
495
+ });
496
+ }
497
+
498
+ devFormat(info) {
499
+ const { timestamp, level, message, ...meta } = info;
500
+ const metaString = Object.keys(meta).length ?
501
+ '\n' + JSON.stringify(meta, null, 2) : '';
502
+
503
+ return `${timestamp} [${level}]: ${message}${metaString}`;
504
+ }
505
+
506
+ // Debug-specific methods
507
+ trace(message, meta = {}) {
508
+ const stack = new Error().stack;
509
+ this.logger.debug(message, {
510
+ ...meta,
511
+ trace: stack,
512
+ timestamp: Date.now(),
513
+ });
514
+ }
515
+
516
+ timing(label, fn) {
517
+ const start = process.hrtime.bigint();
518
+ const result = fn();
519
+ const end = process.hrtime.bigint();
520
+ const duration = Number(end - start) / 1000000; // Convert to ms
521
+
522
+ this.logger.debug(`Timing: ${label}`, {
523
+ duration,
524
+ unit: 'ms',
525
+ });
526
+
527
+ return result;
528
+ }
529
+
530
+ memory() {
531
+ const usage = process.memoryUsage();
532
+ this.logger.debug('Memory usage', {
533
+ rss: `${Math.round(usage.rss / 1024 / 1024)}MB`,
534
+ heapTotal: `${Math.round(usage.heapTotal / 1024 / 1024)}MB`,
535
+ heapUsed: `${Math.round(usage.heapUsed / 1024 / 1024)}MB`,
536
+ external: `${Math.round(usage.external / 1024 / 1024)}MB`,
537
+ });
538
+ }
539
+ }
540
+
541
+ // Debug context manager
542
+ class DebugContext {
543
+ constructor() {
544
+ this.contexts = new Map();
545
+ }
546
+
547
+ create(id, metadata = {}) {
548
+ const context = {
549
+ id,
550
+ startTime: Date.now(),
551
+ metadata,
552
+ logs: [],
553
+ spans: [],
554
+ };
555
+
556
+ this.contexts.set(id, context);
557
+ return context;
558
+ }
559
+
560
+ log(contextId, level, message, data = {}) {
561
+ const context = this.contexts.get(contextId);
562
+ if (context) {
563
+ context.logs.push({
564
+ timestamp: Date.now(),
565
+ level,
566
+ message,
567
+ data,
568
+ });
569
+ }
570
+ }
571
+
572
+ export(contextId) {
573
+ const context = this.contexts.get(contextId);
574
+ if (!context) return null;
575
+
576
+ return {
577
+ ...context,
578
+ duration: Date.now() - context.startTime,
579
+ logCount: context.logs.length,
580
+ };
581
+ }
582
+ }
583
+ ```
584
+
585
+ ### 5. Source Map Configuration
586
+
587
+ Set up source map support for production debugging:
588
+
589
+ **Source Map Setup**
590
+ ```javascript
591
+ // webpack.config.js
592
+ module.exports = {
593
+ mode: 'production',
594
+ devtool: 'hidden-source-map', // Generate source maps but don't reference them
595
+
596
+ output: {
597
+ filename: '[name].[contenthash].js',
598
+ sourceMapFilename: 'sourcemaps/[name].[contenthash].js.map',
599
+ },
600
+
601
+ plugins: [
602
+ // Upload source maps to error tracking service
603
+ new SentryWebpackPlugin({
604
+ authToken: process.env.SENTRY_AUTH_TOKEN,
605
+ org: 'your-org',
606
+ project: 'your-project',
607
+ include: './dist',
608
+ ignore: ['node_modules'],
609
+ urlPrefix: '~/',
610
+ release: process.env.RELEASE_VERSION,
611
+ deleteAfterCompile: true,
612
+ }),
613
+ ],
614
+ };
615
+
616
+ // Runtime source map support
617
+ require('source-map-support').install({
618
+ environment: 'node',
619
+ handleUncaughtExceptions: false,
620
+ retrieveSourceMap(source) {
621
+ // Custom source map retrieval for production
622
+ if (process.env.NODE_ENV === 'production') {
623
+ const sourceMapUrl = getSourceMapUrl(source);
624
+ if (sourceMapUrl) {
625
+ const map = fetchSourceMap(sourceMapUrl);
626
+ return {
627
+ url: source,
628
+ map: map,
629
+ };
630
+ }
631
+ }
632
+ return null;
633
+ },
634
+ });
635
+
636
+ // Stack trace enhancement
637
+ Error.prepareStackTrace = (error, stack) => {
638
+ const mapped = stack.map(frame => {
639
+ const fileName = frame.getFileName();
640
+ const lineNumber = frame.getLineNumber();
641
+ const columnNumber = frame.getColumnNumber();
642
+
643
+ // Try to get original position
644
+ const original = getOriginalPosition(fileName, lineNumber, columnNumber);
645
+
646
+ return {
647
+ function: frame.getFunctionName() || '<anonymous>',
648
+ file: original?.source || fileName,
649
+ line: original?.line || lineNumber,
650
+ column: original?.column || columnNumber,
651
+ native: frame.isNative(),
652
+ async: frame.isAsync(),
653
+ };
654
+ });
655
+
656
+ return {
657
+ message: error.message,
658
+ stack: mapped,
659
+ };
660
+ };
661
+ ```
662
+
663
+ ### 6. Performance Profiling
664
+
665
+ Implement performance profiling tools:
666
+
667
+ **Performance Profiler**
668
+ ```javascript
669
+ // performance-profiler.js
670
+ const v8Profiler = require('v8-profiler-next');
671
+ const fs = require('fs');
672
+ const path = require('path');
673
+
674
+ class PerformanceProfiler {
675
+ constructor(options = {}) {
676
+ this.outputDir = options.outputDir || './profiles';
677
+ this.profiles = new Map();
678
+
679
+ // Ensure output directory exists
680
+ if (!fs.existsSync(this.outputDir)) {
681
+ fs.mkdirSync(this.outputDir, { recursive: true });
682
+ }
683
+ }
684
+
685
+ startCPUProfile(id, options = {}) {
686
+ const title = options.title || `cpu-profile-${id}`;
687
+ v8Profiler.startProfiling(title, true);
688
+
689
+ this.profiles.set(id, {
690
+ type: 'cpu',
691
+ title,
692
+ startTime: Date.now(),
693
+ });
694
+
695
+ return id;
696
+ }
697
+
698
+ stopCPUProfile(id) {
699
+ const profileInfo = this.profiles.get(id);
700
+ if (!profileInfo || profileInfo.type !== 'cpu') {
701
+ throw new Error(`CPU profile ${id} not found`);
702
+ }
703
+
704
+ const profile = v8Profiler.stopProfiling(profileInfo.title);
705
+ const duration = Date.now() - profileInfo.startTime;
706
+
707
+ // Export profile
708
+ const fileName = `${profileInfo.title}-${Date.now()}.cpuprofile`;
709
+ const filePath = path.join(this.outputDir, fileName);
710
+
711
+ profile.export((error, result) => {
712
+ if (!error) {
713
+ fs.writeFileSync(filePath, result);
714
+ console.log(`CPU profile saved to ${filePath}`);
715
+ }
716
+ profile.delete();
717
+ });
718
+
719
+ this.profiles.delete(id);
720
+
721
+ return {
722
+ id,
723
+ duration,
724
+ filePath,
725
+ };
726
+ }
727
+
728
+ takeHeapSnapshot(tag = '') {
729
+ const fileName = `heap-${tag}-${Date.now()}.heapsnapshot`;
730
+ const filePath = path.join(this.outputDir, fileName);
731
+
732
+ const snapshot = v8Profiler.takeSnapshot();
733
+
734
+ // Export snapshot
735
+ snapshot.export((error, result) => {
736
+ if (!error) {
737
+ fs.writeFileSync(filePath, result);
738
+ console.log(`Heap snapshot saved to ${filePath}`);
739
+ }
740
+ snapshot.delete();
741
+ });
742
+
743
+ return filePath;
744
+ }
745
+
746
+ measureFunction(fn, name = 'anonymous') {
747
+ const measurements = {
748
+ name,
749
+ executions: 0,
750
+ totalTime: 0,
751
+ minTime: Infinity,
752
+ maxTime: 0,
753
+ avgTime: 0,
754
+ lastExecution: null,
755
+ };
756
+
757
+ return new Proxy(fn, {
758
+ apply(target, thisArg, args) {
759
+ const start = process.hrtime.bigint();
760
+
761
+ try {
762
+ const result = target.apply(thisArg, args);
763
+
764
+ if (result instanceof Promise) {
765
+ return result.finally(() => {
766
+ this.recordExecution(start);
767
+ });
768
+ }
769
+
770
+ this.recordExecution(start);
771
+ return result;
772
+ } catch (error) {
773
+ this.recordExecution(start);
774
+ throw error;
775
+ }
776
+ },
777
+
778
+ recordExecution(start) {
779
+ const end = process.hrtime.bigint();
780
+ const duration = Number(end - start) / 1000000; // Convert to ms
781
+
782
+ measurements.executions++;
783
+ measurements.totalTime += duration;
784
+ measurements.minTime = Math.min(measurements.minTime, duration);
785
+ measurements.maxTime = Math.max(measurements.maxTime, duration);
786
+ measurements.avgTime = measurements.totalTime / measurements.executions;
787
+ measurements.lastExecution = new Date();
788
+
789
+ // Log slow executions
790
+ if (duration > 100) {
791
+ console.warn(`Slow function execution: ${name} took ${duration}ms`);
792
+ }
793
+ },
794
+
795
+ get(target, prop) {
796
+ if (prop === 'measurements') {
797
+ return measurements;
798
+ }
799
+ return target[prop];
800
+ },
801
+ });
802
+ }
803
+ }
804
+
805
+ // Memory leak detector
806
+ class MemoryLeakDetector {
807
+ constructor() {
808
+ this.snapshots = [];
809
+ this.threshold = 50 * 1024 * 1024; // 50MB
810
+ }
811
+
812
+ start(interval = 60000) {
813
+ this.interval = setInterval(() => {
814
+ this.checkMemory();
815
+ }, interval);
816
+ }
817
+
818
+ checkMemory() {
819
+ const usage = process.memoryUsage();
820
+ const snapshot = {
821
+ timestamp: Date.now(),
822
+ heapUsed: usage.heapUsed,
823
+ external: usage.external,
824
+ rss: usage.rss,
825
+ };
826
+
827
+ this.snapshots.push(snapshot);
828
+
829
+ // Keep only last 10 snapshots
830
+ if (this.snapshots.length > 10) {
831
+ this.snapshots.shift();
832
+ }
833
+
834
+ // Check for memory leak pattern
835
+ if (this.snapshots.length >= 5) {
836
+ const trend = this.calculateTrend();
837
+ if (trend.increasing && trend.delta > this.threshold) {
838
+ console.error('Potential memory leak detected!', {
839
+ trend,
840
+ current: snapshot,
841
+ });
842
+
843
+ // Take heap snapshot for analysis
844
+ const profiler = new PerformanceProfiler();
845
+ profiler.takeHeapSnapshot('leak-detection');
846
+ }
847
+ }
848
+ }
849
+
850
+ calculateTrend() {
851
+ const recent = this.snapshots.slice(-5);
852
+ const first = recent[0];
853
+ const last = recent[recent.length - 1];
854
+
855
+ const delta = last.heapUsed - first.heapUsed;
856
+ const increasing = recent.every((s, i) =>
857
+ i === 0 || s.heapUsed > recent[i - 1].heapUsed
858
+ );
859
+
860
+ return {
861
+ increasing,
862
+ delta,
863
+ rate: delta / (last.timestamp - first.timestamp) * 1000 * 60, // MB per minute
864
+ };
865
+ }
866
+ }
867
+ ```
868
+
869
+ ### 7. Debug Configuration Management
870
+
871
+ Centralize debug configurations:
872
+
873
+ **Debug Configuration**
874
+ ```javascript
875
+ // debug-config.js
876
+ class DebugConfiguration {
877
+ constructor() {
878
+ this.config = {
879
+ // Debug levels
880
+ levels: {
881
+ error: 0,
882
+ warn: 1,
883
+ info: 2,
884
+ debug: 3,
885
+ trace: 4,
886
+ },
887
+
888
+ // Feature flags
889
+ features: {
890
+ remoteDebugging: process.env.ENABLE_REMOTE_DEBUG === 'true',
891
+ tracing: process.env.ENABLE_TRACING === 'true',
892
+ profiling: process.env.ENABLE_PROFILING === 'true',
893
+ memoryMonitoring: process.env.ENABLE_MEMORY_MONITORING === 'true',
894
+ },
895
+
896
+ // Debug endpoints
897
+ endpoints: {
898
+ jaeger: process.env.JAEGER_ENDPOINT || 'http://localhost:14268',
899
+ elasticsearch: process.env.ELASTICSEARCH_URL || 'http://localhost:9200',
900
+ sentry: process.env.SENTRY_DSN,
901
+ },
902
+
903
+ // Sampling rates
904
+ sampling: {
905
+ traces: parseFloat(process.env.TRACE_SAMPLING_RATE || '0.1'),
906
+ profiles: parseFloat(process.env.PROFILE_SAMPLING_RATE || '0.01'),
907
+ logs: parseFloat(process.env.LOG_SAMPLING_RATE || '1.0'),
908
+ },
909
+ };
910
+ }
911
+
912
+ isEnabled(feature) {
913
+ return this.config.features[feature] || false;
914
+ }
915
+
916
+ getLevel() {
917
+ const level = process.env.DEBUG_LEVEL || 'info';
918
+ return this.config.levels[level] || 2;
919
+ }
920
+
921
+ shouldSample(type) {
922
+ const rate = this.config.sampling[type] || 1.0;
923
+ return Math.random() < rate;
924
+ }
925
+ }
926
+
927
+ // Debug middleware factory
928
+ class DebugMiddlewareFactory {
929
+ static create(app, config) {
930
+ const middlewares = [];
931
+
932
+ if (config.isEnabled('tracing')) {
933
+ const tracingMiddleware = new TracingMiddleware();
934
+ middlewares.push(tracingMiddleware.express());
935
+ }
936
+
937
+ if (config.isEnabled('profiling')) {
938
+ middlewares.push(this.profilingMiddleware());
939
+ }
940
+
941
+ if (config.isEnabled('memoryMonitoring')) {
942
+ const detector = new MemoryLeakDetector();
943
+ detector.start();
944
+ }
945
+
946
+ // Debug routes
947
+ if (process.env.NODE_ENV === 'development') {
948
+ app.get('/debug/heap', (req, res) => {
949
+ const profiler = new PerformanceProfiler();
950
+ const path = profiler.takeHeapSnapshot('manual');
951
+ res.json({ heapSnapshot: path });
952
+ });
953
+
954
+ app.get('/debug/profile', async (req, res) => {
955
+ const profiler = new PerformanceProfiler();
956
+ const id = profiler.startCPUProfile('manual');
957
+
958
+ setTimeout(() => {
959
+ const result = profiler.stopCPUProfile(id);
960
+ res.json(result);
961
+ }, 10000);
962
+ });
963
+
964
+ app.get('/debug/metrics', (req, res) => {
965
+ res.json({
966
+ memory: process.memoryUsage(),
967
+ cpu: process.cpuUsage(),
968
+ uptime: process.uptime(),
969
+ });
970
+ });
971
+ }
972
+
973
+ return middlewares;
974
+ }
975
+
976
+ static profilingMiddleware() {
977
+ const profiler = new PerformanceProfiler();
978
+
979
+ return (req, res, next) => {
980
+ if (Math.random() < 0.01) { // 1% sampling
981
+ const id = profiler.startCPUProfile(`request-${Date.now()}`);
982
+
983
+ res.on('finish', () => {
984
+ profiler.stopCPUProfile(id);
985
+ });
986
+ }
987
+
988
+ next();
989
+ };
990
+ }
991
+ }
992
+ ```
993
+
994
+ ### 8. Production Debugging
995
+
996
+ Enable safe production debugging:
997
+
998
+ **Production Debug Tools**
999
+ ```javascript
1000
+ // production-debug.js
1001
+ class ProductionDebugger {
1002
+ constructor(options = {}) {
1003
+ this.enabled = process.env.PRODUCTION_DEBUG === 'true';
1004
+ this.authToken = process.env.DEBUG_AUTH_TOKEN;
1005
+ this.allowedIPs = (process.env.DEBUG_ALLOWED_IPS || '').split(',');
1006
+ }
1007
+
1008
+ middleware() {
1009
+ return (req, res, next) => {
1010
+ if (!this.enabled) {
1011
+ return next();
1012
+ }
1013
+
1014
+ // Check authorization
1015
+ const token = req.headers['x-debug-token'];
1016
+ const ip = req.ip || req.connection.remoteAddress;
1017
+
1018
+ if (token !== this.authToken || !this.allowedIPs.includes(ip)) {
1019
+ return next();
1020
+ }
1021
+
1022
+ // Add debug headers
1023
+ res.setHeader('X-Debug-Enabled', 'true');
1024
+
1025
+ // Enable debug mode for this request
1026
+ req.debugMode = true;
1027
+ req.debugContext = new DebugContext().create(req.id);
1028
+
1029
+ // Override console for this request
1030
+ const originalConsole = { ...console };
1031
+ ['log', 'debug', 'info', 'warn', 'error'].forEach(method => {
1032
+ console[method] = (...args) => {
1033
+ req.debugContext.log(req.id, method, args[0], args.slice(1));
1034
+ originalConsole[method](...args);
1035
+ };
1036
+ });
1037
+
1038
+ // Restore console on response
1039
+ res.on('finish', () => {
1040
+ Object.assign(console, originalConsole);
1041
+
1042
+ // Send debug info if requested
1043
+ if (req.headers['x-debug-response'] === 'true') {
1044
+ const debugInfo = req.debugContext.export(req.id);
1045
+ res.setHeader('X-Debug-Info', JSON.stringify(debugInfo));
1046
+ }
1047
+ });
1048
+
1049
+ next();
1050
+ };
1051
+ }
1052
+ }
1053
+
1054
+ // Conditional breakpoints in production
1055
+ class ConditionalBreakpoint {
1056
+ constructor(condition, callback) {
1057
+ this.condition = condition;
1058
+ this.callback = callback;
1059
+ this.hits = 0;
1060
+ }
1061
+
1062
+ check(context) {
1063
+ if (this.condition(context)) {
1064
+ this.hits++;
1065
+
1066
+ // Log breakpoint hit
1067
+ console.debug('Conditional breakpoint hit', {
1068
+ condition: this.condition.toString(),
1069
+ hits: this.hits,
1070
+ context,
1071
+ });
1072
+
1073
+ // Execute callback
1074
+ if (this.callback) {
1075
+ this.callback(context);
1076
+ }
1077
+
1078
+ // In production, don't actually break
1079
+ if (process.env.NODE_ENV === 'production') {
1080
+ // Take snapshot instead
1081
+ const profiler = new PerformanceProfiler();
1082
+ profiler.takeHeapSnapshot(`breakpoint-${Date.now()}`);
1083
+ } else {
1084
+ // In development, use debugger
1085
+ debugger;
1086
+ }
1087
+ }
1088
+ }
1089
+ }
1090
+
1091
+ // Usage
1092
+ const breakpoints = new Map();
1093
+
1094
+ // Set conditional breakpoint
1095
+ breakpoints.set('high-memory', new ConditionalBreakpoint(
1096
+ (context) => context.memoryUsage > 500 * 1024 * 1024, // 500MB
1097
+ (context) => {
1098
+ console.error('High memory usage detected', context);
1099
+ // Send alert
1100
+ alerting.send('high-memory', context);
1101
+ }
1102
+ ));
1103
+
1104
+ // Check breakpoints in code
1105
+ function checkBreakpoints(context) {
1106
+ breakpoints.forEach(breakpoint => {
1107
+ breakpoint.check(context);
1108
+ });
1109
+ }
1110
+ ```
1111
+
1112
+ ### 9. Debug Dashboard
1113
+
1114
+ Create a debug dashboard for monitoring:
1115
+
1116
+ **Debug Dashboard**
1117
+ ```html
1118
+ <!-- debug-dashboard.html -->
1119
+ <!DOCTYPE html>
1120
+ <html>
1121
+ <head>
1122
+ <title>Debug Dashboard</title>
1123
+ <style>
1124
+ body { font-family: monospace; background: #1e1e1e; color: #d4d4d4; }
1125
+ .container { max-width: 1200px; margin: 0 auto; padding: 20px; }
1126
+ .metric { background: #252526; padding: 15px; margin: 10px 0; border-radius: 5px; }
1127
+ .metric h3 { margin: 0 0 10px 0; color: #569cd6; }
1128
+ .chart { height: 200px; background: #1e1e1e; margin: 10px 0; }
1129
+ .log-entry { padding: 5px; border-bottom: 1px solid #3e3e3e; }
1130
+ .error { color: #f44747; }
1131
+ .warn { color: #ff9800; }
1132
+ .info { color: #4fc3f7; }
1133
+ .debug { color: #4caf50; }
1134
+ </style>
1135
+ </head>
1136
+ <body>
1137
+ <div class="container">
1138
+ <h1>Debug Dashboard</h1>
1139
+
1140
+ <div class="metric">
1141
+ <h3>System Metrics</h3>
1142
+ <div id="metrics"></div>
1143
+ </div>
1144
+
1145
+ <div class="metric">
1146
+ <h3>Memory Usage</h3>
1147
+ <canvas id="memoryChart" class="chart"></canvas>
1148
+ </div>
1149
+
1150
+ <div class="metric">
1151
+ <h3>Request Traces</h3>
1152
+ <div id="traces"></div>
1153
+ </div>
1154
+
1155
+ <div class="metric">
1156
+ <h3>Debug Logs</h3>
1157
+ <div id="logs"></div>
1158
+ </div>
1159
+ </div>
1160
+
1161
+ <script>
1162
+ // WebSocket connection for real-time updates
1163
+ const ws = new WebSocket('ws://localhost:9231/debug');
1164
+
1165
+ ws.onmessage = (event) => {
1166
+ const data = JSON.parse(event.data);
1167
+
1168
+ switch (data.type) {
1169
+ case 'metrics':
1170
+ updateMetrics(data.payload);
1171
+ break;
1172
+ case 'trace':
1173
+ addTrace(data.payload);
1174
+ break;
1175
+ case 'log':
1176
+ addLog(data.payload);
1177
+ break;
1178
+ }
1179
+ };
1180
+
1181
+ function updateMetrics(metrics) {
1182
+ const container = document.getElementById('metrics');
1183
+ container.innerHTML = `
1184
+ <div>CPU: ${metrics.cpu.percent}%</div>
1185
+ <div>Memory: ${metrics.memory.used}MB / ${metrics.memory.total}MB</div>
1186
+ <div>Uptime: ${metrics.uptime}s</div>
1187
+ <div>Active Requests: ${metrics.activeRequests}</div>
1188
+ `;
1189
+ }
1190
+
1191
+ function addTrace(trace) {
1192
+ const container = document.getElementById('traces');
1193
+ const entry = document.createElement('div');
1194
+ entry.className = 'log-entry';
1195
+ entry.innerHTML = `
1196
+ <span>${trace.timestamp}</span>
1197
+ <span>${trace.method} ${trace.path}</span>
1198
+ <span>${trace.duration}ms</span>
1199
+ <span>${trace.status}</span>
1200
+ `;
1201
+ container.insertBefore(entry, container.firstChild);
1202
+ }
1203
+
1204
+ function addLog(log) {
1205
+ const container = document.getElementById('logs');
1206
+ const entry = document.createElement('div');
1207
+ entry.className = `log-entry ${log.level}`;
1208
+ entry.innerHTML = `
1209
+ <span>${log.timestamp}</span>
1210
+ <span>[${log.level.toUpperCase()}]</span>
1211
+ <span>${log.message}</span>
1212
+ `;
1213
+ container.insertBefore(entry, container.firstChild);
1214
+
1215
+ // Keep only last 100 logs
1216
+ while (container.children.length > 100) {
1217
+ container.removeChild(container.lastChild);
1218
+ }
1219
+ }
1220
+
1221
+ // Memory usage chart
1222
+ const memoryChart = document.getElementById('memoryChart').getContext('2d');
1223
+ const memoryData = [];
1224
+
1225
+ function updateMemoryChart(usage) {
1226
+ memoryData.push({
1227
+ time: new Date(),
1228
+ value: usage,
1229
+ });
1230
+
1231
+ // Keep last 50 points
1232
+ if (memoryData.length > 50) {
1233
+ memoryData.shift();
1234
+ }
1235
+
1236
+ // Draw chart
1237
+ // ... chart drawing logic
1238
+ }
1239
+ </script>
1240
+ </body>
1241
+ </html>
1242
+ ```
1243
+
1244
+ ### 10. IDE Integration
1245
+
1246
+ Configure IDE debugging features:
1247
+
1248
+ **IDE Debug Extensions**
1249
+ ```json
1250
+ // .vscode/extensions.json
1251
+ {
1252
+ "recommendations": [
1253
+ "ms-vscode.vscode-js-debug",
1254
+ "msjsdiag.debugger-for-chrome",
1255
+ "ms-vscode.vscode-typescript-tslint-plugin",
1256
+ "dbaeumer.vscode-eslint",
1257
+ "ms-azuretools.vscode-docker",
1258
+ "humao.rest-client",
1259
+ "eamodio.gitlens",
1260
+ "usernamehw.errorlens",
1261
+ "wayou.vscode-todo-highlight",
1262
+ "formulahendry.code-runner"
1263
+ ]
1264
+ }
1265
+
1266
+ // .vscode/tasks.json
1267
+ {
1268
+ "version": "2.0.0",
1269
+ "tasks": [
1270
+ {
1271
+ "label": "Start Debug Server",
1272
+ "type": "npm",
1273
+ "script": "debug",
1274
+ "problemMatcher": [],
1275
+ "presentation": {
1276
+ "reveal": "always",
1277
+ "panel": "dedicated"
1278
+ }
1279
+ },
1280
+ {
1281
+ "label": "Profile Application",
1282
+ "type": "shell",
1283
+ "command": "node --inspect-brk --cpu-prof --cpu-prof-dir=./profiles ${workspaceFolder}/src/index.js",
1284
+ "problemMatcher": []
1285
+ },
1286
+ {
1287
+ "label": "Memory Snapshot",
1288
+ "type": "shell",
1289
+ "command": "node --inspect --expose-gc ${workspaceFolder}/scripts/heap-snapshot.js",
1290
+ "problemMatcher": []
1291
+ }
1292
+ ]
1293
+ }
1294
+ ```
1295
+
1296
+ ## Output Format
1297
+
1298
+ 1. **Debug Configuration**: Complete setup for all debugging tools
1299
+ 2. **Integration Guide**: Step-by-step integration instructions
1300
+ 3. **Troubleshooting Playbook**: Common debugging scenarios and solutions
1301
+ 4. **Performance Baselines**: Metrics for comparison
1302
+ 5. **Debug Scripts**: Automated debugging utilities
1303
+ 6. **Dashboard Setup**: Real-time debugging interface
1304
+ 7. **Documentation**: Team debugging guidelines
1305
+ 8. **Emergency Procedures**: Production debugging protocols
1306
+
1307
+ Focus on creating a comprehensive debugging environment that enhances developer productivity and enables rapid issue resolution in all environments.