mcp-coder 0.1.6__tar.gz
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.
- mcp_coder-0.1.6/.claude/CLAUDE.md +245 -0
- mcp_coder-0.1.6/.claude/agents/commit-pusher.md +24 -0
- mcp_coder-0.1.6/.claude/commands/check_branch_status.md +57 -0
- mcp_coder-0.1.6/.claude/commands/commit_push.md +40 -0
- mcp_coder-0.1.6/.claude/commands/discuss.md +16 -0
- mcp_coder-0.1.6/.claude/commands/implementation_approve.md +20 -0
- mcp_coder-0.1.6/.claude/commands/implementation_finalise.md +52 -0
- mcp_coder-0.1.6/.claude/commands/implementation_needs_rework.md +34 -0
- mcp_coder-0.1.6/.claude/commands/implementation_new_tasks.md +31 -0
- mcp_coder-0.1.6/.claude/commands/implementation_review.md +47 -0
- mcp_coder-0.1.6/.claude/commands/implementation_review_supervisor.md +56 -0
- mcp_coder-0.1.6/.claude/commands/issue_analyse.md +38 -0
- mcp_coder-0.1.6/.claude/commands/issue_approve.md +26 -0
- mcp_coder-0.1.6/.claude/commands/issue_create.md +43 -0
- mcp_coder-0.1.6/.claude/commands/issue_update.md +48 -0
- mcp_coder-0.1.6/.claude/commands/plan_approve.md +20 -0
- mcp_coder-0.1.6/.claude/commands/plan_review.md +37 -0
- mcp_coder-0.1.6/.claude/commands/plan_review_supervisor.md +59 -0
- mcp_coder-0.1.6/.claude/commands/plan_update.md +25 -0
- mcp_coder-0.1.6/.claude/commands/rebase.md +67 -0
- mcp_coder-0.1.6/.claude/commands/rebase_design.md.txt +76 -0
- mcp_coder-0.1.6/.claude/knowledge_base/planning_principles.md +28 -0
- mcp_coder-0.1.6/.claude/knowledge_base/python.md +5 -0
- mcp_coder-0.1.6/.claude/knowledge_base/refactoring_principles.md +20 -0
- mcp_coder-0.1.6/.claude/knowledge_base/software_engineering_principles.md +30 -0
- mcp_coder-0.1.6/.claude/settings.local.json +65 -0
- mcp_coder-0.1.6/.gitattributes +95 -0
- mcp_coder-0.1.6/.github/dependabot.yml +14 -0
- mcp_coder-0.1.6/.github/workflows/approve-command.yml +82 -0
- mcp_coder-0.1.6/.github/workflows/ci.yml +175 -0
- mcp_coder-0.1.6/.github/workflows/label-new-issues.yml +22 -0
- mcp_coder-0.1.6/.github/workflows/langchain-integration.yml +65 -0
- mcp_coder-0.1.6/.github/workflows/publish.yml +49 -0
- mcp_coder-0.1.6/.gitignore +79 -0
- mcp_coder-0.1.6/.importlinter +528 -0
- mcp_coder-0.1.6/.large-files-allowlist +39 -0
- mcp_coder-0.1.6/.mcp.json +42 -0
- mcp_coder-0.1.6/.python-version +1 -0
- mcp_coder-0.1.6/.run/pytest in tests - just unit tests.run.xml +19 -0
- mcp_coder-0.1.6/.run/pytest in tests.run.xml +19 -0
- mcp_coder-0.1.6/PKG-INFO +215 -0
- mcp_coder-0.1.6/README.md +159 -0
- mcp_coder-0.1.6/claude.bat +50 -0
- mcp_coder-0.1.6/claude_local.bat +74 -0
- mcp_coder-0.1.6/docs/README.md +51 -0
- mcp_coder-0.1.6/docs/architecture/architecture-maintenance.md +298 -0
- mcp_coder-0.1.6/docs/architecture/architecture.md +450 -0
- mcp_coder-0.1.6/docs/architecture/dependencies/dependency_graph.html +226 -0
- mcp_coder-0.1.6/docs/architecture/dependencies/pydeps_graph.dot +425 -0
- mcp_coder-0.1.6/docs/architecture/dependencies/pydeps_graph.html +220 -0
- mcp_coder-0.1.6/docs/architecture/dependencies/readme.md +116 -0
- mcp_coder-0.1.6/docs/claude_sdk_response_structure.md +167 -0
- mcp_coder-0.1.6/docs/cli-reference.md +853 -0
- mcp_coder-0.1.6/docs/configuration/claude-code.md +238 -0
- mcp_coder-0.1.6/docs/configuration/claude-desktop.md +38 -0
- mcp_coder-0.1.6/docs/configuration/config.md +889 -0
- mcp_coder-0.1.6/docs/configuration/mlflow-integration.md +295 -0
- mcp_coder-0.1.6/docs/coordinator-vscodeclaude.md +185 -0
- mcp_coder-0.1.6/docs/getting-started/label-setup.md +270 -0
- mcp_coder-0.1.6/docs/processes-prompts/claude_cheat_sheet.md +99 -0
- mcp_coder-0.1.6/docs/processes-prompts/development-process.md +1137 -0
- mcp_coder-0.1.6/docs/processes-prompts/github_Issue_Workflow_Matrix.html +572 -0
- mcp_coder-0.1.6/docs/processes-prompts/refactoring-guide.md +130 -0
- mcp_coder-0.1.6/docs/repository-setup.md +816 -0
- mcp_coder-0.1.6/docs/tests/issues.md +228 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20251005_055638.txt +190 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20251005_120721.txt +197 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20251007_103917.txt +197 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20251008_070010.txt +197 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20251008_174005.txt +197 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20251009_070944.txt +197 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20251014_071242.txt +199 -0
- mcp_coder-0.1.6/docs/tests/performance_data/performance_stats_20260127_071318.txt +165 -0
- mcp_coder-0.1.6/docs/tests/runtime-statistics-review-process.md +216 -0
- mcp_coder-0.1.6/docs/tests/runtime_statistics.md +627 -0
- mcp_coder-0.1.6/docs/tests/slow-test-review-methodology.md +148 -0
- mcp_coder-0.1.6/mlflow_implementation.md +249 -0
- mcp_coder-0.1.6/project_idea.md +192 -0
- mcp_coder-0.1.6/pyproject.toml +276 -0
- mcp_coder-0.1.6/setup.cfg +4 -0
- mcp_coder-0.1.6/src/mcp_coder/__init__.py +100 -0
- mcp_coder-0.1.6/src/mcp_coder/checks/__init__.py +25 -0
- mcp_coder-0.1.6/src/mcp_coder/checks/branch_status.py +685 -0
- mcp_coder-0.1.6/src/mcp_coder/checks/ci_log_parser.py +215 -0
- mcp_coder-0.1.6/src/mcp_coder/checks/file_sizes.py +214 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/__init__.py +5 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/__init__.py +24 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/check_branch_status.py +368 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/check_file_sizes.py +49 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/commit.py +207 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/coordinator/__init__.py +68 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/coordinator/command_templates.py +249 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/coordinator/commands.py +720 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/coordinator/core.py +496 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/coordinator/issue_stats.py +352 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/coordinator/workflow_constants.py +57 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/create_plan.py +86 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/create_pr.py +79 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/define_labels.py +587 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/gh_tool.py +57 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/git_tool.py +180 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/help.py +109 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/implement.py +79 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/prompt.py +332 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/set_status.py +264 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/commands/verify.py +157 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/main.py +307 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/parsers.py +679 -0
- mcp_coder-0.1.6/src/mcp_coder/cli/utils.py +184 -0
- mcp_coder-0.1.6/src/mcp_coder/config/__init__.py +13 -0
- mcp_coder-0.1.6/src/mcp_coder/config/labels.json +161 -0
- mcp_coder-0.1.6/src/mcp_coder/config/labels_schema.md +55 -0
- mcp_coder-0.1.6/src/mcp_coder/config/mlflow_config.py +90 -0
- mcp_coder-0.1.6/src/mcp_coder/constants.py +15 -0
- mcp_coder-0.1.6/src/mcp_coder/formatters/__init__.py +97 -0
- mcp_coder-0.1.6/src/mcp_coder/formatters/black_formatter.py +144 -0
- mcp_coder-0.1.6/src/mcp_coder/formatters/config_reader.py +68 -0
- mcp_coder-0.1.6/src/mcp_coder/formatters/isort_formatter.py +145 -0
- mcp_coder-0.1.6/src/mcp_coder/formatters/models.py +21 -0
- mcp_coder-0.1.6/src/mcp_coder/formatters/utils.py +67 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/__init__.py +28 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/env.py +86 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/formatting/__init__.py +27 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/formatting/formatters.py +193 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/formatting/sdk_serialization.py +339 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/interface.py +215 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/mlflow_logger.py +706 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/mlflow_metrics.py +192 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/__init__.py +1 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/claude/__init__.py +1 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/claude/claude_cli_verification.py +67 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/claude/claude_code_api.py +709 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/claude/claude_code_cli.py +725 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/claude/claude_executable_finder.py +225 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/claude/logging_utils.py +189 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/langchain/__init__.py +362 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/langchain/_models.py +73 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/langchain/agent.py +336 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/langchain/anthropic_backend.py +40 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/langchain/gemini_backend.py +40 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/langchain/openai_backend.py +50 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/providers/langchain/verification.py +286 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/serialization.py +141 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/session/__init__.py +7 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/session/resolver.py +41 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/storage/__init__.py +15 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/storage/session_finder.py +144 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/storage/session_storage.py +214 -0
- mcp_coder-0.1.6/src/mcp_coder/llm/types.py +59 -0
- mcp_coder-0.1.6/src/mcp_coder/mcp_tools_py.py +49 -0
- mcp_coder-0.1.6/src/mcp_coder/mcp_workspace.py +32 -0
- mcp_coder-0.1.6/src/mcp_coder/prompt_manager.py +756 -0
- mcp_coder-0.1.6/src/mcp_coder/prompts/prompt_instructions.md +59 -0
- mcp_coder-0.1.6/src/mcp_coder/prompts/prompts.md +307 -0
- mcp_coder-0.1.6/src/mcp_coder/prompts/prompts_testdata.md +91 -0
- mcp_coder-0.1.6/src/mcp_coder/py.typed +0 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/__init__.py +122 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/clipboard.py +122 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/data_files.py +216 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/folder_deletion.py +400 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/__init__.py +97 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/branches.py +273 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/commits.py +97 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/compact_diffs.py +579 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/core.py +93 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/diffs.py +310 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/file_tracking.py +97 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/readers.py +720 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/remotes.py +328 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/staging.py +136 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_operations/workflows.py +203 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/git_utils.py +60 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/__init__.py +26 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/base_manager.py +296 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/ci_results_manager.py +465 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/github_utils.py +202 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/__init__.py +68 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/base.py +97 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/branch_manager.py +778 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/cache.py +508 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/comments_mixin.py +273 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/events_mixin.py +116 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/labels_mixin.py +242 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/manager.py +527 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/issues/types.py +121 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/label_config.py +180 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/labels_manager.py +295 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/github_operations/pr_manager.py +427 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/jenkins_operations/__init__.py +38 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/jenkins_operations/client.py +254 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/jenkins_operations/models.py +109 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/log_utils.py +504 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/mlflow_config_loader.py +89 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/subprocess_runner.py +674 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/timezone_utils.py +133 -0
- mcp_coder-0.1.6/src/mcp_coder/utils/user_config.py +361 -0
- mcp_coder-0.1.6/src/mcp_coder/workflow_utils/__init__.py +69 -0
- mcp_coder-0.1.6/src/mcp_coder/workflow_utils/base_branch.py +205 -0
- mcp_coder-0.1.6/src/mcp_coder/workflow_utils/commit_operations.py +276 -0
- mcp_coder-0.1.6/src/mcp_coder/workflow_utils/py.typed +0 -0
- mcp_coder-0.1.6/src/mcp_coder/workflow_utils/task_tracker.py +521 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/__init__.py +9 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/create_plan.py +633 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/create_pr/__init__.py +11 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/create_pr/core.py +612 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/implement/__init__.py +37 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/implement/constants.py +27 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/implement/core.py +1102 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/implement/prerequisites.py +193 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/implement/task_processing.py +499 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/utils.py +58 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/__init__.py +401 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/cleanup.py +325 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/config.py +233 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/helpers.py +112 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/issues.py +386 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/session_launch.py +465 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/session_restart.py +470 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/sessions.py +537 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/status.py +405 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/templates.py +282 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/types.py +43 -0
- mcp_coder-0.1.6/src/mcp_coder/workflows/vscodeclaude/workspace.py +644 -0
- mcp_coder-0.1.6/src/mcp_coder.egg-info/PKG-INFO +215 -0
- mcp_coder-0.1.6/src/mcp_coder.egg-info/SOURCES.txt +492 -0
- mcp_coder-0.1.6/src/mcp_coder.egg-info/dependency_links.txt +1 -0
- mcp_coder-0.1.6/src/mcp_coder.egg-info/entry_points.txt +2 -0
- mcp_coder-0.1.6/src/mcp_coder.egg-info/requires.txt +48 -0
- mcp_coder-0.1.6/src/mcp_coder.egg-info/top_level.txt +1 -0
- mcp_coder-0.1.6/tach.toml +457 -0
- mcp_coder-0.1.6/tests/README.md +85 -0
- mcp_coder-0.1.6/tests/__init__.py +1 -0
- mcp_coder-0.1.6/tests/checks/__init__.py +1 -0
- mcp_coder-0.1.6/tests/checks/test_branch_status.py +1633 -0
- mcp_coder-0.1.6/tests/checks/test_file_sizes.py +538 -0
- mcp_coder-0.1.6/tests/cli/__init__.py +1 -0
- mcp_coder-0.1.6/tests/cli/commands/__init__.py +1 -0
- mcp_coder-0.1.6/tests/cli/commands/conftest.py +53 -0
- mcp_coder-0.1.6/tests/cli/commands/coordinator/__init__.py +1 -0
- mcp_coder-0.1.6/tests/cli/commands/coordinator/test_commands.py +309 -0
- mcp_coder-0.1.6/tests/cli/commands/coordinator/test_core.py +982 -0
- mcp_coder-0.1.6/tests/cli/commands/coordinator/test_integration.py +604 -0
- mcp_coder-0.1.6/tests/cli/commands/coordinator/test_issue_stats.py +650 -0
- mcp_coder-0.1.6/tests/cli/commands/coordinator/test_issue_stats_cli.py +289 -0
- mcp_coder-0.1.6/tests/cli/commands/coordinator/test_vscodeclaude_cli.py +439 -0
- mcp_coder-0.1.6/tests/cli/commands/test_check_branch_status.py +352 -0
- mcp_coder-0.1.6/tests/cli/commands/test_check_branch_status_auto_fixes.py +396 -0
- mcp_coder-0.1.6/tests/cli/commands/test_check_branch_status_ci_waiting.py +218 -0
- mcp_coder-0.1.6/tests/cli/commands/test_check_branch_status_cli_integration.py +232 -0
- mcp_coder-0.1.6/tests/cli/commands/test_check_file_sizes.py +663 -0
- mcp_coder-0.1.6/tests/cli/commands/test_commit.py +897 -0
- mcp_coder-0.1.6/tests/cli/commands/test_create_plan.py +207 -0
- mcp_coder-0.1.6/tests/cli/commands/test_create_pr.py +508 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels.py +342 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels_config.py +80 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels_execute.py +340 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels_format.py +137 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels_label_changes.py +408 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels_staleness.py +188 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels_status.py +327 -0
- mcp_coder-0.1.6/tests/cli/commands/test_define_labels_validate.py +274 -0
- mcp_coder-0.1.6/tests/cli/commands/test_gh_tool.py +276 -0
- mcp_coder-0.1.6/tests/cli/commands/test_git_tool.py +401 -0
- mcp_coder-0.1.6/tests/cli/commands/test_git_tool_compact_diff.py +453 -0
- mcp_coder-0.1.6/tests/cli/commands/test_help.py +118 -0
- mcp_coder-0.1.6/tests/cli/commands/test_implement.py +481 -0
- mcp_coder-0.1.6/tests/cli/commands/test_prompt.py +1019 -0
- mcp_coder-0.1.6/tests/cli/commands/test_session_priority.py +187 -0
- mcp_coder-0.1.6/tests/cli/commands/test_set_status.py +563 -0
- mcp_coder-0.1.6/tests/cli/commands/test_verify.py +43 -0
- mcp_coder-0.1.6/tests/cli/commands/test_verify_command.py +120 -0
- mcp_coder-0.1.6/tests/cli/commands/test_verify_integration.py +434 -0
- mcp_coder-0.1.6/tests/cli/commands/test_verify_orchestration.py +459 -0
- mcp_coder-0.1.6/tests/cli/commands/test_verify_parser.py +55 -0
- mcp_coder-0.1.6/tests/cli/test_main.py +743 -0
- mcp_coder-0.1.6/tests/cli/test_utils.py +244 -0
- mcp_coder-0.1.6/tests/cli/test_utils_status_symbols.py +35 -0
- mcp_coder-0.1.6/tests/config/test_mlflow_config.py +178 -0
- mcp_coder-0.1.6/tests/conftest.py +379 -0
- mcp_coder-0.1.6/tests/formatters/__init__.py +0 -0
- mcp_coder-0.1.6/tests/formatters/test_black_formatter.py +469 -0
- mcp_coder-0.1.6/tests/formatters/test_config_reader.py +118 -0
- mcp_coder-0.1.6/tests/formatters/test_debug.py +14 -0
- mcp_coder-0.1.6/tests/formatters/test_integration.py +412 -0
- mcp_coder-0.1.6/tests/formatters/test_isort_formatter.py +493 -0
- mcp_coder-0.1.6/tests/formatters/test_main_api.py +315 -0
- mcp_coder-0.1.6/tests/formatters/test_models.py +79 -0
- mcp_coder-0.1.6/tests/formatters/test_utils.py +166 -0
- mcp_coder-0.1.6/tests/integration/test_execution_dir_integration.py +607 -0
- mcp_coder-0.1.6/tests/integration/test_mcp_config_integration.py +402 -0
- mcp_coder-0.1.6/tests/integration/test_mlflow_integration.py +452 -0
- mcp_coder-0.1.6/tests/llm/__init__.py +1 -0
- mcp_coder-0.1.6/tests/llm/formatting/__init__.py +1 -0
- mcp_coder-0.1.6/tests/llm/formatting/test_formatters.py +332 -0
- mcp_coder-0.1.6/tests/llm/formatting/test_sdk_serialization.py +285 -0
- mcp_coder-0.1.6/tests/llm/providers/__init__.py +1 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/__init__.py +1 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/conftest.py +62 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_cli_stream_integration.py +196 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_cli_stream_parsing.py +261 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_cli_verification.py +172 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_cli_wrappers.py +236 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_code_api.py +666 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_code_api_error_handling.py +344 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_code_cli.py +417 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_executable_finder.py +304 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_integration.py +193 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_claude_mcp_config.py +159 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_llm_sessions.py +503 -0
- mcp_coder-0.1.6/tests/llm/providers/claude/test_logging_utils.py +317 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/__init__.py +0 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/conftest.py +117 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_agent.py +697 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_agent_mode.py +376 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_anthropic.py +83 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_coverage_gaps.py +441 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_gemini.py +87 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_integration.py +223 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_models.py +240 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_openai.py +112 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_provider.py +403 -0
- mcp_coder-0.1.6/tests/llm/providers/langchain/test_langchain_verification.py +478 -0
- mcp_coder-0.1.6/tests/llm/providers/test_provider_structure.py +58 -0
- mcp_coder-0.1.6/tests/llm/session/__init__.py +1 -0
- mcp_coder-0.1.6/tests/llm/session/test_resolver.py +141 -0
- mcp_coder-0.1.6/tests/llm/storage/__init__.py +1 -0
- mcp_coder-0.1.6/tests/llm/storage/test_session_finder.py +275 -0
- mcp_coder-0.1.6/tests/llm/storage/test_session_storage.py +373 -0
- mcp_coder-0.1.6/tests/llm/test_env.py +273 -0
- mcp_coder-0.1.6/tests/llm/test_interface.py +851 -0
- mcp_coder-0.1.6/tests/llm/test_mlflow_logger.py +484 -0
- mcp_coder-0.1.6/tests/llm/test_mlflow_verify.py +295 -0
- mcp_coder-0.1.6/tests/llm/test_module_structure.py +80 -0
- mcp_coder-0.1.6/tests/llm/test_serialization.py +131 -0
- mcp_coder-0.1.6/tests/llm/test_types.py +83 -0
- mcp_coder-0.1.6/tests/test_input_validation.py +90 -0
- mcp_coder-0.1.6/tests/test_integration_task_tracker.py +54 -0
- mcp_coder-0.1.6/tests/test_mcp_tools_py_integration.py +99 -0
- mcp_coder-0.1.6/tests/test_module_exports.py +167 -0
- mcp_coder-0.1.6/tests/test_module_integration.py +188 -0
- mcp_coder-0.1.6/tests/test_prompt_manager.py +744 -0
- mcp_coder-0.1.6/tests/utils/__init__.py +1 -0
- mcp_coder-0.1.6/tests/utils/conftest.py +141 -0
- mcp_coder-0.1.6/tests/utils/git_operations/__init__.py +1 -0
- mcp_coder-0.1.6/tests/utils/git_operations/conftest.py +100 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_branches.py +194 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_commits.py +115 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_compact_diffs.py +682 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_diffs.py +171 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_file_tracking.py +53 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_readers.py +660 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_remotes.py +335 -0
- mcp_coder-0.1.6/tests/utils/git_operations/test_staging.py +60 -0
- mcp_coder-0.1.6/tests/utils/github_operations/__init__.py +1 -0
- mcp_coder-0.1.6/tests/utils/github_operations/conftest.py +150 -0
- mcp_coder-0.1.6/tests/utils/github_operations/issues/__init__.py +1 -0
- mcp_coder-0.1.6/tests/utils/github_operations/issues/test_branch_resolution.py +1102 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_base_manager.py +935 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_ci_results_manager_aggregation.py +300 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_ci_results_manager_artifacts.py +286 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_ci_results_manager_foundation.py +181 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_ci_results_manager_logs.py +173 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_ci_results_manager_status.py +531 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_github_integration_smoke.py +298 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_github_utils.py +861 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_branch_manager.py +1223 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_branch_manager_integration.py +385 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_cache.py +1658 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_manager_comments.py +198 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_manager_core.py +481 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_manager_events.py +118 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_manager_integration.py +421 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_manager_label_update.py +795 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_issue_manager_labels.py +176 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_labels_manager.py +580 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_pr_manager.py +666 -0
- mcp_coder-0.1.6/tests/utils/github_operations/test_repo_identifier.py +98 -0
- mcp_coder-0.1.6/tests/utils/jenkins_operations/__init__.py +1 -0
- mcp_coder-0.1.6/tests/utils/jenkins_operations/conftest.py +12 -0
- mcp_coder-0.1.6/tests/utils/jenkins_operations/test_client.py +458 -0
- mcp_coder-0.1.6/tests/utils/jenkins_operations/test_integration.py +148 -0
- mcp_coder-0.1.6/tests/utils/jenkins_operations/test_models.py +118 -0
- mcp_coder-0.1.6/tests/utils/test_clipboard.py +275 -0
- mcp_coder-0.1.6/tests/utils/test_data_files.py +203 -0
- mcp_coder-0.1.6/tests/utils/test_folder_deletion.py +752 -0
- mcp_coder-0.1.6/tests/utils/test_git_encoding_stress.py +336 -0
- mcp_coder-0.1.6/tests/utils/test_git_utils.py +118 -0
- mcp_coder-0.1.6/tests/utils/test_log_utils.py +712 -0
- mcp_coder-0.1.6/tests/utils/test_subprocess_runner.py +99 -0
- mcp_coder-0.1.6/tests/utils/test_timezone_utils.py +209 -0
- mcp_coder-0.1.6/tests/utils/test_user_config.py +679 -0
- mcp_coder-0.1.6/tests/utils/test_user_config_integration.py +289 -0
- mcp_coder-0.1.6/tests/workflow_utils/__init__.py +1 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_base_branch.py +369 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_commit_operations.py +862 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_data/case_insensitive.md +16 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_data/empty_tracker.md +6 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_data/missing_section.md +15 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_data/real_world_tracker.md +63 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_data/valid_tracker.md +33 -0
- mcp_coder-0.1.6/tests/workflow_utils/test_task_tracker.py +1674 -0
- mcp_coder-0.1.6/tests/workflows/__init__.py +1 -0
- mcp_coder-0.1.6/tests/workflows/config/__init__.py +1 -0
- mcp_coder-0.1.6/tests/workflows/config/test_labels.json +33 -0
- mcp_coder-0.1.6/tests/workflows/create_plan/__init__.py +1 -0
- mcp_coder-0.1.6/tests/workflows/create_plan/test_argument_parsing.py +135 -0
- mcp_coder-0.1.6/tests/workflows/create_plan/test_branch_management.py +278 -0
- mcp_coder-0.1.6/tests/workflows/create_plan/test_main.py +562 -0
- mcp_coder-0.1.6/tests/workflows/create_plan/test_prerequisites.py +439 -0
- mcp_coder-0.1.6/tests/workflows/create_plan/test_prompt_execution.py +491 -0
- mcp_coder-0.1.6/tests/workflows/create_pr/__init__.py +1 -0
- mcp_coder-0.1.6/tests/workflows/create_pr/test_file_operations.py +249 -0
- mcp_coder-0.1.6/tests/workflows/create_pr/test_generation.py +250 -0
- mcp_coder-0.1.6/tests/workflows/create_pr/test_parsing.py +148 -0
- mcp_coder-0.1.6/tests/workflows/create_pr/test_prerequisites.py +199 -0
- mcp_coder-0.1.6/tests/workflows/create_pr/test_repository.py +312 -0
- mcp_coder-0.1.6/tests/workflows/create_pr/test_workflow.py +307 -0
- mcp_coder-0.1.6/tests/workflows/implement/__init__.py +1 -0
- mcp_coder-0.1.6/tests/workflows/implement/test_ci_check.py +551 -0
- mcp_coder-0.1.6/tests/workflows/implement/test_core.py +1410 -0
- mcp_coder-0.1.6/tests/workflows/implement/test_prerequisites.py +403 -0
- mcp_coder-0.1.6/tests/workflows/implement/test_task_processing.py +759 -0
- mcp_coder-0.1.6/tests/workflows/test_create_pr_integration.py +411 -0
- mcp_coder-0.1.6/tests/workflows/test_label_config.py +169 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/__init__.py +1 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/conftest.py +46 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_cache_aware.py +188 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_cleanup.py +1831 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_closed_issues_integration.py +480 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_config.py +140 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_folder_git_status.py +145 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_helpers.py +177 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_issues.py +1172 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_launch_vscode_env_vars.py +209 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_next_action.py +171 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_orchestrator_cache.py +503 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_orchestrator_documentation.py +35 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_orchestrator_launch.py +636 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_orchestrator_regenerate.py +203 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_orchestrator_sessions.py +2233 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_sessions.py +830 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_startup_script_mcp_coder_path.py +130 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_status_display.py +1397 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_templates.py +67 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_types.py +157 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_workspace.py +346 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_workspace_git.py +213 -0
- mcp_coder-0.1.6/tests/workflows/vscodeclaude/test_workspace_startup_script.py +505 -0
- mcp_coder-0.1.6/tools/__init__.py +1 -0
- mcp_coder-0.1.6/tools/black.bat +1 -0
- mcp_coder-0.1.6/tools/check_version.bat +45 -0
- mcp_coder-0.1.6/tools/checks2clipboard.bat +182 -0
- mcp_coder-0.1.6/tools/commit_summary.bat +73 -0
- mcp_coder-0.1.6/tools/debug_vscode_sessions.py +182 -0
- mcp_coder-0.1.6/tools/debug_windows.py +81 -0
- mcp_coder-0.1.6/tools/docstring_stats.sh +11 -0
- mcp_coder-0.1.6/tools/format_all.bat +3 -0
- mcp_coder-0.1.6/tools/format_all.sh +17 -0
- mcp_coder-0.1.6/tools/get_latest_mlflow_db_entries.py +377 -0
- mcp_coder-0.1.6/tools/get_mlflow_config.py +128 -0
- mcp_coder-0.1.6/tools/get_pytest_performance_stats.bat +144 -0
- mcp_coder-0.1.6/tools/get_recent_mlflow_runs.py +202 -0
- mcp_coder-0.1.6/tools/iSort.bat +4 -0
- mcp_coder-0.1.6/tools/lint_imports.bat +15 -0
- mcp_coder-0.1.6/tools/lint_imports.sh +12 -0
- mcp_coder-0.1.6/tools/mypy.bat +2 -0
- mcp_coder-0.1.6/tools/pr_review.bat +127 -0
- mcp_coder-0.1.6/tools/pr_review_highlevel.bat +133 -0
- mcp_coder-0.1.6/tools/pr_summary.bat +122 -0
- mcp_coder-0.1.6/tools/pycycle_check.bat +16 -0
- mcp_coder-0.1.6/tools/pycycle_check.sh +13 -0
- mcp_coder-0.1.6/tools/pydeps_graph.bat +48 -0
- mcp_coder-0.1.6/tools/pydeps_graph.sh +52 -0
- mcp_coder-0.1.6/tools/pylint_check_for_errors.bat +1 -0
- mcp_coder-0.1.6/tools/reinstall.bat +134 -0
- mcp_coder-0.1.6/tools/ruff_check.bat +14 -0
- mcp_coder-0.1.6/tools/ruff_check.sh +12 -0
- mcp_coder-0.1.6/tools/safe_delete_folder.py +871 -0
- mcp_coder-0.1.6/tools/start_mlflow.bat +64 -0
- mcp_coder-0.1.6/tools/start_mlflow.sh +51 -0
- mcp_coder-0.1.6/tools/tach_check.bat +16 -0
- mcp_coder-0.1.6/tools/tach_check.sh +13 -0
- mcp_coder-0.1.6/tools/tach_docs.bat +12 -0
- mcp_coder-0.1.6/tools/tach_docs.py +410 -0
- mcp_coder-0.1.6/tools/tach_docs.sh +12 -0
- mcp_coder-0.1.6/tools/test_profiler.bat +68 -0
- mcp_coder-0.1.6/tools/test_profiler.md +204 -0
- mcp_coder-0.1.6/tools/test_profiler_generate_only.bat +28 -0
- mcp_coder-0.1.6/tools/test_profiler_plugin/__init__.py +129 -0
- mcp_coder-0.1.6/tools/test_profiler_plugin/generate_report.py +232 -0
- mcp_coder-0.1.6/tools/test_prompt.bat +97 -0
- mcp_coder-0.1.6/tools/vulture_check.bat +14 -0
- mcp_coder-0.1.6/tools/vulture_check.sh +12 -0
- mcp_coder-0.1.6/vulture_whitelist.py +204 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
--- This file is used by Claude Code - similar to a system prompt. ---
|
|
2
|
+
|
|
3
|
+
# ⚠️ MANDATORY INSTRUCTIONS - MUST BE FOLLOWED ⚠️
|
|
4
|
+
|
|
5
|
+
**THESE INSTRUCTIONS OVERRIDE ALL DEFAULT BEHAVIORS - NO EXCEPTIONS**
|
|
6
|
+
|
|
7
|
+
## 🔴 CRITICAL: ALWAYS Use MCP Tools
|
|
8
|
+
|
|
9
|
+
**MANDATORY**: You MUST use MCP tools for ALL operations when available. DO NOT use standard Claude tools.
|
|
10
|
+
|
|
11
|
+
**BEFORE EVERY TOOL USE, ASK: "Does an MCP version exist?"**
|
|
12
|
+
|
|
13
|
+
### Tool Mapping Reference
|
|
14
|
+
|
|
15
|
+
| Task | ❌ NEVER USE | ✅ USE MCP TOOL |
|
|
16
|
+
|------|--------------|------------------|
|
|
17
|
+
| Read file | `Read()` | `mcp__workspace__read_file()` |
|
|
18
|
+
| Edit file | `Edit()` | `mcp__workspace__edit_file()` |
|
|
19
|
+
| Write file | `Write()` | `mcp__workspace__save_file()` |
|
|
20
|
+
| Run pytest | `Bash("pytest ...")` | `mcp__tools-py__run_pytest_check()` |
|
|
21
|
+
| Run pylint | `Bash("pylint ...")` | `mcp__tools-py__run_pylint_check()` |
|
|
22
|
+
| Run mypy | `Bash("mypy ...")` | `mcp__tools-py__run_mypy_check()` |
|
|
23
|
+
| Run ruff | `Bash("ruff ...")` | ✅ `Bash("./tools/ruff_check.sh")` |
|
|
24
|
+
| Git operations | ✅ `Bash("git ...")` | ✅ `Bash("git ...")` (allowed) |
|
|
25
|
+
|
|
26
|
+
## 🔴 CRITICAL: Code Quality Requirements
|
|
27
|
+
|
|
28
|
+
**MANDATORY**: After making ANY code changes (after EACH edit), you MUST run ALL THREE code quality checks using the EXACT MCP tool names below:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
mcp__tools-py__run_pylint_check
|
|
32
|
+
mcp__tools-py__run_pytest_check
|
|
33
|
+
mcp__tools-py__run_mypy_check
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This runs:
|
|
37
|
+
|
|
38
|
+
- **Pylint** - Code quality and style analysis
|
|
39
|
+
- **Pytest** - All unit and integration tests
|
|
40
|
+
- **Mypy** - Static type checking
|
|
41
|
+
|
|
42
|
+
**⚠️ ALL CHECKS MUST PASS** - If ANY issues are found, you MUST fix them immediately before proceeding.
|
|
43
|
+
|
|
44
|
+
### 📋 Ruff Docstring Checks
|
|
45
|
+
|
|
46
|
+
**MANDATORY**: Use the project's ruff script to check docstring linting:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
./tools/ruff_check.sh
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Do NOT call `ruff` directly — always use the script in `tools/`.
|
|
53
|
+
|
|
54
|
+
### 📋 Pytest Execution Requirements
|
|
55
|
+
|
|
56
|
+
**MANDATORY pytest parameters:**
|
|
57
|
+
|
|
58
|
+
- ALWAYS use `extra_args: ["-n", "auto"]` for parallel execution
|
|
59
|
+
|
|
60
|
+
**Available markers in pyproject.toml:**
|
|
61
|
+
|
|
62
|
+
- `git_integration`: File system git operations (repos, commits)
|
|
63
|
+
- `claude_api_integration`: Claude API tests
|
|
64
|
+
- `claude_cli_integration`: Claude CLI tests
|
|
65
|
+
- `formatter_integration`: Code formatter integration (black, isort)
|
|
66
|
+
- `github_integration`: GitHub API access
|
|
67
|
+
|
|
68
|
+
**RECOMMENDED USAGE:**
|
|
69
|
+
|
|
70
|
+
- **Fast unit tests (recommended)**: Use `-m` with `not` expressions to exclude slow integration tests
|
|
71
|
+
- **All tests**: Run without markers to include everything (slow!)
|
|
72
|
+
- **Specific integration tests**: Use specific `markers` parameter when testing integration functionality
|
|
73
|
+
|
|
74
|
+
**Examples:**
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
# RECOMMENDED: Fast unit tests (excludes all integration tests)
|
|
78
|
+
mcp__tools-py__run_pytest_check(extra_args=["-n", "auto", "-m", "not git_integration and not claude_cli_integration and not claude_api_integration and not formatter_integration and not github_integration and not langchain_integration"])
|
|
79
|
+
|
|
80
|
+
# All tests including slow integration tests (not recommended for regular development)
|
|
81
|
+
mcp__tools-py__run_pytest_check(extra_args=["-n", "auto"])
|
|
82
|
+
|
|
83
|
+
# Specific integration tests (only when needed)
|
|
84
|
+
mcp__tools-py__run_pytest_check(extra_args=["-n", "auto"], markers=["git_integration"])
|
|
85
|
+
mcp__tools-py__run_pytest_check(extra_args=["-n", "auto"], markers=["github_integration"])
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Important:** Without the `-m "not ..."` exclusions, pytest runs ALL tests including slow integration tests that require external resources (git repos, network access, API tokens). For regular development, always use the exclusion pattern as shown in the first example above.
|
|
89
|
+
|
|
90
|
+
## 📁 MANDATORY: File Access Tools
|
|
91
|
+
|
|
92
|
+
**YOU MUST USE THESE MCP TOOLS** for all file operations:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
mcp__workspace__get_reference_projects
|
|
96
|
+
mcp__workspace__list_reference_directory
|
|
97
|
+
mcp__workspace__read_reference_file
|
|
98
|
+
mcp__workspace__list_directory
|
|
99
|
+
mcp__workspace__read_file
|
|
100
|
+
mcp__workspace__save_file
|
|
101
|
+
mcp__workspace__append_file
|
|
102
|
+
mcp__workspace__delete_this_file
|
|
103
|
+
mcp__workspace__move_file
|
|
104
|
+
mcp__workspace__edit_file
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**⚠️ ABSOLUTELY FORBIDDEN:** Using `Read`, `Write`, `Edit`, `MultiEdit` tools when MCP filesystem tools are available.
|
|
108
|
+
|
|
109
|
+
### Quick Examples
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
# ❌ WRONG - Standard tools
|
|
113
|
+
Read(file_path="src/example.py")
|
|
114
|
+
Edit(file_path="src/example.py", old_string="...", new_string="...")
|
|
115
|
+
Write(file_path="src/new.py", content="...")
|
|
116
|
+
Bash("pytest tests/")
|
|
117
|
+
|
|
118
|
+
# ✅ CORRECT - MCP tools
|
|
119
|
+
mcp__workspace__read_file(file_path="src/example.py")
|
|
120
|
+
mcp__workspace__edit_file(file_path="src/example.py", edits=[...])
|
|
121
|
+
mcp__workspace__save_file(file_path="src/new.py", content="...")
|
|
122
|
+
mcp__tools-py__run_pytest_check(extra_args=["-n", "auto"])
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**WHY MCP TOOLS ARE MANDATORY:**
|
|
126
|
+
|
|
127
|
+
- Proper security and access control
|
|
128
|
+
- Consistent error handling
|
|
129
|
+
- Better integration with the development environment
|
|
130
|
+
- Required for this project's architecture
|
|
131
|
+
|
|
132
|
+
## ✍️ Writing Style
|
|
133
|
+
|
|
134
|
+
**Be concise.** Keep code comments, commit messages, documentation changes, and prompt additions short and direct. If one line works, don't use three.
|
|
135
|
+
|
|
136
|
+
## 🚨 COMPLIANCE VERIFICATION
|
|
137
|
+
|
|
138
|
+
**Before completing ANY task, you MUST:**
|
|
139
|
+
|
|
140
|
+
1. ✅ Confirm all code quality checks passed using MCP tools
|
|
141
|
+
2. ✅ Verify you used MCP tools exclusively (NO `Bash` for code checks, NO `Read`/`Write`/`Edit` for files)
|
|
142
|
+
3. ✅ Ensure no issues remain unresolved
|
|
143
|
+
4. ✅ State explicitly: "All CLAUDE.md requirements followed"
|
|
144
|
+
|
|
145
|
+
## 🔧 DEBUGGING AND TROUBLESHOOTING
|
|
146
|
+
|
|
147
|
+
**When tests fail or skip:**
|
|
148
|
+
|
|
149
|
+
- Use MCP pytest tool with verbose flags: `extra_args: ["-v", "-s", "--tb=short"]`
|
|
150
|
+
- For integration tests, check if they require external configuration (tokens, URLs)
|
|
151
|
+
- Never fall back to `Bash` commands - always investigate within MCP tools
|
|
152
|
+
- If MCP tools don't provide enough detail, ask user for guidance rather than using alternative tools
|
|
153
|
+
|
|
154
|
+
## 🔧 MCP Server Issues
|
|
155
|
+
|
|
156
|
+
**IMMEDIATELY ALERT** if MCP tools are not accessible - this blocks all work until resolved.
|
|
157
|
+
|
|
158
|
+
## 🔄 Git Operations
|
|
159
|
+
|
|
160
|
+
**MANDATORY: Before ANY commit:**
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# ALWAYS run format_all before committing
|
|
164
|
+
./tools/format_all.sh
|
|
165
|
+
|
|
166
|
+
# Then verify formatting worked
|
|
167
|
+
git diff # Should show formatting changes if any
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Format all code before committing:**
|
|
171
|
+
|
|
172
|
+
- Run `./tools/format_all.sh` to format with black and isort
|
|
173
|
+
- Review the changes to ensure they're formatting-only
|
|
174
|
+
- Stage the formatted files
|
|
175
|
+
- Then commit
|
|
176
|
+
|
|
177
|
+
**ALLOWED git operations via Bash tool:**
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
git status
|
|
181
|
+
git diff
|
|
182
|
+
git commit
|
|
183
|
+
git log
|
|
184
|
+
git fetch
|
|
185
|
+
git ls-tree
|
|
186
|
+
./tools/ruff_check.sh
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**⚠️ Bash discipline (applies to subagents too):**
|
|
190
|
+
|
|
191
|
+
- No `cd` prefix — the working directory is already correct.
|
|
192
|
+
- Stick to approved commands above. Avoid unapproved bash commands — they trigger user authorization prompts and interrupt the workflow.
|
|
193
|
+
- Do not chain approved commands with unapproved ones (e.g. `git status && echo "---" && git diff`). The `echo` makes the whole command unapproved. Run approved commands separately instead.
|
|
194
|
+
|
|
195
|
+
**Git commit message format:**
|
|
196
|
+
|
|
197
|
+
- Use standard commit message format without advertising footers
|
|
198
|
+
- Focus on clear, descriptive commit messages
|
|
199
|
+
- No required Claude Code attribution or links
|
|
200
|
+
|
|
201
|
+
## 📏 File Size Check
|
|
202
|
+
|
|
203
|
+
Check for large files (>750 lines) that may impact LLM context:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
mcp-coder check file-size --max-lines 750
|
|
207
|
+
mcp-coder check branch-status --llm-truncate
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
For guidance on splitting large files, see [Safe Refactoring Guide](../docs/processes-prompts/refactoring-guide.md).
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 📂 Execution Directory Flag
|
|
215
|
+
|
|
216
|
+
When working with mcp-coder, you may encounter `--execution-dir`:
|
|
217
|
+
|
|
218
|
+
**Purpose**: Controls where Claude subprocess executes (separate from project location)
|
|
219
|
+
|
|
220
|
+
**Usage**:
|
|
221
|
+
|
|
222
|
+
- Default: Uses shell's current working directory
|
|
223
|
+
- Explicit: `--execution-dir /path/to/execution/context`
|
|
224
|
+
- Relative: `--execution-dir ./subdir` (resolves to CWD)
|
|
225
|
+
|
|
226
|
+
**Common Scenario**:
|
|
227
|
+
User has workspace with `.mcp.json` config, wants to work on separate project:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
cd /home/user/workspace
|
|
231
|
+
mcp-coder implement --project-dir /path/to/project
|
|
232
|
+
# Claude runs in workspace, modifies project
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**When Implementing**:
|
|
236
|
+
|
|
237
|
+
- Respect both `project_dir` and `execution_dir` parameters
|
|
238
|
+
- Use `project_dir` for file operations and git
|
|
239
|
+
- Use `execution_dir` for config discovery
|
|
240
|
+
- Never conflate the two concepts
|
|
241
|
+
|
|
242
|
+
**Key Distinction**:
|
|
243
|
+
|
|
244
|
+
- `execution_dir`: Where Claude subprocess runs (determines config discovery location)
|
|
245
|
+
- `project_dir`: Where source code lives (determines git operations and file modifications)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commit-pusher
|
|
3
|
+
description: Commits and pushes code changes with pre-approved git operations
|
|
4
|
+
tools:
|
|
5
|
+
- Bash
|
|
6
|
+
- Skill
|
|
7
|
+
permissionMode: bypassPermissions
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Commit-Pusher Agent
|
|
11
|
+
|
|
12
|
+
You are a commit and push specialist. Invoke the /commit_push skill.
|
|
13
|
+
|
|
14
|
+
Before committing, verify that only the expected files (as listed in your launch prompt) are modified. If unexpected files are changed, stop and report back.
|
|
15
|
+
|
|
16
|
+
## Why `bypassPermissions`?
|
|
17
|
+
|
|
18
|
+
This agent uses `bypassPermissions` so that git add/commit/push commands are auto-approved
|
|
19
|
+
without adding them to the global permissions allow list. This is intentional:
|
|
20
|
+
|
|
21
|
+
- The **main conversation** must NOT have git add/commit/push permissions
|
|
22
|
+
- Only this agent (reachable via `/commit_push` skill) should be able to commit
|
|
23
|
+
- `acceptEdits` only auto-approves file edit tools (Edit/Write), not Bash commands
|
|
24
|
+
- `bypassPermissions` auto-approves all tool calls within this agent's scope
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash(mcp-coder check branch-status *)
|
|
3
|
+
workflow-stage: quality-check
|
|
4
|
+
suggested-next: commit_push, rebase
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Check Branch Status
|
|
8
|
+
|
|
9
|
+
Check comprehensive branch readiness including CI status, rebase requirements, task completion, and GitHub labels.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
Call the underlying CLI command with LLM-optimized output and CI waiting:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
mcp-coder check branch-status --ci-timeout 180 --llm-truncate
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## What This Command Does
|
|
20
|
+
|
|
21
|
+
1. **CI Status Check**: Analyzes latest workflow run and retrieves error logs
|
|
22
|
+
2. **Rebase Detection**: Checks if branch needs rebasing onto main
|
|
23
|
+
3. **Task Validation**: Verifies all implementation tasks are complete
|
|
24
|
+
4. **GitHub Labels**: Reports current workflow status label
|
|
25
|
+
5. **Recommendations**: Provides actionable next steps
|
|
26
|
+
|
|
27
|
+
## Follow-Up Actions
|
|
28
|
+
|
|
29
|
+
Based on the status report, use these commands for next steps:
|
|
30
|
+
|
|
31
|
+
| Status | Action |
|
|
32
|
+
|--------|--------|
|
|
33
|
+
| CI failures | Fix the issues shown in the CI error details |
|
|
34
|
+
| Rebase needed | Run `/rebase` to rebase onto base branch with conflict resolution |
|
|
35
|
+
| Tasks incomplete | Complete remaining tasks manually |
|
|
36
|
+
| CI green + tasks done | Run `/commit_push` to commit and push changes |
|
|
37
|
+
| Ready to merge | Create PR or merge via GitHub |
|
|
38
|
+
|
|
39
|
+
## Output Format
|
|
40
|
+
|
|
41
|
+
LLM-optimized output with:
|
|
42
|
+
- CI error logs for failed jobs (truncated to ~300 lines total)
|
|
43
|
+
- Complete status information for all other components
|
|
44
|
+
- Clear status indicators
|
|
45
|
+
- Actionable recommendations
|
|
46
|
+
|
|
47
|
+
## Integration
|
|
48
|
+
|
|
49
|
+
This slash command enables interactive workflow management:
|
|
50
|
+
- Check readiness before creating PRs
|
|
51
|
+
- Diagnose CI failures
|
|
52
|
+
- Validate task completion
|
|
53
|
+
- Identify when rebase is needed (then use `/rebase`)
|
|
54
|
+
|
|
55
|
+
## Rationale
|
|
56
|
+
|
|
57
|
+
**Rationale**: LLM-driven context benefits from waiting for complete results. The 180-second timeout provides a balance between responsiveness and allowing typical CI runs to complete. No `--fix` by default to let LLM analyze failures and suggest targeted fixes.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash(git status *), Bash(git diff *), Bash(git add *), Bash(git commit *), Bash(git push *), Bash(git log *), Bash(./tools/format_all.sh), Bash(tools/format_all.bat), Read, Glob, Grep
|
|
3
|
+
workflow-stage: utility
|
|
4
|
+
suggested-next: (context-dependent)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Commit and Push Changes
|
|
8
|
+
|
|
9
|
+
Follow this process to commit and push your changes:
|
|
10
|
+
|
|
11
|
+
## 1. Format Code
|
|
12
|
+
```bash
|
|
13
|
+
./tools/format_all.sh
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 2. Review Changes
|
|
17
|
+
```bash
|
|
18
|
+
git status
|
|
19
|
+
git diff
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 3. Stage Changes
|
|
23
|
+
Stage all relevant changes (exclude any files that shouldn't be committed).
|
|
24
|
+
|
|
25
|
+
## 4. Commit
|
|
26
|
+
Create a commit with a clear, conventional commit message:
|
|
27
|
+
- Use format: `type(scope): description`
|
|
28
|
+
- Types: feat, fix, docs, style, refactor, test, chore
|
|
29
|
+
- Keep summary under 50 characters
|
|
30
|
+
- **No Claude Code footer or attribution in commit message**
|
|
31
|
+
|
|
32
|
+
## 5. Push
|
|
33
|
+
```bash
|
|
34
|
+
git push
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
If the branch doesn't exist on remote yet:
|
|
38
|
+
```bash
|
|
39
|
+
git push -u origin HEAD
|
|
40
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
workflow-stage: utility
|
|
3
|
+
suggested-next: (context-dependent)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Step-by-step Discussion
|
|
7
|
+
|
|
8
|
+
Interactively walk through all open suggestions, questions, and proposed changes one by one.
|
|
9
|
+
|
|
10
|
+
Can we go through all open suggested changes and questions step by step?
|
|
11
|
+
You explain, ask and I answer until we discussed all topics?
|
|
12
|
+
Please offer, whenever possible, simple options like
|
|
13
|
+
- A
|
|
14
|
+
- B
|
|
15
|
+
- C
|
|
16
|
+
Always just ask ONE question
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash(mcp-coder set-status *)
|
|
3
|
+
workflow-stage: code-review
|
|
4
|
+
suggested-next: (bot runs create_pr) -> merge in GitHub
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Approve Implementation
|
|
8
|
+
|
|
9
|
+
Approve the implementation and transition the issue to PR-ready state.
|
|
10
|
+
|
|
11
|
+
**Instructions:**
|
|
12
|
+
1. Run the set-status command to update the issue label:
|
|
13
|
+
```bash
|
|
14
|
+
mcp-coder set-status status-08:ready-pr
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
2. Confirm the status change was successful.
|
|
18
|
+
**Note:** If the command fails, report the error to the user. Do not use `--force` unless explicitly asked.
|
|
19
|
+
|
|
20
|
+
**Effect:** Changes issue status from `status-07:code-review` to `status-08:ready-pr`.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
workflow-stage: utility
|
|
3
|
+
suggested-next: implementation_review or implementation_review_supervisor
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Implementation Finalise
|
|
7
|
+
|
|
8
|
+
Complete any remaining unchecked tasks in the task tracker before transitioning to code review.
|
|
9
|
+
|
|
10
|
+
## Process
|
|
11
|
+
|
|
12
|
+
### 1. Read Task Tracker
|
|
13
|
+
|
|
14
|
+
Read `pr_info/TASK_TRACKER.md` and identify all unchecked tasks (`- [ ]`).
|
|
15
|
+
|
|
16
|
+
If all tasks are already checked (`- [x]`), report that no finalisation is needed and exit.
|
|
17
|
+
|
|
18
|
+
### 2. Process Each Unchecked Task
|
|
19
|
+
|
|
20
|
+
For each unchecked task:
|
|
21
|
+
|
|
22
|
+
#### Commit Message Tasks
|
|
23
|
+
|
|
24
|
+
If the task contains "commit message" (case-insensitive):
|
|
25
|
+
|
|
26
|
+
- if the tasks before are already done, ignore this task by marking it as done `[x]`
|
|
27
|
+
|
|
28
|
+
#### Other Tasks
|
|
29
|
+
|
|
30
|
+
- Check `pr_info/steps/` for related step files that provide context
|
|
31
|
+
- If step files don't exist, analyse based on task name and codebase
|
|
32
|
+
- Verify if the task is already complete
|
|
33
|
+
- If not complete: implement the required work
|
|
34
|
+
- If complete or successfully implemented: mark as `[x]`
|
|
35
|
+
- If unable to complete: DO NOT mark as done - explain the issue
|
|
36
|
+
|
|
37
|
+
### 3. Quality Checks (If Code Changed)
|
|
38
|
+
|
|
39
|
+
If any code changes were made during this process:
|
|
40
|
+
|
|
41
|
+
- Run pylint checks using the MCP server (fix all errors)
|
|
42
|
+
- Run pytest checks using the MCP server (fix all failures)
|
|
43
|
+
- Run mypy checks using the MCP server (fix all type errors)
|
|
44
|
+
|
|
45
|
+
## Output
|
|
46
|
+
|
|
47
|
+
Report:
|
|
48
|
+
|
|
49
|
+
1. Which tasks were processed
|
|
50
|
+
2. Which tasks were marked complete
|
|
51
|
+
3. Any issues encountered
|
|
52
|
+
4. Summarize the changes in a commit message and report it
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash(mcp-coder set-status *)
|
|
3
|
+
workflow-stage: code-review
|
|
4
|
+
suggested-next: (bot runs implement) -> /clear -> implementation_review or implementation_review_supervisor
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Return to plan-ready after major review issues
|
|
8
|
+
|
|
9
|
+
Transitions the issue back to `plan-ready` status for re-implementation when code review identifies major issues that cannot be fixed with minor changes.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
| Situation | Action |
|
|
14
|
+
|-----------|--------|
|
|
15
|
+
| Minor fixes | Fix directly, re-run `/implementation_review` or `/implementation_review_supervisor` |
|
|
16
|
+
| **Major issues** | **This command** (after `/implementation_new_tasks` + `/commit_push`) |
|
|
17
|
+
| Approved | `/implementation_approve` |
|
|
18
|
+
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- New implementation steps created (`/implementation_new_tasks`)
|
|
22
|
+
- Changes committed and pushed (`/commit_push`)
|
|
23
|
+
|
|
24
|
+
## Instructions
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
mcp-coder set-status status-05:plan-ready
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Confirm the status change was successful. If it fails, report the error. Do not use `--force` unless explicitly asked.
|
|
31
|
+
|
|
32
|
+
## Next Steps
|
|
33
|
+
|
|
34
|
+
Run `mcp-coder implement` to process the new steps, then `/implementation_review` or `/implementation_review_supervisor`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
workflow-stage: code-review
|
|
3
|
+
suggested-next: commit_push -> implementation_needs_rework
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Create Further Implementation Tasks
|
|
7
|
+
|
|
8
|
+
Append new implementation tasks to the project plan after code review identified areas needing additional work.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
Please expand the **implementation plan** stored under `pr_info/steps`
|
|
13
|
+
Update the `pr_info/steps/Decisions.md` with the decisions we took.
|
|
14
|
+
Please create additional self-contained steps (`pr_info/steps/step_1.md`, `pr_info/steps/step_2.md`, etc.).
|
|
15
|
+
Please update the **summary** (`pr_info/steps/summary.md`).
|
|
16
|
+
|
|
17
|
+
### Requirements for the new implementation steps:
|
|
18
|
+
- Follow **Test-Driven Development** where applicable.
|
|
19
|
+
Each step should have its own test implementation followed by related functionality implementation.
|
|
20
|
+
- Each step must include a **clear LLM prompt** that references the summary and that specific step
|
|
21
|
+
- Apply **KISS principle** - minimize complexity, maximize maintainability
|
|
22
|
+
- Keep code changes minimal and follow best practices
|
|
23
|
+
|
|
24
|
+
### Each Step Must Specify:
|
|
25
|
+
- **WHERE**: File paths and module structure
|
|
26
|
+
- **WHAT**: Main functions with signatures
|
|
27
|
+
- **HOW**: Integration points (decorators, imports, etc.)
|
|
28
|
+
- **ALGORITHM**: 5-6 line pseudocode for core logic (if any)
|
|
29
|
+
- **DATA**: Return values and data structures
|
|
30
|
+
|
|
31
|
+
Please also update the task tracker (`pr_info/TASK_TRACKER.md`).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
allowed-tools: Bash(git fetch *), Bash(git status *), Bash(git diff *), Bash(mcp-coder git-tool compact-diff *), Bash(mcp-coder check branch-status *), Read, Glob, Grep
|
|
3
|
+
workflow-stage: code-review
|
|
4
|
+
suggested-next:
|
|
5
|
+
- if incomplete tasks found _> implementation_finalise
|
|
6
|
+
- discuss -> commit_push -> implementation_approve
|
|
7
|
+
- discuss -> implementation_new_tasks -> commit_push -> implementation_needs_rework
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Implementation Review (Code Review)
|
|
11
|
+
|
|
12
|
+
**First, ensure we're up to date:**
|
|
13
|
+
```bash
|
|
14
|
+
git fetch
|
|
15
|
+
git status
|
|
16
|
+
mcp-coder check branch-status --llm-truncate
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Confirm and display the current feature branch name.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
**Then run the code review:**
|
|
24
|
+
|
|
25
|
+
## Code Review Request
|
|
26
|
+
|
|
27
|
+
Run this command to get the changes to review:
|
|
28
|
+
```bash
|
|
29
|
+
mcp-coder git-tool compact-diff
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
No need to run all checks; do not use pylint warnings. Feel free to further analyse any mentioned files and/or the file structure.
|
|
33
|
+
|
|
34
|
+
### Focus Areas:
|
|
35
|
+
- Logic errors or bugs
|
|
36
|
+
- Tests for `__main__` functions should be removed (not needed)
|
|
37
|
+
- Unnecessary debug code or print statements
|
|
38
|
+
- Code that could break existing functionality
|
|
39
|
+
- Compliance with existing architecture principles, see `docs/architecture/architecture.md`
|
|
40
|
+
|
|
41
|
+
### Output Format:
|
|
42
|
+
1. **Summary** - What changed (1-2 sentences)
|
|
43
|
+
2. **Critical Issues** - Must fix before merging
|
|
44
|
+
3. **Suggestions** - Nice to have improvements
|
|
45
|
+
4. **Good** - What works well
|
|
46
|
+
|
|
47
|
+
Do not perform any action. Just present the code review.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
workflow-stage: code-review
|
|
3
|
+
suggested-next: implementation_approve or implementation_needs_rework
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Automated Implementation Review (Code Review) / using a supervisor agent
|
|
7
|
+
|
|
8
|
+
You are a technical lead supervising a software engineer (subagent). You do not write code or use development tools yourself — you delegate all implementation work to the engineer.
|
|
9
|
+
|
|
10
|
+
**Setup:**
|
|
11
|
+
|
|
12
|
+
1. Read the knowledge base files:
|
|
13
|
+
- `.claude/knowledge_base/software_engineering_principles.md`
|
|
14
|
+
- `.claude/knowledge_base/python.md`
|
|
15
|
+
2. Check for existing `pr_info/implementation_review_log_*.md` files to determine the next run number `{n}`.
|
|
16
|
+
3. Create `pr_info/implementation_review_log_{n}.md` with a header.
|
|
17
|
+
|
|
18
|
+
**Your Role:**
|
|
19
|
+
|
|
20
|
+
- **Delegate**: Launch subagents to do the work. Do not execute code, read files, or run tests yourself.
|
|
21
|
+
- **Triage**: Assess each review finding against the knowledge base. Skip items that are out of scope, cosmetic, or speculative. Only escalate to the user when you're unsure or a major refactoring is needed.
|
|
22
|
+
- **Guide**: For each accepted finding, give the engineer a clear, specific instruction. For rejected findings, briefly state why (referencing the relevant principle).
|
|
23
|
+
- **Scope**: Stay close to the relevant issue. Don't let the review drift into unrelated improvements.
|
|
24
|
+
|
|
25
|
+
**Prerequisites:**
|
|
26
|
+
|
|
27
|
+
- **Code must exist.** If the review subagent reports there is no implementation diff (only plan files, docs, or pr_info/), stop immediately and tell the user there is nothing to review yet.
|
|
28
|
+
|
|
29
|
+
**Workflow:**
|
|
30
|
+
|
|
31
|
+
1. Launch a new engineer subagent → `/implementation_review`
|
|
32
|
+
2. `/discuss` the findings — triage each item, decide accept/skip
|
|
33
|
+
3. Tell the engineer to implement the accepted changes. If a major refactoring is needed, stop and talk to the user.
|
|
34
|
+
4. Update `pr_info/implementation_review_log_{n}.md` with this round's findings, decisions, and changes.
|
|
35
|
+
5. Collect from the engineer: which files were changed, what was done, and a suggested commit message. Then launch the **commit agent** with this context. The commit agent should verify only the expected files are modified before committing.
|
|
36
|
+
6. Launch the engineer → `/check_branch_status`
|
|
37
|
+
7. **If no code was changed this round, go to step 8.** Otherwise, launch a fresh engineer subagent (new context) and repeat from step 1.
|
|
38
|
+
8. Add a `## Final Status` section to the log. Commit and push the log via the **commit agent**.
|
|
39
|
+
9. Launch the engineer → `/check_branch_status` to verify CI, rebase need, and overall readiness. Include the result in the completion message.
|
|
40
|
+
10. Notify the user with a short completion message: rounds run, commits produced, whether any issues remain, and branch status (CI, rebase needed).
|
|
41
|
+
|
|
42
|
+
**Review Log Format** (each round appended to `pr_info/implementation_review_log_{n}.md`):
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
## Round {r} — {date}
|
|
46
|
+
**Findings**: {bulleted list of items from review}
|
|
47
|
+
**Decisions**: {accept/skip with brief reason for each}
|
|
48
|
+
**Changes**: {what was implemented}
|
|
49
|
+
**Status**: {committed / no changes needed}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Subagent instructions:** Remind subagents to follow CLAUDE.md (MCP tools, no `cd` prefix, approved commands only).
|
|
53
|
+
|
|
54
|
+
**Additional context:** For changes involving significant refactoring, also consult `.claude/knowledge_base/refactoring_principles.md`.
|
|
55
|
+
|
|
56
|
+
**Escalation:** If you have questions or are unsure about a significant technical decision, ask the user. For borderline Accept/Skip findings, default to better code quality rather than asking — only escalate when the fix has meaningful scope or risk, not for trivial changes in either direction.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
workflow-stage: issue-discussion
|
|
3
|
+
suggested-next: discuss -> issue_update -> issue_approve
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Analyse GitHub Issue
|
|
7
|
+
|
|
8
|
+
Fetch a GitHub issue and analyze its requirements, feasibility, and potential implementation approaches.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
First, fetch the issue details:
|
|
13
|
+
```bash
|
|
14
|
+
gh issue view $ARGUMENTS
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Then analyze the issue:
|
|
18
|
+
|
|
19
|
+
Can we discuss this requirement / implementation idea and its feasibility?
|
|
20
|
+
Please also look at the code base to understand the context (using the different tools with access to the project directory).
|
|
21
|
+
Do not provide code yet!
|
|
22
|
+
|
|
23
|
+
At the end of our discussion, I want to have an even better issue description.
|
|
24
|
+
|
|
25
|
+
**Base Branch Handling:**
|
|
26
|
+
If the issue contains a `### Base Branch` section:
|
|
27
|
+
- Display the specified base branch prominently
|
|
28
|
+
- Verify the branch exists using: `git ls-remote --heads origin <branch-name>`
|
|
29
|
+
- If the branch does NOT exist, show a clear warning:
|
|
30
|
+
"⚠️ Warning: Base branch 'X' does not exist on remote. Branch creation will fail."
|
|
31
|
+
- Continue with the analysis (non-blocking error)
|
|
32
|
+
|
|
33
|
+
**Focus on:**
|
|
34
|
+
- Understanding the problem/feature request
|
|
35
|
+
- Technical feasibility
|
|
36
|
+
- Potential implementation approaches
|
|
37
|
+
- Questions that need clarification
|
|
38
|
+
- Impact on existing code
|