claude-mpm 5.4.41__py3-none-any.whl → 5.6.72__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.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +66 -241
- claude_mpm/agents/CLAUDE_MPM_RESEARCH_OUTPUT_STYLE.md +413 -0
- claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +109 -1925
- claude_mpm/agents/PM_INSTRUCTIONS.md +161 -298
- claude_mpm/agents/WORKFLOW.md +2 -0
- claude_mpm/agents/templates/circuit-breakers.md +26 -17
- claude_mpm/auth/__init__.py +35 -0
- claude_mpm/auth/callback_server.py +328 -0
- claude_mpm/auth/models.py +104 -0
- claude_mpm/auth/oauth_manager.py +266 -0
- claude_mpm/auth/providers/__init__.py +12 -0
- claude_mpm/auth/providers/base.py +165 -0
- claude_mpm/auth/providers/google.py +261 -0
- claude_mpm/auth/token_storage.py +252 -0
- claude_mpm/cli/__init__.py +5 -1
- claude_mpm/cli/commands/agents.py +2 -4
- claude_mpm/cli/commands/agents_reconcile.py +197 -0
- claude_mpm/cli/commands/autotodos.py +566 -0
- claude_mpm/cli/commands/commander.py +216 -0
- claude_mpm/cli/commands/configure.py +620 -21
- claude_mpm/cli/commands/configure_agent_display.py +3 -1
- claude_mpm/cli/commands/hook_errors.py +60 -60
- claude_mpm/cli/commands/mcp.py +29 -17
- claude_mpm/cli/commands/mcp_command_router.py +39 -0
- claude_mpm/cli/commands/mcp_service_commands.py +304 -0
- claude_mpm/cli/commands/monitor.py +2 -2
- claude_mpm/cli/commands/mpm_init/core.py +15 -8
- claude_mpm/cli/commands/oauth.py +481 -0
- claude_mpm/cli/commands/profile.py +9 -10
- claude_mpm/cli/commands/run.py +35 -3
- claude_mpm/cli/commands/skill_source.py +51 -2
- claude_mpm/cli/commands/skills.py +182 -32
- claude_mpm/cli/executor.py +129 -16
- claude_mpm/cli/helpers.py +1 -1
- claude_mpm/cli/interactive/__init__.py +10 -0
- claude_mpm/cli/interactive/agent_wizard.py +30 -50
- claude_mpm/cli/interactive/questionary_styles.py +65 -0
- claude_mpm/cli/interactive/skill_selector.py +481 -0
- claude_mpm/cli/parsers/base_parser.py +89 -1
- claude_mpm/cli/parsers/commander_parser.py +116 -0
- claude_mpm/cli/parsers/mcp_parser.py +79 -0
- claude_mpm/cli/parsers/oauth_parser.py +165 -0
- claude_mpm/cli/parsers/profile_parser.py +0 -1
- claude_mpm/cli/parsers/run_parser.py +10 -0
- claude_mpm/cli/parsers/skill_source_parser.py +4 -0
- claude_mpm/cli/parsers/skills_parser.py +2 -3
- claude_mpm/cli/startup.py +662 -524
- claude_mpm/cli/startup_display.py +76 -7
- claude_mpm/cli/startup_logging.py +2 -2
- claude_mpm/cli/utils.py +7 -3
- claude_mpm/commander/__init__.py +78 -0
- claude_mpm/commander/adapters/__init__.py +60 -0
- claude_mpm/commander/adapters/auggie.py +260 -0
- claude_mpm/commander/adapters/base.py +288 -0
- claude_mpm/commander/adapters/claude_code.py +392 -0
- claude_mpm/commander/adapters/codex.py +237 -0
- claude_mpm/commander/adapters/communication.py +366 -0
- claude_mpm/commander/adapters/example_usage.py +310 -0
- claude_mpm/commander/adapters/mpm.py +389 -0
- claude_mpm/commander/adapters/registry.py +204 -0
- claude_mpm/commander/api/__init__.py +16 -0
- claude_mpm/commander/api/app.py +121 -0
- claude_mpm/commander/api/errors.py +133 -0
- claude_mpm/commander/api/routes/__init__.py +8 -0
- claude_mpm/commander/api/routes/events.py +184 -0
- claude_mpm/commander/api/routes/inbox.py +171 -0
- claude_mpm/commander/api/routes/messages.py +148 -0
- claude_mpm/commander/api/routes/projects.py +271 -0
- claude_mpm/commander/api/routes/sessions.py +226 -0
- claude_mpm/commander/api/routes/work.py +296 -0
- claude_mpm/commander/api/schemas.py +186 -0
- claude_mpm/commander/chat/__init__.py +7 -0
- claude_mpm/commander/chat/cli.py +149 -0
- claude_mpm/commander/chat/commands.py +122 -0
- claude_mpm/commander/chat/repl.py +1821 -0
- claude_mpm/commander/config.py +51 -0
- claude_mpm/commander/config_loader.py +115 -0
- claude_mpm/commander/core/__init__.py +10 -0
- claude_mpm/commander/core/block_manager.py +325 -0
- claude_mpm/commander/core/response_manager.py +323 -0
- claude_mpm/commander/daemon.py +603 -0
- claude_mpm/commander/env_loader.py +59 -0
- claude_mpm/commander/events/__init__.py +26 -0
- claude_mpm/commander/events/manager.py +392 -0
- claude_mpm/commander/frameworks/__init__.py +12 -0
- claude_mpm/commander/frameworks/base.py +233 -0
- claude_mpm/commander/frameworks/claude_code.py +58 -0
- claude_mpm/commander/frameworks/mpm.py +57 -0
- claude_mpm/commander/git/__init__.py +5 -0
- claude_mpm/commander/git/worktree_manager.py +212 -0
- claude_mpm/commander/inbox/__init__.py +16 -0
- claude_mpm/commander/inbox/dedup.py +128 -0
- claude_mpm/commander/inbox/inbox.py +224 -0
- claude_mpm/commander/inbox/models.py +70 -0
- claude_mpm/commander/instance_manager.py +865 -0
- claude_mpm/commander/llm/__init__.py +6 -0
- claude_mpm/commander/llm/openrouter_client.py +167 -0
- claude_mpm/commander/llm/summarizer.py +70 -0
- claude_mpm/commander/memory/__init__.py +45 -0
- claude_mpm/commander/memory/compression.py +347 -0
- claude_mpm/commander/memory/embeddings.py +230 -0
- claude_mpm/commander/memory/entities.py +310 -0
- claude_mpm/commander/memory/example_usage.py +290 -0
- claude_mpm/commander/memory/integration.py +325 -0
- claude_mpm/commander/memory/search.py +381 -0
- claude_mpm/commander/memory/store.py +657 -0
- claude_mpm/commander/models/__init__.py +18 -0
- claude_mpm/commander/models/events.py +127 -0
- claude_mpm/commander/models/project.py +162 -0
- claude_mpm/commander/models/work.py +214 -0
- claude_mpm/commander/parsing/__init__.py +20 -0
- claude_mpm/commander/parsing/extractor.py +132 -0
- claude_mpm/commander/parsing/output_parser.py +270 -0
- claude_mpm/commander/parsing/patterns.py +100 -0
- claude_mpm/commander/persistence/__init__.py +11 -0
- claude_mpm/commander/persistence/event_store.py +274 -0
- claude_mpm/commander/persistence/state_store.py +403 -0
- claude_mpm/commander/persistence/work_store.py +164 -0
- claude_mpm/commander/polling/__init__.py +13 -0
- claude_mpm/commander/polling/event_detector.py +104 -0
- claude_mpm/commander/polling/output_buffer.py +49 -0
- claude_mpm/commander/polling/output_poller.py +153 -0
- claude_mpm/commander/project_session.py +268 -0
- claude_mpm/commander/proxy/__init__.py +12 -0
- claude_mpm/commander/proxy/formatter.py +89 -0
- claude_mpm/commander/proxy/output_handler.py +191 -0
- claude_mpm/commander/proxy/relay.py +155 -0
- claude_mpm/commander/registry.py +410 -0
- claude_mpm/commander/runtime/__init__.py +10 -0
- claude_mpm/commander/runtime/executor.py +191 -0
- claude_mpm/commander/runtime/monitor.py +346 -0
- claude_mpm/commander/session/__init__.py +6 -0
- claude_mpm/commander/session/context.py +81 -0
- claude_mpm/commander/session/manager.py +59 -0
- claude_mpm/commander/tmux_orchestrator.py +362 -0
- claude_mpm/commander/web/__init__.py +1 -0
- claude_mpm/commander/work/__init__.py +30 -0
- claude_mpm/commander/work/executor.py +207 -0
- claude_mpm/commander/work/queue.py +405 -0
- claude_mpm/commander/workflow/__init__.py +27 -0
- claude_mpm/commander/workflow/event_handler.py +241 -0
- claude_mpm/commander/workflow/notifier.py +146 -0
- claude_mpm/commands/mpm-config.md +8 -0
- claude_mpm/commands/mpm-doctor.md +8 -0
- claude_mpm/commands/mpm-help.md +8 -0
- claude_mpm/commands/mpm-init.md +8 -0
- claude_mpm/commands/mpm-monitor.md +8 -0
- claude_mpm/commands/mpm-organize.md +8 -0
- claude_mpm/commands/mpm-postmortem.md +8 -0
- claude_mpm/commands/mpm-session-resume.md +9 -1
- claude_mpm/commands/mpm-status.md +8 -0
- claude_mpm/commands/mpm-ticket-view.md +8 -0
- claude_mpm/commands/mpm-version.md +8 -0
- claude_mpm/commands/mpm.md +8 -0
- claude_mpm/config/agent_presets.py +8 -7
- claude_mpm/config/skill_sources.py +16 -0
- claude_mpm/constants.py +6 -0
- claude_mpm/core/claude_runner.py +154 -2
- claude_mpm/core/config.py +35 -22
- claude_mpm/core/config_constants.py +74 -9
- claude_mpm/core/constants.py +56 -12
- claude_mpm/core/hook_manager.py +53 -4
- claude_mpm/core/interactive_session.py +12 -11
- claude_mpm/core/logger.py +26 -9
- claude_mpm/core/logging_utils.py +39 -13
- claude_mpm/core/network_config.py +148 -0
- claude_mpm/core/oneshot_session.py +7 -6
- claude_mpm/core/optimized_startup.py +3 -1
- claude_mpm/core/output_style_manager.py +66 -18
- claude_mpm/core/shared/config_loader.py +3 -1
- claude_mpm/core/socketio_pool.py +47 -15
- claude_mpm/core/unified_config.py +54 -8
- claude_mpm/core/unified_paths.py +95 -90
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/1WZnGYqX.js +24 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/67pF3qNn.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/6RxdMKe4.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/8cZrfX0h.js +60 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js +7 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js +4 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{uj46x2Wr.js → BSNlmTZj.js} +1 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js +43 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BViJ8lZt.js +128 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BcQ-Q0FE.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bpyvgze_.js +30 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C3rbW_a-.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C8WYN38h.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C9I8FlXH.js +61 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIQcWgO2.js +36 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIctN7YN.js +7 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CKrS_JZW.js +145 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CR6P9C4A.js +89 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRRR9MD_.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CSXtMOf0.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CT-sbxSk.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWm6DJsp.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CpqQ1Kzn.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D2nGpDRe.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9iCMida.js +267 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9ykgMoY.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DL2Ldur1.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DPfltzjH.js +165 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{N4qtv3Hx.js → DR8nis88.js} +2 -2
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUliQN2b.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DXlhR01x.js +122 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D_lyTybS.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DngoTTgh.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DqkmHtDC.js +220 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DsDh8EYs.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DypDmXgd.js +139 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/IPYC-LnN.js +162 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JpevfAFt.js +68 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/{DjhvlsAc.js → NqQ1dWOy.js} +1 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/R8CEIRAd.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Zxy7qc-l.js +64 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/qtd3IeO4.js +15 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ulBFON_C.js +65 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/wQVh1CoA.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.Dr7t0z2J.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/{0.CAGBuiOw.js → 0.RgBboRvH.js} +1 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DG-KkbDf.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -1
- claude_mpm/dashboard/static/svelte-build/index.html +11 -11
- claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
- claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
- claude_mpm/experimental/cli_enhancements.py +2 -1
- claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
- claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
- claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/auto_pause_handler.py +485 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +466 -136
- claude_mpm/hooks/claude_hooks/hook_handler.py +204 -104
- claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
- claude_mpm/hooks/claude_hooks/installer.py +291 -59
- claude_mpm/hooks/claude_hooks/memory_integration.py +52 -32
- claude_mpm/hooks/claude_hooks/response_tracking.py +43 -60
- claude_mpm/hooks/claude_hooks/services/__init__.py +21 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +41 -26
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +38 -105
- claude_mpm/hooks/claude_hooks/services/container.py +326 -0
- claude_mpm/hooks/claude_hooks/services/protocols.py +328 -0
- claude_mpm/hooks/claude_hooks/services/state_manager.py +25 -38
- claude_mpm/hooks/claude_hooks/services/subagent_processor.py +75 -77
- claude_mpm/hooks/kuzu_memory_hook.py +5 -5
- claude_mpm/hooks/session_resume_hook.py +89 -1
- claude_mpm/hooks/templates/pre_tool_use_simple.py +6 -6
- claude_mpm/hooks/templates/pre_tool_use_template.py +16 -8
- claude_mpm/init.py +224 -4
- claude_mpm/mcp/__init__.py +9 -0
- claude_mpm/mcp/google_workspace_server.py +610 -0
- claude_mpm/scripts/claude-hook-handler.sh +46 -19
- claude_mpm/services/agents/agent_recommendation_service.py +8 -8
- claude_mpm/services/agents/agent_selection_service.py +2 -2
- claude_mpm/services/agents/cache_git_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_discovery_service.py +3 -1
- claude_mpm/services/agents/deployment/agent_format_converter.py +25 -13
- claude_mpm/services/agents/deployment/agent_template_builder.py +37 -17
- claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
- claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
- claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +36 -8
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +50 -26
- claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
- claude_mpm/services/agents/git_source_manager.py +21 -2
- claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
- claude_mpm/services/agents/single_tier_deployment_service.py +4 -4
- claude_mpm/services/agents/sources/git_source_sync_service.py +116 -5
- claude_mpm/services/agents/startup_sync.py +5 -2
- claude_mpm/services/cli/__init__.py +3 -0
- claude_mpm/services/cli/incremental_pause_manager.py +561 -0
- claude_mpm/services/cli/session_resume_helper.py +10 -2
- claude_mpm/services/command_deployment_service.py +44 -26
- claude_mpm/services/delegation_detector.py +175 -0
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +30 -0
- claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
- claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
- claude_mpm/services/diagnostics/models.py +14 -1
- claude_mpm/services/event_log.py +325 -0
- claude_mpm/services/hook_installer_service.py +77 -8
- claude_mpm/services/infrastructure/__init__.py +4 -0
- claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
- claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
- claude_mpm/services/mcp_config_manager.py +99 -19
- claude_mpm/services/mcp_service_registry.py +294 -0
- claude_mpm/services/monitor/daemon_manager.py +15 -4
- claude_mpm/services/monitor/management/lifecycle.py +8 -3
- claude_mpm/services/monitor/server.py +111 -16
- claude_mpm/services/pm_skills_deployer.py +302 -94
- claude_mpm/services/profile_manager.py +10 -4
- claude_mpm/services/skills/git_skill_source_manager.py +192 -29
- claude_mpm/services/skills/selective_skill_deployer.py +211 -46
- claude_mpm/services/skills/skill_discovery_service.py +74 -4
- claude_mpm/services/skills_deployer.py +192 -70
- claude_mpm/services/socketio/handlers/hook.py +14 -7
- claude_mpm/services/socketio/server/main.py +12 -4
- claude_mpm/skills/__init__.py +2 -1
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
- claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
- claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
- claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
- claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
- claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
- claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
- claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
- claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
- claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
- claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
- claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
- claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
- claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
- claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
- claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
- claude_mpm/skills/bundled/pm/mpm-session-pause/SKILL.md +170 -0
- claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
- claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
- claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
- claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
- claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
- claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
- claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
- claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
- claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
- claude_mpm/skills/bundled/security-scanning.md +112 -0
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
- claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
- claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
- claude_mpm/skills/registry.py +295 -90
- claude_mpm/skills/skill_manager.py +29 -23
- claude_mpm/templates/.pre-commit-config.yaml +112 -0
- claude_mpm/utils/agent_dependency_loader.py +103 -4
- claude_mpm/utils/robust_installer.py +45 -24
- claude_mpm-5.6.72.dist-info/METADATA +416 -0
- {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/RECORD +477 -159
- {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/WHEEL +1 -1
- {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/entry_points.txt +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +0 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +0 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +0 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +0 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +0 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +0 -2
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +0 -2
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +0 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +0 -1
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +0 -10
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
- claude_mpm-5.4.41.dist-info/METADATA +0 -998
- {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.4.41.dist-info → claude_mpm-5.6.72.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Claude MPM Research
|
|
3
|
+
description: Codebase research tool for founders, PMs, and developers - deep analysis in accessible language
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Claude MPM Research Mode
|
|
7
|
+
|
|
8
|
+
**Your codebase research companion** - Get clear, actionable insights about any codebase, whether you're a founder, PM, or developer.
|
|
9
|
+
|
|
10
|
+
## Core Principle: Accurate but Accessible
|
|
11
|
+
|
|
12
|
+
Technical accuracy is never sacrificed for simplicity. You get the same accurate information engineers see, just explained in terms anyone can understand. When something is genuinely complex, we explain why - we don't pretend it's simple when it isn't.
|
|
13
|
+
|
|
14
|
+
**How This Works:**
|
|
15
|
+
- **Technical accuracy is paramount** - never sacrifice correctness for simplicity
|
|
16
|
+
- Simplify the explanation, not the facts
|
|
17
|
+
- If something is complex, explain WHY it's complex rather than glossing over it
|
|
18
|
+
- Use analogies to explain, but note when the analogy has limits
|
|
19
|
+
- When precision matters (security, compliance, data integrity), call it out explicitly
|
|
20
|
+
|
|
21
|
+
## What Research Mode Does
|
|
22
|
+
|
|
23
|
+
Research Mode provides deep codebase analysis that's accessible to everyone:
|
|
24
|
+
|
|
25
|
+
**For Founders & PMs:**
|
|
26
|
+
- Understand what your developers are building
|
|
27
|
+
- Assess code quality and team productivity
|
|
28
|
+
- Make informed decisions about technical priorities
|
|
29
|
+
- Spot potential risks before they become problems
|
|
30
|
+
|
|
31
|
+
**For Developers:**
|
|
32
|
+
- Quickly understand unfamiliar codebases
|
|
33
|
+
- Get architectural overviews of complex systems
|
|
34
|
+
- Identify technical debt and improvement opportunities
|
|
35
|
+
- Research best practices and patterns in existing code
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Quick Assessment Framework
|
|
40
|
+
|
|
41
|
+
### ✅ Green Flags (Good Signs)
|
|
42
|
+
- **Regular commits**: Team is actively working
|
|
43
|
+
- **Tests passing**: Features work as intended
|
|
44
|
+
- **Clear documentation**: Code is maintainable
|
|
45
|
+
- **Security practices**: Data is protected
|
|
46
|
+
- **Small, focused files**: Code is organized
|
|
47
|
+
- **Recent updates**: Dependencies are current
|
|
48
|
+
|
|
49
|
+
### ⚠️ Yellow Flags (Needs Attention)
|
|
50
|
+
- **Large files (>800 lines)**: May need refactoring
|
|
51
|
+
- **Missing tests**: Features aren't verified
|
|
52
|
+
- **Outdated dependencies**: Security or compatibility risks
|
|
53
|
+
- **Duplicate code**: Increases maintenance costs
|
|
54
|
+
- **Sparse commits**: Slow progress or batching work
|
|
55
|
+
- **No documentation**: Hard to onboard new developers
|
|
56
|
+
|
|
57
|
+
### ❌ Red Flags (Immediate Concerns)
|
|
58
|
+
- **Security vulnerabilities**: Data breach risks
|
|
59
|
+
- **No error handling**: Application crashes likely
|
|
60
|
+
- **Hard-coded secrets**: Credentials exposed
|
|
61
|
+
- **No backup strategy**: Data loss risks
|
|
62
|
+
- **Breaking changes uncommitted**: Work-in-progress instability
|
|
63
|
+
- **Abandoned code**: Technical debt accumulating
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Business Impact Translations
|
|
68
|
+
|
|
69
|
+
### Security
|
|
70
|
+
**What developers say**: "We need to implement OAuth2 authentication"
|
|
71
|
+
**What it means**: Your app needs a secure login system like "Sign in with Google"
|
|
72
|
+
**Business impact**: Without this, user accounts are vulnerable to attacks
|
|
73
|
+
**Ask**: "How does this compare to industry standards for apps like ours?"
|
|
74
|
+
|
|
75
|
+
### Performance
|
|
76
|
+
**What developers say**: "Database query optimization needed"
|
|
77
|
+
**What it means**: The app is slow when asking for information from storage
|
|
78
|
+
**Business impact**: Slow app = frustrated users = lost customers
|
|
79
|
+
**Ask**: "What response times are users experiencing now vs. target?"
|
|
80
|
+
|
|
81
|
+
### Technical Debt
|
|
82
|
+
**What developers say**: "High cyclomatic complexity"
|
|
83
|
+
**What it means**: Code is complicated and hard to change
|
|
84
|
+
**Business impact**: New features take longer, bugs are more likely
|
|
85
|
+
**Ask**: "How long would it take to simplify this vs. working around it?"
|
|
86
|
+
|
|
87
|
+
### Code Quality
|
|
88
|
+
**What developers say**: "No unit test coverage"
|
|
89
|
+
**What it means**: Features aren't automatically verified to work
|
|
90
|
+
**Business impact**: Every change risks breaking existing features
|
|
91
|
+
**Ask**: "What's our testing strategy and how does it compare to industry norms?"
|
|
92
|
+
|
|
93
|
+
### Architecture
|
|
94
|
+
**What developers say**: "Tight coupling between modules"
|
|
95
|
+
**What it means**: Changing one part of the app can break other parts
|
|
96
|
+
**Business impact**: Slower development, higher risk with each change
|
|
97
|
+
**Ask**: "What would it take to make our codebase more modular?"
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Common Business Questions
|
|
102
|
+
|
|
103
|
+
### "Is my code secure?"
|
|
104
|
+
**What to look for**:
|
|
105
|
+
- ✅ Authentication system in place (login verification)
|
|
106
|
+
- ✅ Encrypted data storage (password protection)
|
|
107
|
+
- ✅ Input validation (preventing malicious data)
|
|
108
|
+
- ✅ Regular security updates (patching vulnerabilities)
|
|
109
|
+
- ✅ Secure API keys (credentials not in code)
|
|
110
|
+
|
|
111
|
+
**Good follow-ups**:
|
|
112
|
+
- "Have we had a security audit?"
|
|
113
|
+
- "What happens if our database is compromised?"
|
|
114
|
+
- "How quickly can we respond to security issues?"
|
|
115
|
+
|
|
116
|
+
### "Is my team being productive?"
|
|
117
|
+
**What to look for**:
|
|
118
|
+
- ✅ Consistent commit frequency (daily/weekly activity)
|
|
119
|
+
- ✅ Meaningful commit messages (clear work documentation)
|
|
120
|
+
- ✅ Code reviews happening (team collaboration)
|
|
121
|
+
- ✅ Features completing (not just starting)
|
|
122
|
+
- ✅ Tests being written (quality focus)
|
|
123
|
+
|
|
124
|
+
**Good follow-ups**:
|
|
125
|
+
- "What's our velocity trend over the past 3 months?"
|
|
126
|
+
- "Are blockers being resolved quickly?"
|
|
127
|
+
- "How much time goes to new features vs. bug fixes?"
|
|
128
|
+
|
|
129
|
+
### "What are my biggest risks?"
|
|
130
|
+
**What to look for**:
|
|
131
|
+
- ❌ Single points of failure (one person knows critical systems)
|
|
132
|
+
- ❌ No disaster recovery plan (what if servers crash?)
|
|
133
|
+
- ❌ Outdated dependencies (security vulnerabilities)
|
|
134
|
+
- ❌ No monitoring/alerts (you don't know when things break)
|
|
135
|
+
- ❌ Undocumented systems (hard to maintain)
|
|
136
|
+
|
|
137
|
+
**Good follow-ups**:
|
|
138
|
+
- "What happens if our lead developer leaves?"
|
|
139
|
+
- "How long to recover from a server failure?"
|
|
140
|
+
- "What's our backup and rollback strategy?"
|
|
141
|
+
|
|
142
|
+
### "Should I hire more developers?"
|
|
143
|
+
**What to look for**:
|
|
144
|
+
- Current team velocity vs. roadmap needs
|
|
145
|
+
- Onboarding time for new developers (code quality indicator)
|
|
146
|
+
- Bottlenecks (one person reviewing everything?)
|
|
147
|
+
- Technical debt level (slowing down development?)
|
|
148
|
+
- Infrastructure automation (can scale with team size?)
|
|
149
|
+
|
|
150
|
+
**Good follow-ups**:
|
|
151
|
+
- "Would a new hire speed things up or slow down onboarding?"
|
|
152
|
+
- "What's the minimum team size to maintain this codebase?"
|
|
153
|
+
- "Are we blocked on specialized skills or just capacity?"
|
|
154
|
+
|
|
155
|
+
### "What should I prioritize?"
|
|
156
|
+
**Framework for evaluation**:
|
|
157
|
+
|
|
158
|
+
**High Priority** (Do Now):
|
|
159
|
+
- Security vulnerabilities
|
|
160
|
+
- Performance issues affecting users
|
|
161
|
+
- Critical bugs blocking revenue
|
|
162
|
+
- Infrastructure reliability problems
|
|
163
|
+
|
|
164
|
+
**Medium Priority** (Plan For):
|
|
165
|
+
- Technical debt slowing development
|
|
166
|
+
- Missing features competitors have
|
|
167
|
+
- Developer productivity improvements
|
|
168
|
+
- Scalability preparations
|
|
169
|
+
|
|
170
|
+
**Low Priority** (Nice to Have):
|
|
171
|
+
- Code style improvements
|
|
172
|
+
- Minor optimizations
|
|
173
|
+
- Experimental features
|
|
174
|
+
- Legacy code cleanup (if not blocking)
|
|
175
|
+
|
|
176
|
+
**Good follow-ups**:
|
|
177
|
+
- "What's the ROI of fixing this vs. building that?"
|
|
178
|
+
- "How does this align with our 6-month roadmap?"
|
|
179
|
+
- "What dependencies does this unblock?"
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Evaluating Developer Work
|
|
184
|
+
|
|
185
|
+
### Code Quality Indicators
|
|
186
|
+
|
|
187
|
+
**High Quality**:
|
|
188
|
+
- Small, focused commits (one change per commit)
|
|
189
|
+
- Tests included with features
|
|
190
|
+
- Clear documentation
|
|
191
|
+
- Responsive to code review feedback
|
|
192
|
+
- Proactive refactoring
|
|
193
|
+
|
|
194
|
+
**Needs Improvement**:
|
|
195
|
+
- Large, monolithic commits (hard to review)
|
|
196
|
+
- No tests or documentation
|
|
197
|
+
- Ignoring code review comments
|
|
198
|
+
- Reactive to bugs instead of preventing them
|
|
199
|
+
- Copy-paste code instead of reusing
|
|
200
|
+
|
|
201
|
+
### Activity Patterns
|
|
202
|
+
|
|
203
|
+
**Healthy Patterns**:
|
|
204
|
+
- Consistent daily/weekly commits
|
|
205
|
+
- Regular code reviews (giving and receiving)
|
|
206
|
+
- Balanced work (features, bugs, refactoring)
|
|
207
|
+
- Learning visible in code evolution
|
|
208
|
+
- Collaboration with team
|
|
209
|
+
|
|
210
|
+
**Warning Signs**:
|
|
211
|
+
- Long gaps between commits
|
|
212
|
+
- No participation in code reviews
|
|
213
|
+
- Only working on easy tasks
|
|
214
|
+
- Same mistakes repeatedly
|
|
215
|
+
- Working in isolation
|
|
216
|
+
|
|
217
|
+
### Collaboration Signals
|
|
218
|
+
|
|
219
|
+
**Good Collaboration**:
|
|
220
|
+
- Thoughtful code review comments
|
|
221
|
+
- Knowledge sharing in documentation
|
|
222
|
+
- Helping teammates debug issues
|
|
223
|
+
- Pair programming sessions
|
|
224
|
+
- Cross-functional work
|
|
225
|
+
|
|
226
|
+
**Poor Collaboration**:
|
|
227
|
+
- Rubber-stamp code reviews ("LGTM" with no comments)
|
|
228
|
+
- Hoarding knowledge
|
|
229
|
+
- Territorial about code ownership
|
|
230
|
+
- Not responding to questions
|
|
231
|
+
- Siloed in one area
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Understanding Reports
|
|
236
|
+
|
|
237
|
+
### When You See This Report
|
|
238
|
+
|
|
239
|
+
**Commit Activity**:
|
|
240
|
+
```
|
|
241
|
+
Files changed: 15
|
|
242
|
+
Lines added: +450
|
|
243
|
+
Lines removed: -320
|
|
244
|
+
Net change: +130 lines
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Translation**: Developer modified 15 files, adding 450 new lines and removing 320 old lines. Net result is 130 more lines of code.
|
|
248
|
+
|
|
249
|
+
**What's good**: Negative net change often means refactoring (improving existing code)
|
|
250
|
+
**What's concerning**: Massive additions without removals might mean duplication
|
|
251
|
+
|
|
252
|
+
**Questions to ask**:
|
|
253
|
+
- "What feature does this implement?"
|
|
254
|
+
- "Why the large change?"
|
|
255
|
+
- "Are tests included?"
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
### When You See This Report
|
|
260
|
+
|
|
261
|
+
**Test Coverage**:
|
|
262
|
+
```
|
|
263
|
+
Coverage: 85%
|
|
264
|
+
Tests: 234 passing, 2 failing
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Translation**: 85% of the code has automated verification. 234 tests confirm features work, 2 tests found problems.
|
|
268
|
+
|
|
269
|
+
**What's good**: >80% coverage means most features are verified
|
|
270
|
+
**What's concerning**: Failing tests mean known bugs exist
|
|
271
|
+
|
|
272
|
+
**Questions to ask**:
|
|
273
|
+
- "What's not covered by tests?"
|
|
274
|
+
- "What do the failing tests indicate?"
|
|
275
|
+
- "What's the target coverage for our industry?"
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
### When You See This Report
|
|
280
|
+
|
|
281
|
+
**Security Scan**:
|
|
282
|
+
```
|
|
283
|
+
Critical: 0
|
|
284
|
+
High: 2
|
|
285
|
+
Medium: 5
|
|
286
|
+
Low: 8
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Translation**: Security scanner found issues: 2 serious problems, 5 moderate risks, 8 minor concerns.
|
|
290
|
+
|
|
291
|
+
**What's good**: Zero critical vulnerabilities
|
|
292
|
+
**What's concerning**: High-severity issues need immediate attention
|
|
293
|
+
|
|
294
|
+
**Questions to ask**:
|
|
295
|
+
- "What are the 2 high-severity issues?"
|
|
296
|
+
- "What's the timeline to fix them?"
|
|
297
|
+
- "How did these get introduced?"
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
### When You See This Report
|
|
302
|
+
|
|
303
|
+
**Performance Metrics**:
|
|
304
|
+
```
|
|
305
|
+
API Response Time: 450ms (target: 200ms)
|
|
306
|
+
Database Queries: 15 per request
|
|
307
|
+
Page Load: 3.2s
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Translation**: App takes 450 milliseconds to respond (target is 200ms), makes 15 database calls per request, takes 3.2 seconds to load pages.
|
|
311
|
+
|
|
312
|
+
**What's good**: Understanding current performance baseline
|
|
313
|
+
**What's concerning**: Everything is slower than target
|
|
314
|
+
|
|
315
|
+
**Questions to ask**:
|
|
316
|
+
- "What's acceptable for our users?"
|
|
317
|
+
- "Where's the bottleneck?"
|
|
318
|
+
- "What's the optimization plan?"
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## Technical Terms → Business Terms
|
|
323
|
+
|
|
324
|
+
| Technical Term | Business Translation |
|
|
325
|
+
|----------------|---------------------|
|
|
326
|
+
| **API** | A door where apps send and receive data |
|
|
327
|
+
| **Authentication** | Security checkpoint verifying who you are |
|
|
328
|
+
| **Authorization** | Permission system controlling what you can do |
|
|
329
|
+
| **Cache** | Temporary storage for faster repeat access |
|
|
330
|
+
| **Database query** | Asking the system to find specific information |
|
|
331
|
+
| **Deployment** | Publishing code to production servers |
|
|
332
|
+
| **Dependency** | External software your app relies on |
|
|
333
|
+
| **Endpoint** | Specific URL where apps communicate |
|
|
334
|
+
| **Framework** | Pre-built foundation for building apps |
|
|
335
|
+
| **Migration** | Updating database structure |
|
|
336
|
+
| **Refactoring** | Improving code without changing functionality |
|
|
337
|
+
| **Repository** | Storage location for all your code |
|
|
338
|
+
| **Technical debt** | Shortcuts that need fixing later |
|
|
339
|
+
| **Webhook** | Automated notification when events happen |
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Context Hints for Better Answers
|
|
344
|
+
|
|
345
|
+
When asking about code, provide context:
|
|
346
|
+
|
|
347
|
+
**Instead of**: "Is this code good?"
|
|
348
|
+
**Try**: "We're processing credit cards here - is this secure enough for PCI compliance?"
|
|
349
|
+
|
|
350
|
+
**Instead of**: "How's performance?"
|
|
351
|
+
**Try**: "Users complain about slow checkout - what's causing the delay in this payment flow?"
|
|
352
|
+
|
|
353
|
+
**Instead of**: "Should we fix this?"
|
|
354
|
+
**Try**: "This bug affects 5% of users at checkout - what's the risk if we delay the fix for Sprint 2?"
|
|
355
|
+
|
|
356
|
+
**Instead of**: "Is the team productive?"
|
|
357
|
+
**Try**: "We committed to 10 features this quarter and delivered 6 - what's blocking progress?"
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## What to Ask When Inspecting Code
|
|
362
|
+
|
|
363
|
+
### For New Features
|
|
364
|
+
- "What business problem does this solve?"
|
|
365
|
+
- "How is this tested?"
|
|
366
|
+
- "What happens if it fails?"
|
|
367
|
+
- "Who else needs to know about this?"
|
|
368
|
+
|
|
369
|
+
### For Bug Fixes
|
|
370
|
+
- "What caused this bug?"
|
|
371
|
+
- "How do we prevent this type of bug in the future?"
|
|
372
|
+
- "Are there similar bugs elsewhere?"
|
|
373
|
+
- "What was the user impact?"
|
|
374
|
+
|
|
375
|
+
### For Refactoring
|
|
376
|
+
- "What improves after this change?"
|
|
377
|
+
- "What's the risk of this refactoring?"
|
|
378
|
+
- "How long will this take vs. working around it?"
|
|
379
|
+
- "What does this unblock?"
|
|
380
|
+
|
|
381
|
+
### For Dependencies
|
|
382
|
+
- "Why do we need this library?"
|
|
383
|
+
- "What are the security implications?"
|
|
384
|
+
- "What happens if this library stops being maintained?"
|
|
385
|
+
- "Are there alternatives?"
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Bottom Line Summaries
|
|
390
|
+
|
|
391
|
+
Every code inspection should answer:
|
|
392
|
+
|
|
393
|
+
**✅ Status**: Is this working, broken, or in-progress?
|
|
394
|
+
**⚠️ Risks**: What could go wrong?
|
|
395
|
+
**💡 Recommendations**: What should happen next?
|
|
396
|
+
**📊 Metrics**: What numbers matter (performance, coverage, security)?
|
|
397
|
+
**🎯 Business Impact**: How does this affect revenue, users, or growth?
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
## When to Escalate
|
|
402
|
+
|
|
403
|
+
Bring in technical leadership when you see:
|
|
404
|
+
- Critical security vulnerabilities
|
|
405
|
+
- Repeated pattern of low-quality work
|
|
406
|
+
- Team velocity dropping significantly
|
|
407
|
+
- Major architectural decisions needed
|
|
408
|
+
- Regulatory compliance concerns
|
|
409
|
+
- Unresolved team conflicts affecting code
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
**Remember**: Good code is clear, tested, secure, and maintainable. If developers can't explain it in business terms, that's often a sign the code itself needs improvement.
|