claude-mpm 4.25.10__py3-none-any.whl → 5.1.8__py3-none-any.whl

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.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (507) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +12 -0
  3. claude_mpm/agents/PM_INSTRUCTIONS.md +1055 -2230
  4. claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
  5. claude_mpm/agents/WORKFLOW.md +4 -4
  6. claude_mpm/agents/__init__.py +6 -0
  7. claude_mpm/agents/agent_loader.py +1 -4
  8. claude_mpm/agents/base_agent_loader.py +10 -35
  9. claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +576 -66
  10. claude_mpm/agents/templates/context-management-examples.md +544 -0
  11. claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
  12. claude_mpm/agents/templates/research-gate-examples.md +669 -0
  13. claude_mpm/agents/templates/structured-questions-examples.md +615 -0
  14. claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
  15. claude_mpm/agents/templates/ticketing-examples.md +277 -0
  16. claude_mpm/cli/__init__.py +28 -3
  17. claude_mpm/cli/commands/__init__.py +2 -0
  18. claude_mpm/cli/commands/agent_source.py +774 -0
  19. claude_mpm/cli/commands/agent_state_manager.py +188 -30
  20. claude_mpm/cli/commands/agents.py +959 -36
  21. claude_mpm/cli/commands/agents_cleanup.py +210 -0
  22. claude_mpm/cli/commands/agents_discover.py +338 -0
  23. claude_mpm/cli/commands/auto_configure.py +537 -239
  24. claude_mpm/cli/commands/config.py +7 -4
  25. claude_mpm/cli/commands/configure.py +924 -45
  26. claude_mpm/cli/commands/configure_navigation.py +63 -46
  27. claude_mpm/cli/commands/doctor.py +10 -2
  28. claude_mpm/cli/commands/local_deploy.py +1 -4
  29. claude_mpm/cli/commands/postmortem.py +401 -0
  30. claude_mpm/cli/commands/run.py +1 -39
  31. claude_mpm/cli/commands/skill_source.py +694 -0
  32. claude_mpm/cli/commands/skills.py +322 -19
  33. claude_mpm/cli/executor.py +22 -3
  34. claude_mpm/cli/interactive/agent_wizard.py +1028 -43
  35. claude_mpm/cli/parsers/agent_source_parser.py +171 -0
  36. claude_mpm/cli/parsers/agents_parser.py +256 -4
  37. claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
  38. claude_mpm/cli/parsers/base_parser.py +25 -0
  39. claude_mpm/cli/parsers/config_parser.py +96 -43
  40. claude_mpm/cli/parsers/skill_source_parser.py +169 -0
  41. claude_mpm/cli/parsers/skills_parser.py +7 -0
  42. claude_mpm/cli/parsers/source_parser.py +138 -0
  43. claude_mpm/cli/startup.py +456 -103
  44. claude_mpm/cli/startup_display.py +4 -4
  45. claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
  46. claude_mpm/commands/mpm-agents-detect.md +9 -0
  47. claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
  48. claude_mpm/commands/mpm-agents-recommend.md +9 -0
  49. claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
  50. claude_mpm/commands/mpm-doctor.md +9 -0
  51. claude_mpm/commands/mpm-help.md +14 -2
  52. claude_mpm/commands/mpm-init.md +9 -0
  53. claude_mpm/commands/mpm-monitor.md +9 -0
  54. claude_mpm/commands/mpm-postmortem.md +123 -0
  55. claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
  56. claude_mpm/commands/mpm-status.md +9 -0
  57. claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
  58. claude_mpm/commands/mpm-ticket-view.md +552 -0
  59. claude_mpm/commands/mpm-version.md +9 -0
  60. claude_mpm/commands/mpm.md +10 -0
  61. claude_mpm/config/agent_presets.py +488 -0
  62. claude_mpm/config/agent_sources.py +325 -0
  63. claude_mpm/config/skill_presets.py +392 -0
  64. claude_mpm/config/skill_sources.py +590 -0
  65. claude_mpm/constants.py +1 -0
  66. claude_mpm/core/claude_runner.py +5 -34
  67. claude_mpm/core/config.py +16 -0
  68. claude_mpm/core/framework/__init__.py +3 -16
  69. claude_mpm/core/framework/loaders/file_loader.py +54 -101
  70. claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
  71. claude_mpm/core/interactive_session.py +83 -7
  72. claude_mpm/core/oneshot_session.py +71 -8
  73. claude_mpm/core/protocols/__init__.py +23 -0
  74. claude_mpm/core/protocols/runner_protocol.py +103 -0
  75. claude_mpm/core/protocols/session_protocol.py +131 -0
  76. claude_mpm/core/shared/singleton_manager.py +11 -4
  77. claude_mpm/core/system_context.py +38 -0
  78. claude_mpm/core/unified_config.py +22 -0
  79. claude_mpm/experimental/cli_enhancements.py +1 -5
  80. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  81. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
  82. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
  83. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
  84. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
  85. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
  86. claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
  87. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
  88. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
  89. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
  90. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
  91. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
  92. claude_mpm/hooks/failure_learning/__init__.py +2 -8
  93. claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
  94. claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
  95. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
  96. claude_mpm/hooks/kuzu_response_hook.py +1 -5
  97. claude_mpm/models/git_repository.py +198 -0
  98. claude_mpm/services/agents/agent_builder.py +45 -9
  99. claude_mpm/services/agents/agent_preset_service.py +238 -0
  100. claude_mpm/services/agents/agent_selection_service.py +484 -0
  101. claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
  102. claude_mpm/services/agents/cache_git_manager.py +621 -0
  103. claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
  104. claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
  105. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
  106. claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
  107. claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
  108. claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
  109. claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
  110. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
  111. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
  112. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
  113. claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
  114. claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
  115. claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
  116. claude_mpm/services/agents/git_source_manager.py +629 -0
  117. claude_mpm/services/agents/loading/framework_agent_loader.py +1 -4
  118. claude_mpm/services/agents/local_template_manager.py +47 -9
  119. claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
  120. claude_mpm/services/agents/sources/__init__.py +13 -0
  121. claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
  122. claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
  123. claude_mpm/services/agents/startup_sync.py +239 -0
  124. claude_mpm/services/agents/toolchain_detector.py +474 -0
  125. claude_mpm/services/analysis/__init__.py +25 -0
  126. claude_mpm/services/analysis/postmortem_reporter.py +474 -0
  127. claude_mpm/services/analysis/postmortem_service.py +765 -0
  128. claude_mpm/services/command_deployment_service.py +200 -6
  129. claude_mpm/services/core/base.py +7 -2
  130. claude_mpm/services/core/interfaces/__init__.py +1 -3
  131. claude_mpm/services/core/interfaces/health.py +1 -4
  132. claude_mpm/services/core/models/__init__.py +2 -11
  133. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  134. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  135. claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
  136. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  137. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  138. claude_mpm/services/diagnostics/doctor_reporter.py +34 -6
  139. claude_mpm/services/git/__init__.py +21 -0
  140. claude_mpm/services/git/git_operations_service.py +494 -0
  141. claude_mpm/services/github/__init__.py +21 -0
  142. claude_mpm/services/github/github_cli_service.py +397 -0
  143. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  144. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  145. claude_mpm/services/instructions/__init__.py +9 -0
  146. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  147. claude_mpm/services/local_ops/__init__.py +3 -13
  148. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  149. claude_mpm/services/local_ops/health_manager.py +1 -4
  150. claude_mpm/services/mcp_config_manager.py +75 -145
  151. claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
  152. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  153. claude_mpm/services/mcp_service_verifier.py +6 -3
  154. claude_mpm/services/monitor/daemon.py +28 -8
  155. claude_mpm/services/monitor/daemon_manager.py +96 -19
  156. claude_mpm/services/pr/__init__.py +14 -0
  157. claude_mpm/services/pr/pr_template_service.py +329 -0
  158. claude_mpm/services/project/project_organizer.py +4 -0
  159. claude_mpm/services/runner_configuration_service.py +16 -3
  160. claude_mpm/services/session_management_service.py +16 -4
  161. claude_mpm/services/skills/__init__.py +18 -0
  162. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  163. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  164. claude_mpm/services/socketio/server/core.py +1 -4
  165. claude_mpm/services/socketio/server/main.py +1 -3
  166. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  167. claude_mpm/services/unified/unified_deployment.py +1 -5
  168. claude_mpm/services/visualization/__init__.py +1 -5
  169. claude_mpm/templates/questions/__init__.py +2 -7
  170. claude_mpm/templates/questions/pr_strategy.py +1 -4
  171. claude_mpm/templates/questions/project_init.py +1 -4
  172. claude_mpm/templates/questions/ticket_mgmt.py +1 -4
  173. claude_mpm/utils/agent_dependency_loader.py +77 -10
  174. claude_mpm/utils/agent_filters.py +288 -0
  175. claude_mpm/utils/gitignore.py +3 -0
  176. claude_mpm/utils/migration.py +372 -0
  177. claude_mpm/utils/progress.py +387 -0
  178. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/METADATA +356 -112
  179. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/RECORD +188 -439
  180. claude_mpm/agents/templates/agent-manager.json +0 -273
  181. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  182. claude_mpm/agents/templates/api_qa.json +0 -183
  183. claude_mpm/agents/templates/clerk-ops.json +0 -235
  184. claude_mpm/agents/templates/code_analyzer.json +0 -101
  185. claude_mpm/agents/templates/content-agent.json +0 -358
  186. claude_mpm/agents/templates/dart_engineer.json +0 -307
  187. claude_mpm/agents/templates/data_engineer.json +0 -225
  188. claude_mpm/agents/templates/documentation.json +0 -238
  189. claude_mpm/agents/templates/engineer.json +0 -210
  190. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  191. claude_mpm/agents/templates/golang_engineer.json +0 -270
  192. claude_mpm/agents/templates/imagemagick.json +0 -264
  193. claude_mpm/agents/templates/java_engineer.json +0 -346
  194. claude_mpm/agents/templates/javascript_engineer_agent.json +0 -380
  195. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  196. claude_mpm/agents/templates/memory_manager.json +0 -158
  197. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  198. claude_mpm/agents/templates/ops.json +0 -185
  199. claude_mpm/agents/templates/php-engineer.json +0 -287
  200. claude_mpm/agents/templates/product_owner.json +0 -338
  201. claude_mpm/agents/templates/project_organizer.json +0 -144
  202. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  203. claude_mpm/agents/templates/python_engineer.json +0 -387
  204. claude_mpm/agents/templates/qa.json +0 -243
  205. claude_mpm/agents/templates/react_engineer.json +0 -239
  206. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  207. claude_mpm/agents/templates/research.json +0 -258
  208. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  209. claude_mpm/agents/templates/rust_engineer.json +0 -275
  210. claude_mpm/agents/templates/security.json +0 -202
  211. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  212. claude_mpm/agents/templates/tauri_engineer.json +0 -274
  213. claude_mpm/agents/templates/ticketing.json +0 -181
  214. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  215. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  216. claude_mpm/agents/templates/version_control.json +0 -159
  217. claude_mpm/agents/templates/web_qa.json +0 -400
  218. claude_mpm/agents/templates/web_ui.json +0 -189
  219. claude_mpm/cli/README.md +0 -253
  220. claude_mpm/cli/commands/mcp_install_commands.py.backup +0 -284
  221. claude_mpm/cli/commands/mpm_init/README.md +0 -365
  222. claude_mpm/cli_module/refactoring_guide.md +0 -253
  223. claude_mpm/commands/mpm-tickets.md +0 -151
  224. claude_mpm/config/agent_capabilities.yaml +0 -658
  225. claude_mpm/config/async_logging_config.yaml +0 -145
  226. claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +0 -34
  227. claude_mpm/d2/.gitignore +0 -22
  228. claude_mpm/d2/ARCHITECTURE_COMPARISON.md +0 -273
  229. claude_mpm/d2/FLASK_INTEGRATION.md +0 -156
  230. claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +0 -452
  231. claude_mpm/d2/QUICKSTART.md +0 -186
  232. claude_mpm/d2/README.md +0 -232
  233. claude_mpm/d2/STORE_FIX_SUMMARY.md +0 -167
  234. claude_mpm/d2/SVELTE5_STORES_GUIDE.md +0 -180
  235. claude_mpm/d2/TESTING.md +0 -288
  236. claude_mpm/d2/index.html +0 -118
  237. claude_mpm/d2/package.json +0 -19
  238. claude_mpm/d2/src/App.svelte +0 -110
  239. claude_mpm/d2/src/components/Header.svelte +0 -153
  240. claude_mpm/d2/src/components/MainContent.svelte +0 -74
  241. claude_mpm/d2/src/components/Sidebar.svelte +0 -85
  242. claude_mpm/d2/src/components/tabs/EventsTab.svelte +0 -326
  243. claude_mpm/d2/src/lib/socketio.js +0 -144
  244. claude_mpm/d2/src/main.js +0 -7
  245. claude_mpm/d2/src/stores/events.js +0 -114
  246. claude_mpm/d2/src/stores/socket.js +0 -108
  247. claude_mpm/d2/src/stores/theme.js +0 -65
  248. claude_mpm/d2/svelte.config.js +0 -12
  249. claude_mpm/d2/vite.config.js +0 -15
  250. claude_mpm/dashboard/.claude-mpm/memories/README.md +0 -36
  251. claude_mpm/dashboard/BUILD_NUMBER +0 -1
  252. claude_mpm/dashboard/README.md +0 -121
  253. claude_mpm/dashboard/VERSION +0 -1
  254. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  255. claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +0 -273
  256. claude_mpm/dashboard/react/components/ErrorBoundary.tsx +0 -75
  257. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  258. claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +0 -141
  259. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  260. claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +0 -36
  261. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  262. claude_mpm/dashboard/react/components/shared/FilterBar.tsx +0 -89
  263. claude_mpm/dashboard/react/contexts/DashboardContext.tsx +0 -215
  264. claude_mpm/dashboard/react/entries/events.tsx +0 -165
  265. claude_mpm/dashboard/react/hooks/useEvents.ts +0 -191
  266. claude_mpm/dashboard/react/hooks/useSocket.ts +0 -225
  267. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  268. claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +0 -170
  269. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  270. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  271. claude_mpm/dashboard/static/built/components/activity-tree.js.map +0 -1
  272. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  273. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  274. claude_mpm/dashboard/static/built/components/agent-inference.js.map +0 -1
  275. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  276. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  277. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  278. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  279. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  280. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  281. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  282. claude_mpm/dashboard/static/built/components/code-tree.js.map +0 -1
  283. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  284. claude_mpm/dashboard/static/built/components/code-viewer.js.map +0 -1
  285. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  286. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  287. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  288. claude_mpm/dashboard/static/built/components/event-processor.js.map +0 -1
  289. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  290. claude_mpm/dashboard/static/built/components/event-viewer.js.map +0 -1
  291. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  292. claude_mpm/dashboard/static/built/components/export-manager.js.map +0 -1
  293. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  294. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  295. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  296. claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +0 -1
  297. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  298. claude_mpm/dashboard/static/built/components/file-viewer.js.map +0 -1
  299. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  300. claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +0 -1
  301. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  302. claude_mpm/dashboard/static/built/components/hud-manager.js.map +0 -1
  303. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  304. claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +0 -1
  305. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  306. claude_mpm/dashboard/static/built/components/module-viewer.js.map +0 -1
  307. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  308. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  309. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  310. claude_mpm/dashboard/static/built/components/session-manager.js.map +0 -1
  311. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  312. claude_mpm/dashboard/static/built/components/socket-manager.js.map +0 -1
  313. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  314. claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +0 -1
  315. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  316. claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +0 -1
  317. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  318. claude_mpm/dashboard/static/built/components/working-directory.js.map +0 -1
  319. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  320. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  321. claude_mpm/dashboard/static/built/dashboard.js.map +0 -1
  322. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  323. claude_mpm/dashboard/static/built/react/events.js +0 -30
  324. claude_mpm/dashboard/static/built/react/events.js.map +0 -1
  325. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  326. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  327. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  328. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  329. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  330. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  331. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  332. claude_mpm/dashboard/static/built/socket-client.js.map +0 -1
  333. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  334. claude_mpm/dashboard/static/events.html +0 -607
  335. claude_mpm/dashboard/static/index.html +0 -635
  336. claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +0 -170
  337. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  338. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  339. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  340. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  341. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  342. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  343. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  344. claude_mpm/dashboard/static/legacy/files.html +0 -747
  345. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  346. claude_mpm/dashboard/static/monitors.html +0 -431
  347. claude_mpm/dashboard/static/navigation-test-results.md +0 -118
  348. claude_mpm/dashboard/static/production/events.html +0 -659
  349. claude_mpm/dashboard/static/production/main.html +0 -698
  350. claude_mpm/dashboard/static/production/monitors.html +0 -483
  351. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  352. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  353. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  354. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  355. claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +0 -36
  356. claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +0 -39
  357. claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +0 -38
  358. claude_mpm/hooks/README.md +0 -143
  359. claude_mpm/hooks/templates/README.md +0 -180
  360. claude_mpm/hooks/templates/settings.json.example +0 -147
  361. claude_mpm/schemas/agent_schema.json +0 -596
  362. claude_mpm/schemas/frontmatter_schema.json +0 -165
  363. claude_mpm/services/event_bus/README.md +0 -244
  364. claude_mpm/services/events/README.md +0 -303
  365. claude_mpm/services/framework_claude_md_generator/README.md +0 -119
  366. claude_mpm/services/mcp_gateway/README.md +0 -185
  367. claude_mpm/services/socketio/handlers/connection.py.backup +0 -217
  368. claude_mpm/services/socketio/handlers/hook.py.backup +0 -154
  369. claude_mpm/services/static/.gitkeep +0 -2
  370. claude_mpm/services/version_control/VERSION +0 -1
  371. claude_mpm/skills/bundled/.gitkeep +0 -2
  372. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  373. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  374. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  375. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  376. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  377. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  378. claude_mpm/skills/bundled/collaboration/git-worktrees.md +0 -317
  379. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  380. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  381. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  382. claude_mpm/skills/bundled/collaboration/stacked-prs.md +0 -251
  383. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  384. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  385. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  386. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  387. claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +0 -63
  388. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  389. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  390. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  391. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  392. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  393. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  394. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  395. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  396. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  397. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  398. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  399. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  400. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  401. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  402. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  403. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  404. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  405. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  406. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  407. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +0 -611
  408. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +0 -596
  409. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +0 -260
  410. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +0 -315
  411. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +0 -436
  412. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +0 -433
  413. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +0 -452
  414. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +0 -404
  415. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +0 -420
  416. claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +0 -202
  417. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  418. claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  419. claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +0 -322
  420. claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  421. claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +0 -202
  422. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  423. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  424. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  425. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  426. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  427. claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +0 -202
  428. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  429. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  430. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  431. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  432. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  433. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  434. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  435. claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +0 -22
  436. claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +0 -2
  437. claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +0 -202
  438. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  439. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  440. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  441. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  442. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  443. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  444. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  445. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  446. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  447. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  448. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  449. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  450. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  451. claude_mpm/skills/bundled/react/flexlayout-react.md +0 -742
  452. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  453. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  454. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  455. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  456. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  457. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  458. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  459. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +0 -495
  460. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +0 -599
  461. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +0 -535
  462. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +0 -613
  463. claude_mpm/skills/bundled/tauri/tauri-event-system.md +0 -648
  464. claude_mpm/skills/bundled/tauri/tauri-file-system.md +0 -673
  465. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +0 -767
  466. claude_mpm/skills/bundled/tauri/tauri-performance.md +0 -669
  467. claude_mpm/skills/bundled/tauri/tauri-state-management.md +0 -573
  468. claude_mpm/skills/bundled/tauri/tauri-testing.md +0 -384
  469. claude_mpm/skills/bundled/tauri/tauri-window-management.md +0 -628
  470. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  471. claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +0 -158
  472. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  473. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  474. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  475. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  476. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  477. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  478. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  479. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +0 -458
  480. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +0 -411
  481. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +0 -317
  482. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +0 -270
  483. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +0 -436
  484. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  485. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  486. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  487. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  488. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  489. claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +0 -202
  490. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  491. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  492. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  493. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  494. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  495. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  496. claude_mpm/templates/questions/EXAMPLES.md +0 -501
  497. claude_mpm/tools/README_SOCKETIO_DEBUG.md +0 -224
  498. claude_mpm/tools/code_tree_analyzer/README.md +0 -64
  499. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  500. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  501. /claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +0 -0
  502. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  503. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  504. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/WHEEL +0 -0
  505. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/entry_points.txt +0 -0
  506. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/licenses/LICENSE +0 -0
  507. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/top_level.txt +0 -0
@@ -1,596 +0,0 @@
1
- # Environment Variable Manager (env-manager)
2
-
3
- **Comprehensive environment variable validation, security scanning, and management for modern web applications.**
4
-
5
- [![Security Audited](https://img.shields.io/badge/security-audited-success)](references/security.md)
6
- [![Test Coverage](https://img.shields.io/badge/coverage-85%25%2B-success)](tests/)
7
- [![Performance](https://img.shields.io/badge/performance-80x_faster-success)](#performance)
8
-
9
- ## Overview
10
-
11
- The env-manager skill provides systematic environment variable management across local development, CI/CD pipelines, and deployment platforms. It prevents common issues like missing variables, exposed secrets, and framework-specific configuration errors.
12
-
13
- **Key Features:**
14
- - **Framework-Aware Validation**: Next.js, Vite, React, Node.js, Flask support
15
- - **Security-First**: Never logs secrets, detects exposed credentials
16
- - **Platform Integration**: Ready for Vercel, Railway, Heroku, and CI/CD
17
- - **Fast**: Validates 1000 variables in 0.025s (80x faster than 2s target)
18
- - **Zero Dependencies**: Pure Python, works anywhere
19
-
20
- ## Why Use env-manager?
21
-
22
- **Common problems this solves:**
23
- - "Works on my machine, but not in production" (missing env vars)
24
- - Accidentally exposing API keys in client-side code (NEXT_PUBLIC_ with secrets)
25
- - Missing required variables during deployment
26
- - Inconsistent .env files across team members
27
- - No documentation of required environment variables
28
- - Security vulnerabilities from exposed secrets
29
-
30
- ## Quick Start
31
-
32
- ### Installation
33
-
34
- No installation needed! env-manager is a bundled skill in Claude MPM.
35
-
36
- **Requirements:**
37
- - Python 3.7+
38
- - No external dependencies
39
-
40
- ### 5-Minute Quick Start
41
-
42
- ```bash
43
- # 1. Validate your .env file
44
- python3 scripts/validate_env.py .env
45
-
46
- # 2. Check for framework-specific issues (Next.js example)
47
- python3 scripts/validate_env.py .env --framework nextjs
48
-
49
- # 3. Compare with .env.example to find missing vars
50
- python3 scripts/validate_env.py .env --compare-with .env.example
51
-
52
- # 4. Generate .env.example for documentation
53
- python3 scripts/validate_env.py .env --generate-example .env.example
54
-
55
- # 5. Get JSON output for CI/CD integration
56
- python3 scripts/validate_env.py .env --json
57
- ```
58
-
59
- That's it! You're now validating environment variables like a pro.
60
-
61
- ## Usage Examples
62
-
63
- ### Basic Validation
64
-
65
- Validate a .env file for structural issues:
66
-
67
- ```bash
68
- python3 scripts/validate_env.py .env
69
- ```
70
-
71
- **What it checks:**
72
- - Valid key=value format
73
- - No duplicate keys
74
- - Proper naming conventions (UPPERCASE_WITH_UNDERSCORES)
75
- - No empty values (unless explicitly allowed)
76
- - Proper quoting for values with spaces
77
-
78
- **Example output:**
79
- ```
80
- ✅ Validation successful!
81
- - 15 variables validated
82
- - 0 errors
83
- - 0 warnings
84
- ```
85
-
86
- ### Framework-Specific Validation
87
-
88
- #### Next.js
89
-
90
- Validate Next.js environment variables:
91
-
92
- ```bash
93
- python3 scripts/validate_env.py .env.local --framework nextjs
94
- ```
95
-
96
- **Next.js-specific checks:**
97
- - NEXT_PUBLIC_* variables are client-exposed (warns if secrets detected)
98
- - .env.local, .env.production, .env file hierarchy
99
- - Detects secrets in client-side variables
100
-
101
- **Example:**
102
- ```bash
103
- # .env.local
104
- NEXT_PUBLIC_API_URL=https://api.example.com
105
- NEXT_PUBLIC_API_KEY=secret123 # ⚠️ WARNING: Secret in client-exposed variable!
106
- DATABASE_URL=postgresql://... # ✅ Server-side only
107
- ```
108
-
109
- #### Vite
110
-
111
- ```bash
112
- python3 scripts/validate_env.py .env --framework vite
113
- ```
114
-
115
- **Vite-specific checks:**
116
- - VITE_* variables are client-exposed
117
- - Warns if secrets detected in VITE_ prefixed vars
118
-
119
- #### React (Create React App)
120
-
121
- ```bash
122
- python3 scripts/validate_env.py .env --framework react
123
- ```
124
-
125
- **React-specific checks:**
126
- - REACT_APP_* variables are client-exposed
127
- - Warns if secrets in REACT_APP_ prefixed vars
128
-
129
- #### Node.js/Express
130
-
131
- ```bash
132
- python3 scripts/validate_env.py .env --framework nodejs
133
- ```
134
-
135
- **Node.js-specific checks:**
136
- - Common NODE_ENV, PORT, DATABASE_URL patterns
137
- - Standard Node.js conventions
138
-
139
- #### Flask/Python
140
-
141
- ```bash
142
- python3 scripts/validate_env.py .env --framework flask
143
- ```
144
-
145
- **Flask-specific checks:**
146
- - FLASK_APP, FLASK_ENV variables
147
- - SQLAlchemy DATABASE_URL format
148
-
149
- ### Comparing with .env.example
150
-
151
- Ensure your .env has all required variables:
152
-
153
- ```bash
154
- python3 scripts/validate_env.py .env --compare-with .env.example
155
- ```
156
-
157
- **What it checks:**
158
- - All variables in .env.example exist in .env
159
- - No extra undocumented variables in .env
160
-
161
- **Example output:**
162
- ```
163
- ❌ Missing variables:
164
- - DATABASE_URL (required in .env.example)
165
- - STRIPE_SECRET_KEY (required in .env.example)
166
-
167
- ⚠️ Extra variables not in .env.example:
168
- - DEBUG_MODE (consider adding to .env.example)
169
- ```
170
-
171
- **Perfect for:**
172
- - Onboarding new team members
173
- - CI/CD validation
174
- - Deployment pre-checks
175
-
176
- ### Generating .env.example
177
-
178
- Create documentation for your environment variables:
179
-
180
- ```bash
181
- python3 scripts/validate_env.py .env --generate-example .env.example
182
- ```
183
-
184
- **What it does:**
185
- - Reads your .env file
186
- - Sanitizes secret values (replaces with placeholders)
187
- - Generates .env.example with safe defaults
188
-
189
- **Example:**
190
-
191
- ```bash
192
- # Input: .env
193
- DATABASE_URL=postgresql://user:pass@localhost/db # pragma: allowlist secret
194
- STRIPE_SECRET_KEY=sk_live_abc123xyz
195
- NEXT_PUBLIC_API_URL=https://api.example.com
196
-
197
- # Output: .env.example
198
- DATABASE_URL=postgresql://user:password@localhost/dbname # pragma: allowlist secret
199
- STRIPE_SECRET_KEY=your_stripe_secret_key_here
200
- NEXT_PUBLIC_API_URL=https://api.example.com
201
- ```
202
-
203
- **Security note:** env-manager detects common secret patterns and replaces them with safe placeholders.
204
-
205
- ### CI/CD Integration
206
-
207
- Get machine-readable JSON output for automated workflows:
208
-
209
- ```bash
210
- python3 scripts/validate_env.py .env.example --strict --json
211
- ```
212
-
213
- **JSON output format:**
214
- ```json
215
- {
216
- "valid": true,
217
- "errors": [],
218
- "warnings": [],
219
- "stats": {
220
- "total_vars": 15,
221
- "errors": 0,
222
- "warnings": 0
223
- }
224
- }
225
- ```
226
-
227
- **Exit codes:**
228
- - `0`: Validation passed
229
- - `1`: Validation errors found
230
- - `2`: Missing required file
231
- - `3`: Warnings found (only in --strict mode)
232
-
233
- **GitHub Actions example:**
234
-
235
- ```yaml
236
- name: Validate Environment Variables
237
-
238
- on: [push, pull_request]
239
-
240
- jobs:
241
- validate-env:
242
- runs-on: ubuntu-latest
243
- steps:
244
- - uses: actions/checkout@v3
245
-
246
- - name: Validate .env.example
247
- run: |
248
- python3 scripts/validate_env.py .env.example --strict --json
249
- working-directory: ./path/to/skill
250
-
251
- - name: Check for framework-specific issues
252
- run: |
253
- python3 scripts/validate_env.py .env.example --framework nextjs --json
254
- working-directory: ./path/to/skill
255
- ```
256
-
257
- ### Strict Mode
258
-
259
- Treat warnings as errors (useful for CI/CD):
260
-
261
- ```bash
262
- python3 scripts/validate_env.py .env --strict
263
- ```
264
-
265
- **When to use:**
266
- - Pre-deployment validation
267
- - CI/CD pipelines
268
- - Release gates
269
- - Team standard enforcement
270
-
271
- ### Quiet Mode
272
-
273
- Show only errors, suppress warnings:
274
-
275
- ```bash
276
- python3 scripts/validate_env.py .env --quiet
277
- ```
278
-
279
- **When to use:**
280
- - You've already reviewed warnings
281
- - Automated scripts that only care about errors
282
- - Noisy environments where warnings are distracting
283
-
284
- ## Supported Frameworks
285
-
286
- | Framework | Prefix | Client-Exposed | Notes |
287
- |-----------|--------|----------------|-------|
288
- | **Next.js** | `NEXT_PUBLIC_*` | Yes | Auto-exposed in browser |
289
- | **Vite** | `VITE_*` | Yes | Bundled into client code |
290
- | **React (CRA)** | `REACT_APP_*` | Yes | Embedded in production build |
291
- | **Node.js** | N/A | No | Server-side only |
292
- | **Flask** | N/A | No | Server-side only |
293
-
294
- **Security warning:** Never put secrets in client-exposed variables (NEXT_PUBLIC_, VITE_, REACT_APP_). env-manager will warn you if it detects common secret patterns.
295
-
296
- ## CLI Reference
297
-
298
- ### Command Structure
299
-
300
- ```bash
301
- python3 scripts/validate_env.py <file> [options]
302
- ```
303
-
304
- ### Options
305
-
306
- | Option | Description | Example |
307
- |--------|-------------|---------|
308
- | `--compare-with FILE` | Compare with .env.example | `--compare-with .env.example` |
309
- | `--framework {nextjs\|vite\|react\|nodejs\|flask\|generic}` | Framework-specific validation | `--framework nextjs` |
310
- | `--strict` | Treat warnings as errors | `--strict` |
311
- | `--json` | JSON output for automation | `--json` |
312
- | `--quiet` | Only show errors | `--quiet` |
313
- | `--generate-example OUTPUT` | Generate .env.example | `--generate-example .env.example` |
314
-
315
- ### Exit Codes
316
-
317
- | Code | Meaning | When |
318
- |------|---------|------|
319
- | `0` | Success | No errors (warnings OK unless --strict) |
320
- | `1` | Validation errors | Structural issues, duplicates, etc. |
321
- | `2` | File not found | Specified .env file doesn't exist |
322
- | `3` | Warnings in strict mode | Warnings exist and --strict enabled |
323
-
324
- ## Common Use Cases
325
-
326
- ### Scenario 1: New Developer Onboarding
327
-
328
- ```bash
329
- # New developer clones repo
330
- git clone <repo>
331
- cd <project>
332
-
333
- # Copy example and fill in values
334
- cp .env.example .env
335
- # Edit .env with actual values...
336
-
337
- # Validate setup
338
- python3 scripts/validate_env.py .env --compare-with .env.example
339
-
340
- # If missing variables, fix them
341
- # Validation passes ✅
342
- ```
343
-
344
- ### Scenario 2: Pre-Deployment Check
345
-
346
- ```bash
347
- # Before deploying to Vercel/Railway/Heroku
348
- python3 scripts/validate_env.py .env.production --framework nextjs --strict
349
-
350
- # Fix any errors
351
- # Deploy with confidence ✅
352
- ```
353
-
354
- ### Scenario 3: Security Audit
355
-
356
- ```bash
357
- # Check for accidentally exposed secrets
358
- python3 scripts/validate_env.py .env.local --framework nextjs
359
-
360
- # Look for warnings like:
361
- # ⚠️ NEXT_PUBLIC_STRIPE_SECRET: Contains potential secret in client-exposed variable
362
- ```
363
-
364
- ### Scenario 4: Team Documentation
365
-
366
- ```bash
367
- # After adding new environment variable
368
- echo "NEW_API_KEY=abc123" >> .env
369
-
370
- # Regenerate .env.example
371
- python3 scripts/validate_env.py .env --generate-example .env.example
372
-
373
- # Commit updated .env.example
374
- git add .env.example
375
- git commit -m "docs: add NEW_API_KEY to environment variables"
376
- ```
377
-
378
- ### Scenario 5: CI/CD Quality Gate
379
-
380
- ```yaml
381
- # In your CI pipeline
382
- - name: Validate environment configuration
383
- run: |
384
- python3 scripts/validate_env.py .env.example --strict --json > validation.json
385
-
386
- # Fail pipeline if validation fails
387
- if [ $? -ne 0 ]; then
388
- cat validation.json
389
- exit 1
390
- fi
391
- ```
392
-
393
- ## Performance
394
-
395
- env-manager is designed for speed:
396
-
397
- **Benchmarks:**
398
- - Validates 1000 variables in **0.025s**
399
- - 80x faster than 2s target
400
- - Zero external dependencies
401
- - Minimal memory footprint
402
-
403
- **Why it matters:**
404
- - Fast feedback during development
405
- - No CI/CD slowdown
406
- - Works in resource-constrained environments
407
-
408
- ## Security Notes
409
-
410
- **Critical security features:**
411
-
412
- 1. **Never Logs Secrets**: env-manager NEVER displays actual secret values in output
413
- 2. **Client-Exposure Detection**: Warns when secrets are in NEXT_PUBLIC_, VITE_, REACT_APP_ variables
414
- 3. **Secret Sanitization**: When generating .env.example, replaces secrets with safe placeholders
415
- 4. **No Network Calls**: All validation is local, no data leaves your machine
416
-
417
- **Security-audited:** This skill has undergone security review. See [references/security.md](references/security.md) for details.
418
-
419
- **Best practices:**
420
- - Never commit .env files with secrets
421
- - Always use .env.example for documentation
422
- - Use platform secret managers (Vercel, Railway, etc.) for production
423
- - Validate before every deployment
424
- - Run security scan regularly
425
-
426
- ## Common Issues
427
-
428
- ### "Missing equals sign" error
429
-
430
- **Cause:** Line in .env doesn't have = separator
431
-
432
- **Fix:**
433
- ```bash
434
- # ❌ Bad
435
- API_KEY
436
-
437
- # ✅ Good
438
- API_KEY=your_key_here
439
- ```
440
-
441
- ### "Duplicate key" error
442
-
443
- **Cause:** Same variable defined multiple times
444
-
445
- **Fix:**
446
- ```bash
447
- # ❌ Bad
448
- API_KEY=value1
449
- API_KEY=value2
450
-
451
- # ✅ Good
452
- API_KEY=value2
453
- ```
454
-
455
- ### "Invalid variable name" warning
456
-
457
- **Cause:** Variable name doesn't follow UPPERCASE_WITH_UNDERSCORES convention
458
-
459
- **Fix:**
460
- ```bash
461
- # ❌ Bad
462
- apiKey=value
463
- api-key=value
464
-
465
- # ✅ Good
466
- API_KEY=value
467
- ```
468
-
469
- ### "Potential secret in client-exposed variable" warning
470
-
471
- **Cause:** NEXT_PUBLIC_, VITE_, or REACT_APP_ variable contains secret-like value
472
-
473
- **Fix:**
474
- ```bash
475
- # ❌ Bad (secret exposed to client!)
476
- NEXT_PUBLIC_STRIPE_SECRET=sk_live_abc123
477
-
478
- # ✅ Good (server-side only)
479
- STRIPE_SECRET_KEY=sk_live_abc123
480
- NEXT_PUBLIC_STRIPE_PUBLISHABLE=pk_live_xyz789
481
- ```
482
-
483
- ### "Empty value" warning
484
-
485
- **Cause:** Variable has no value
486
-
487
- **Fix:**
488
- ```bash
489
- # ❌ Bad
490
- DATABASE_URL=
491
-
492
- # ✅ Good (if optional, document it)
493
- DATABASE_URL= # Optional, uses SQLite if not set
494
-
495
- # ✅ Better
496
- DATABASE_URL=postgresql://localhost/mydb
497
- ```
498
-
499
- ### File not found error
500
-
501
- **Cause:** Specified .env file doesn't exist
502
-
503
- **Fix:**
504
- ```bash
505
- # Check file exists
506
- ls -la .env
507
-
508
- # Or create it
509
- touch .env
510
- ```
511
-
512
- ## Troubleshooting
513
-
514
- ### Validation passes locally but fails in CI
515
-
516
- **Check:**
517
- 1. Line endings (CRLF vs LF)
518
- 2. File encoding (UTF-8 expected)
519
- 3. File permissions
520
- 4. Python version (3.7+ required)
521
-
522
- ### Warnings about client-exposed variables
523
-
524
- **This is intentional!** env-manager is warning you that variables like NEXT_PUBLIC_API_KEY will be visible in the browser.
525
-
526
- **Options:**
527
- 1. Move secret to server-side variable (remove NEXT_PUBLIC_ prefix)
528
- 2. Use public/publishable keys only in client-exposed variables
529
- 3. If it's truly not a secret, you can ignore the warning
530
-
531
- ### .env.example generation replaces too much
532
-
533
- env-manager is conservative about secrets. If it over-sanitizes, you can:
534
- 1. Manually edit .env.example after generation
535
- 2. Use specific placeholder values in your .env that won't trigger sanitization
536
-
537
- ## Advanced Usage
538
-
539
- ### Custom Validation Patterns
540
-
541
- See [references/validation.md](references/validation.md) for advanced validation patterns.
542
-
543
- ### Platform-Specific Deployment
544
-
545
- See [references/synchronization.md](references/synchronization.md) for Vercel, Railway, Heroku integration patterns.
546
-
547
- ### Framework-Specific Guides
548
-
549
- See [references/frameworks.md](references/frameworks.md) for comprehensive framework guides.
550
-
551
- ## Related Documentation
552
-
553
- - **[Validation Reference](references/validation.md)**: Complete validation workflows and checks
554
- - **[Security Reference](references/security.md)**: Secret scanning and security patterns
555
- - **[Synchronization Reference](references/synchronization.md)**: Platform sync patterns (coming soon)
556
- - **[Frameworks Reference](references/frameworks.md)**: Framework-specific patterns and conventions
557
- - **[Troubleshooting Guide](references/troubleshooting.md)**: Common issues and solutions
558
-
559
- ## Integration with Claude MPM
560
-
561
- env-manager is a bundled skill in Claude MPM. Agents can use it for:
562
- - Pre-deployment validation
563
- - Security scanning
564
- - Environment setup verification
565
- - Documentation generation
566
-
567
- See [INTEGRATION.md](INTEGRATION.md) for agent integration patterns.
568
-
569
- ## Contributing
570
-
571
- env-manager follows Claude MPM contribution guidelines:
572
-
573
- 1. Run `make lint-fix` during development
574
- 2. Run `make quality` before commits
575
- 3. Add tests for new features (85%+ coverage required)
576
- 4. Update documentation
577
-
578
- See [CONTRIBUTING.md](../../../../../../CONTRIBUTING.md) for details.
579
-
580
- ## License
581
-
582
- MIT License - Part of Claude MPM project
583
-
584
- ## Support
585
-
586
- - **Issues**: Report bugs via GitHub Issues
587
- - **Documentation**: See references/ directory
588
- - **Examples**: See examples/ directory
589
- - **Integration**: See INTEGRATION.md
590
-
591
- ---
592
-
593
- **Version**: 1.0.0
594
- **Status**: Stable, Security-Audited
595
- **Test Coverage**: 85%+
596
- **Performance**: 80x faster than target