mcp-tools-py 0.1.3__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.
Files changed (141) hide show
  1. mcp_tools_py-0.1.3/.claude/Claude.md +195 -0
  2. mcp_tools_py-0.1.3/.claude/agents/commit-pusher.md +26 -0
  3. mcp_tools_py-0.1.3/.claude/commands/check_branch_status.md +57 -0
  4. mcp_tools_py-0.1.3/.claude/commands/commit_push.md +44 -0
  5. mcp_tools_py-0.1.3/.claude/commands/discuss.md +16 -0
  6. mcp_tools_py-0.1.3/.claude/commands/implementation_approve.md +20 -0
  7. mcp_tools_py-0.1.3/.claude/commands/implementation_finalise.md +52 -0
  8. mcp_tools_py-0.1.3/.claude/commands/implementation_needs_rework.md +34 -0
  9. mcp_tools_py-0.1.3/.claude/commands/implementation_new_tasks.md +31 -0
  10. mcp_tools_py-0.1.3/.claude/commands/implementation_review.md +45 -0
  11. mcp_tools_py-0.1.3/.claude/commands/implementation_review_supervisor.md +54 -0
  12. mcp_tools_py-0.1.3/.claude/commands/issue_analyse.md +30 -0
  13. mcp_tools_py-0.1.3/.claude/commands/issue_approve.md +26 -0
  14. mcp_tools_py-0.1.3/.claude/commands/issue_create.md +22 -0
  15. mcp_tools_py-0.1.3/.claude/commands/issue_update.md +34 -0
  16. mcp_tools_py-0.1.3/.claude/commands/plan_approve.md +20 -0
  17. mcp_tools_py-0.1.3/.claude/commands/plan_review.md +34 -0
  18. mcp_tools_py-0.1.3/.claude/commands/plan_update.md +25 -0
  19. mcp_tools_py-0.1.3/.claude/commands/rebase.md +51 -0
  20. mcp_tools_py-0.1.3/.claude/commands/rebase_design.md.txt +76 -0
  21. mcp_tools_py-0.1.3/.claude/knowledge_base/principles.md +30 -0
  22. mcp_tools_py-0.1.3/.claude/knowledge_base/python.md +5 -0
  23. mcp_tools_py-0.1.3/.claude/settings.local.json +64 -0
  24. mcp_tools_py-0.1.3/.gitattributes +95 -0
  25. mcp_tools_py-0.1.3/.github/dependabot.yml +14 -0
  26. mcp_tools_py-0.1.3/.github/workflows/approve-command.yml +61 -0
  27. mcp_tools_py-0.1.3/.github/workflows/ci.yml +174 -0
  28. mcp_tools_py-0.1.3/.github/workflows/label-new-issues.yml +22 -0
  29. mcp_tools_py-0.1.3/.github/workflows/publish.yml +49 -0
  30. mcp_tools_py-0.1.3/.gitignore +40 -0
  31. mcp_tools_py-0.1.3/.importlinter +26 -0
  32. mcp_tools_py-0.1.3/.large-files-allowlist +13 -0
  33. mcp_tools_py-0.1.3/.mcp.json +42 -0
  34. mcp_tools_py-0.1.3/.python-version +1 -0
  35. mcp_tools_py-0.1.3/CONTRIBUTING.md +325 -0
  36. mcp_tools_py-0.1.3/INSTALL.md +391 -0
  37. mcp_tools_py-0.1.3/LICENSE +21 -0
  38. mcp_tools_py-0.1.3/PKG-INFO +509 -0
  39. mcp_tools_py-0.1.3/README.md +466 -0
  40. mcp_tools_py-0.1.3/claude.bat +36 -0
  41. mcp_tools_py-0.1.3/claude_local.bat +59 -0
  42. mcp_tools_py-0.1.3/docs/README.md +43 -0
  43. mcp_tools_py-0.1.3/docs/architecture/architecture-maintenance.md +312 -0
  44. mcp_tools_py-0.1.3/docs/architecture/architecture.md +229 -0
  45. mcp_tools_py-0.1.3/docs/architecture/dependencies/dependency_graph.html +146 -0
  46. mcp_tools_py-0.1.3/docs/architecture/dependencies/pydeps_graph.dot +128 -0
  47. mcp_tools_py-0.1.3/docs/architecture/dependencies/pydeps_graph.svg +758 -0
  48. mcp_tools_py-0.1.3/docs/architecture/dependencies/readme.md +47 -0
  49. mcp_tools_py-0.1.3/docs/pyproject-configuration.md +80 -0
  50. mcp_tools_py-0.1.3/pyproject.toml +124 -0
  51. mcp_tools_py-0.1.3/setup.cfg +4 -0
  52. mcp_tools_py-0.1.3/src/__init__.py +9 -0
  53. mcp_tools_py-0.1.3/src/mcp_tools_py/__init__.py +13 -0
  54. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_mypy/__init__.py +21 -0
  55. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_mypy/models.py +42 -0
  56. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_mypy/parsers.py +66 -0
  57. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_mypy/reporting.py +123 -0
  58. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_mypy/runners.py +229 -0
  59. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pylint/__init__.py +37 -0
  60. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pylint/models.py +52 -0
  61. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pylint/parsers.py +94 -0
  62. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pylint/reporting.py +316 -0
  63. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pylint/runners.py +181 -0
  64. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pylint/utils.py +30 -0
  65. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pytest/__init__.py +57 -0
  66. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pytest/models.py +160 -0
  67. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pytest/parsers.py +143 -0
  68. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pytest/reporting.py +448 -0
  69. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pytest/runners.py +538 -0
  70. mcp_tools_py-0.1.3/src/mcp_tools_py/code_checker_pytest/utils.py +204 -0
  71. mcp_tools_py-0.1.3/src/mcp_tools_py/log_utils.py +209 -0
  72. mcp_tools_py-0.1.3/src/mcp_tools_py/main.py +173 -0
  73. mcp_tools_py-0.1.3/src/mcp_tools_py/py.typed +0 -0
  74. mcp_tools_py-0.1.3/src/mcp_tools_py/server.py +512 -0
  75. mcp_tools_py-0.1.3/src/mcp_tools_py/utils/__init__.py +40 -0
  76. mcp_tools_py-0.1.3/src/mcp_tools_py/utils/file_utils.py +29 -0
  77. mcp_tools_py-0.1.3/src/mcp_tools_py/utils/subprocess_runner.py +655 -0
  78. mcp_tools_py-0.1.3/src/mcp_tools_py.egg-info/PKG-INFO +509 -0
  79. mcp_tools_py-0.1.3/src/mcp_tools_py.egg-info/SOURCES.txt +139 -0
  80. mcp_tools_py-0.1.3/src/mcp_tools_py.egg-info/dependency_links.txt +1 -0
  81. mcp_tools_py-0.1.3/src/mcp_tools_py.egg-info/entry_points.txt +2 -0
  82. mcp_tools_py-0.1.3/src/mcp_tools_py.egg-info/requires.txt +23 -0
  83. mcp_tools_py-0.1.3/src/mcp_tools_py.egg-info/top_level.txt +1 -0
  84. mcp_tools_py-0.1.3/tach.toml +72 -0
  85. mcp_tools_py-0.1.3/tests/__init__.py +1 -0
  86. mcp_tools_py-0.1.3/tests/conftest.py +20 -0
  87. mcp_tools_py-0.1.3/tests/test_code_checker/__init__.py +0 -0
  88. mcp_tools_py-0.1.3/tests/test_code_checker/test_code_checker_pytest_common.py +188 -0
  89. mcp_tools_py-0.1.3/tests/test_code_checker/test_models.py +128 -0
  90. mcp_tools_py-0.1.3/tests/test_code_checker/test_parsers.py +365 -0
  91. mcp_tools_py-0.1.3/tests/test_code_checker/test_reporting.py +815 -0
  92. mcp_tools_py-0.1.3/tests/test_code_checker/test_runners.py +311 -0
  93. mcp_tools_py-0.1.3/tests/test_code_checker_mypy/__init__.py +1 -0
  94. mcp_tools_py-0.1.3/tests/test_code_checker_mypy/test_integration.py +221 -0
  95. mcp_tools_py-0.1.3/tests/test_code_checker_mypy/test_models.py +166 -0
  96. mcp_tools_py-0.1.3/tests/test_code_checker_mypy/test_parsers.py +95 -0
  97. mcp_tools_py-0.1.3/tests/test_code_checker_mypy/test_reporting.py +211 -0
  98. mcp_tools_py-0.1.3/tests/test_code_checker_mypy/test_runners.py +52 -0
  99. mcp_tools_py-0.1.3/tests/test_code_checker_pylint/__init__.py +3 -0
  100. mcp_tools_py-0.1.3/tests/test_code_checker_pylint/test_models.py +172 -0
  101. mcp_tools_py-0.1.3/tests/test_code_checker_pylint/test_parsers.py +180 -0
  102. mcp_tools_py-0.1.3/tests/test_code_checker_pylint/test_reporting.py +483 -0
  103. mcp_tools_py-0.1.3/tests/test_code_checker_pylint/test_utils.py +53 -0
  104. mcp_tools_py-0.1.3/tests/test_code_checker_pylint_main.py +106 -0
  105. mcp_tools_py-0.1.3/tests/test_code_checker_pytest/__init__.py +1 -0
  106. mcp_tools_py-0.1.3/tests/test_code_checker_pytest/test_extra_args.py +101 -0
  107. mcp_tools_py-0.1.3/tests/test_code_checker_pytest/test_integration_formatting.py +811 -0
  108. mcp_tools_py-0.1.3/tests/test_error_transparency.py +158 -0
  109. mcp_tools_py-0.1.3/tests/test_final_validation.py +466 -0
  110. mcp_tools_py-0.1.3/tests/test_log_utils.py +190 -0
  111. mcp_tools_py-0.1.3/tests/test_server_params.py +641 -0
  112. mcp_tools_py-0.1.3/tests/test_subprocess_runner.py +794 -0
  113. mcp_tools_py-0.1.3/tests/test_tool_availability.py +344 -0
  114. mcp_tools_py-0.1.3/tests/testdata/test_command_runner_stdio/README.md +17 -0
  115. mcp_tools_py-0.1.3/tools/black.bat +1 -0
  116. mcp_tools_py-0.1.3/tools/check_version.bat +39 -0
  117. mcp_tools_py-0.1.3/tools/checks2clipboard.bat +182 -0
  118. mcp_tools_py-0.1.3/tools/commit_summary.bat +73 -0
  119. mcp_tools_py-0.1.3/tools/format_all.bat +2 -0
  120. mcp_tools_py-0.1.3/tools/format_all.sh +10 -0
  121. mcp_tools_py-0.1.3/tools/iSort.bat +1 -0
  122. mcp_tools_py-0.1.3/tools/lint_imports.bat +4 -0
  123. mcp_tools_py-0.1.3/tools/lint_imports.sh +5 -0
  124. mcp_tools_py-0.1.3/tools/mypy.bat +2 -0
  125. mcp_tools_py-0.1.3/tools/pr_review.bat +65 -0
  126. mcp_tools_py-0.1.3/tools/pr_review_highlevel.bat +133 -0
  127. mcp_tools_py-0.1.3/tools/pr_summary.bat +74 -0
  128. mcp_tools_py-0.1.3/tools/pycycle_check.bat +4 -0
  129. mcp_tools_py-0.1.3/tools/pycycle_check.sh +5 -0
  130. mcp_tools_py-0.1.3/tools/pydeps_graph.bat +34 -0
  131. mcp_tools_py-0.1.3/tools/pydeps_graph.sh +39 -0
  132. mcp_tools_py-0.1.3/tools/pylint_check_for_errors.bat +1 -0
  133. mcp_tools_py-0.1.3/tools/reinstall_local.bat +151 -0
  134. mcp_tools_py-0.1.3/tools/tach_check.bat +4 -0
  135. mcp_tools_py-0.1.3/tools/tach_check.sh +5 -0
  136. mcp_tools_py-0.1.3/tools/tach_docs.bat +10 -0
  137. mcp_tools_py-0.1.3/tools/tach_docs.py +197 -0
  138. mcp_tools_py-0.1.3/tools/tach_docs.sh +11 -0
  139. mcp_tools_py-0.1.3/tools/vulture_check.bat +4 -0
  140. mcp_tools_py-0.1.3/tools/vulture_check.sh +5 -0
  141. mcp_tools_py-0.1.3/vulture_whitelist.py +62 -0
@@ -0,0 +1,195 @@
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__filesystem__read_file()` |
18
+ | Edit file | `Edit()` | `mcp__filesystem__edit_file()` |
19
+ | Write file | `Write()` | `mcp__filesystem__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
+ | Git operations | ✅ `Bash("git ...")` | ✅ `Bash("git ...")` (allowed) |
24
+
25
+ ## 🔴 CRITICAL: Code Quality Requirements
26
+
27
+ **MANDATORY**: After making ANY code changes (after EACH edit), you MUST run ALL THREE code quality checks using the EXACT MCP tool names below:
28
+
29
+ ```
30
+ mcp__tools-py__run_pylint_check
31
+ mcp__tools-py__run_pytest_check
32
+ mcp__tools-py__run_mypy_check
33
+ ```
34
+
35
+ This runs:
36
+
37
+ - **Pylint** - Code quality and style analysis
38
+ - **Pytest** - All unit and integration tests
39
+ - **Mypy** - Static type checking
40
+
41
+ **⚠️ ALL CHECKS MUST PASS** - If ANY issues are found, you MUST fix them immediately before proceeding.
42
+
43
+ ### 📋 Pytest Execution Requirements
44
+
45
+ **MANDATORY pytest parameters:**
46
+ - ALWAYS use `extra_args: ["-n", "auto"]` for parallel execution
47
+
48
+ **Available markers in pyproject.toml:**
49
+ - `integration`: Integration tests requiring external resources
50
+
51
+ **RECOMMENDED USAGE:**
52
+ - **Fast unit tests (recommended)**: Use `-m` with `not` expressions to exclude slow integration tests
53
+ - **All tests**: Run without markers to include everything (slow!)
54
+ - **Specific integration tests**: Use specific `markers` parameter when testing integration functionality
55
+
56
+ **Examples:**
57
+
58
+ ```python
59
+ # RECOMMENDED: Fast unit tests (excludes integration tests)
60
+ mcp__tools-py__run_pytest_check(extra_args=["-n", "auto", "-m", "not integration"])
61
+
62
+ # All tests including slow integration tests (not recommended for regular development)
63
+ mcp__tools-py__run_pytest_check(extra_args=["-n", "auto"])
64
+
65
+ # Specific integration tests (only when needed)
66
+ mcp__tools-py__run_pytest_check(extra_args=["-n", "auto"], markers=["integration"])
67
+ ```
68
+
69
+ **Important:** Without the `-m "not integration"` exclusions, pytest runs ALL tests including slow integration tests that may require external resources. For regular development, always use the exclusion pattern as shown in the first example above.
70
+
71
+ ## 📁 MANDATORY: File Access Tools
72
+
73
+ **YOU MUST USE THESE MCP TOOLS** for all file operations:
74
+
75
+ ```
76
+ mcp__filesystem__get_reference_projects
77
+ mcp__filesystem__list_reference_directory
78
+ mcp__filesystem__read_reference_file
79
+ mcp__filesystem__list_directory
80
+ mcp__filesystem__read_file
81
+ mcp__filesystem__save_file
82
+ mcp__filesystem__append_file
83
+ mcp__filesystem__delete_this_file
84
+ mcp__filesystem__move_file
85
+ mcp__filesystem__edit_file
86
+ ```
87
+
88
+ **⚠️ ABSOLUTELY FORBIDDEN:** Using `Read`, `Write`, `Edit`, `MultiEdit` tools when MCP filesystem tools are available.
89
+
90
+ ### Quick Examples
91
+
92
+ ```python
93
+ # ❌ WRONG - Standard tools
94
+ Read(file_path="src/example.py")
95
+ Edit(file_path="src/example.py", old_string="...", new_string="...")
96
+ Write(file_path="src/new.py", content="...")
97
+ Bash("pytest tests/")
98
+
99
+ # ✅ CORRECT - MCP tools
100
+ mcp__filesystem__read_file(file_path="src/example.py")
101
+ mcp__filesystem__edit_file(file_path="src/example.py", edits=[...])
102
+ mcp__filesystem__save_file(file_path="src/new.py", content="...")
103
+ mcp__tools-py__run_pytest_check(extra_args=["-n", "auto"])
104
+ ```
105
+
106
+ **WHY MCP TOOLS ARE MANDATORY:**
107
+
108
+ - Proper security and access control
109
+ - Consistent error handling
110
+ - Better integration with the development environment
111
+ - Required for this project's architecture
112
+
113
+ ## ✍️ Writing Style
114
+
115
+ **Be concise.** Keep code comments, commit messages, documentation changes, and prompt additions short and direct. If one line works, don't use three.
116
+
117
+ ## 🚨 COMPLIANCE VERIFICATION
118
+
119
+ **Before completing ANY task, you MUST:**
120
+
121
+ 1. ✅ Confirm all code quality checks passed using MCP tools
122
+ 2. ✅ Verify you used MCP tools exclusively (NO `Bash` for code checks, NO `Read`/`Write`/`Edit` for files)
123
+ 3. ✅ Ensure no issues remain unresolved
124
+ 4. ✅ State explicitly: "All CLAUDE.md requirements followed"
125
+
126
+ ## 🔧 DEBUGGING AND TROUBLESHOOTING
127
+
128
+ **When tests fail or skip:**
129
+ - Use MCP pytest tool with verbose flags: `extra_args: ["-v", "-s", "--tb=short"]`
130
+ - For integration tests, check if they require external configuration (tokens, URLs)
131
+ - Never fall back to `Bash` commands - always investigate within MCP tools
132
+ - If MCP tools don't provide enough detail, ask user for guidance rather than using alternative tools
133
+
134
+ ## 🔧 MCP Server Issues
135
+
136
+ **IMMEDIATELY ALERT** if MCP tools are not accessible - this blocks all work until resolved.
137
+
138
+ ## 🔄 Git Operations
139
+
140
+ **MANDATORY: Before ANY commit:**
141
+
142
+ ```bash
143
+ # ALWAYS run format_all before committing
144
+ ./tools/format_all.sh # Linux/macOS
145
+ tools\format_all.bat # Windows
146
+
147
+ # Then verify formatting worked
148
+ git diff # Should show formatting changes if any
149
+ ```
150
+
151
+ **Format all code before committing:**
152
+
153
+ - Run `./tools/format_all.sh` (or `tools\format_all.bat` on Windows) to format with black and isort
154
+ - Review the changes to ensure they're formatting-only
155
+ - Stage the formatted files
156
+ - Then commit
157
+
158
+ **ALLOWED git operations via Bash tool:**
159
+
160
+ ```
161
+ git status
162
+ git diff
163
+ git log
164
+ git fetch
165
+ git ls-tree
166
+ ```
167
+
168
+ **⚠️ Bash discipline (applies to subagents too):**
169
+
170
+ - No `cd` prefix, no `git -C` — the working directory is already correct. Just `git status`, never `git -C "/some/path" status`.
171
+ - Stick to approved commands above. Avoid unapproved bash commands — they trigger user authorization prompts and interrupt the workflow.
172
+ - 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.
173
+
174
+ **Git commit message format:**
175
+
176
+ - Use standard commit message format without advertising footers
177
+ - Focus on clear, descriptive commit messages
178
+ - No Claude Code attribution or links
179
+
180
+ **Pull Request format:**
181
+
182
+ - No "Generated with Claude Code" footer or similar attribution
183
+ - Focus on clear summary and test plan
184
+ - Keep PR descriptions concise and professional
185
+
186
+ ## 📏 File Size Check
187
+
188
+ Check for large files (>750 lines) that may impact LLM context:
189
+
190
+ ```bash
191
+ mcp-coder check file-size --max-lines 750
192
+ mcp-coder check branch-status --llm-truncate
193
+ ```
194
+
195
+ For guidance on splitting large files, consider breaking them into smaller, focused modules.
@@ -0,0 +1,26 @@
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
+ The working directory is already correct — do not use `cd` or `git -C`.
17
+
18
+ ## Why `bypassPermissions`?
19
+
20
+ This agent uses `bypassPermissions` so that git add/commit/push commands are auto-approved
21
+ without adding them to the global permissions allow list. This is intentional:
22
+
23
+ - The **main conversation** must NOT have git add/commit/push permissions
24
+ - Only this agent (reachable via `/commit_push` skill) should be able to commit
25
+ - `acceptEdits` only auto-approves file edit tools (Edit/Write), not Bash commands
26
+ - `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 300 --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 300-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,44 @@
1
+ ---
2
+ allowed-tools: Bash(git status), Bash(git status *), Bash(git diff *), Bash(git add *), Bash(git commit *), Bash(git push *), 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
+ # Linux/macOS
14
+ ./tools/format_all.sh
15
+
16
+ # Windows
17
+ tools/format_all.bat
18
+ ```
19
+
20
+ ## 2. Review Changes
21
+ ```bash
22
+ git status
23
+ git diff
24
+ ```
25
+
26
+ ## 3. Stage Changes
27
+ Stage all relevant changes (exclude any files that shouldn't be committed).
28
+
29
+ ## 4. Commit
30
+ Create a commit with a clear, conventional commit message:
31
+ - Use format: `type(scope): description`
32
+ - Types: feat, fix, docs, style, refactor, test, chore
33
+ - Keep summary under 50 characters
34
+ - **No Claude Code footer or attribution in commit message**
35
+
36
+ ## 5. Push
37
+ ```bash
38
+ git push
39
+ ```
40
+
41
+ If the branch doesn't exist on remote yet:
42
+ ```bash
43
+ git push -u origin HEAD
44
+ ```
@@ -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,45 @@
1
+ ---
2
+ allowed-tools: Bash(git fetch *), Bash(git fetch), Bash(git status), Bash(git diff *), Read, Glob, Grep
3
+ workflow-stage: code-review
4
+ suggested-next:
5
+ - discuss -> commit_push -> implementation_approve
6
+ - discuss -> implementation_new_tasks -> commit_push -> implementation_needs_rework
7
+ ---
8
+
9
+ # Implementation Review (Code Review)
10
+
11
+ **First, ensure we're up to date:**
12
+ ```bash
13
+ git fetch
14
+ git status
15
+ ```
16
+
17
+ Confirm and display the current feature branch name.
18
+
19
+ ---
20
+
21
+ **Then run the code review:**
22
+
23
+ ## Code Review Request
24
+
25
+ Run this command to get the changes to review:
26
+ ```bash
27
+ git diff --unified=5 --no-prefix main...HEAD -- . ":(exclude)pr_info/.conversations/**"
28
+ ```
29
+
30
+ No need to run all checks; do not use pylint warnings. Feel free to further analyse any mentioned files and/or the file structure.
31
+
32
+ ### Focus Areas:
33
+ - Logic errors or bugs
34
+ - Tests for `__main__` functions should be removed (not needed)
35
+ - Unnecessary debug code or print statements
36
+ - Code that could break existing functionality
37
+ - Compliance with existing architecture principles, see `docs/architecture/architecture.md`
38
+
39
+ ### Output Format:
40
+ 1. **Summary** - What changed (1-2 sentences)
41
+ 2. **Critical Issues** - Must fix before merging
42
+ 3. **Suggestions** - Nice to have improvements
43
+ 4. **Good** - What works well
44
+
45
+ Do not perform any action. Just present the code review.
@@ -0,0 +1,54 @@
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/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
+ **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,30 @@
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
+ **Focus on:**
26
+ - Understanding the problem/feature request
27
+ - Technical feasibility
28
+ - Potential implementation approaches
29
+ - Questions that need clarification
30
+ - Impact on existing code
@@ -0,0 +1,26 @@
1
+ ---
2
+ allowed-tools: Bash(gh issue comment *), Read, Bash(MSYS_NO_PATHCONV=1 gh issue comment *)
3
+ workflow-stage: issue-discussion
4
+ suggested-next: (bot runs create_plan) -> /clear -> plan_review
5
+ ---
6
+
7
+ # Approve Issue
8
+
9
+ Approve the current issue to transition it to the next status in the workflow.
10
+
11
+ **Instructions:**
12
+
13
+ 1. If no issue context is found from prior `/issue_analyse` or `/issue_create`, respond: "No issue context found. Please run `/issue_analyse <number>` or `/issue_create` first."
14
+
15
+ 2. Validate that the issue is ready for approval:
16
+ - Issue has been analyzed/discussed
17
+ - Requirements are clear
18
+ - No blocking questions remain
19
+
20
+ 3. Comment `/approve` on the issue (use MSYS_NO_PATHCONV to prevent Windows Git Bash path conversion):
21
+
22
+ ```bash
23
+ MSYS_NO_PATHCONV=1 gh issue comment <issue_number> --body "/approve"
24
+ ```
25
+
26
+ This triggers the GitHub Action to promote the issue status (e.g., `status-01:created` → `status-02:awaiting-planning`).
@@ -0,0 +1,22 @@
1
+ ---
2
+ allowed-tools: Bash(gh issue create *)
3
+ workflow-stage: issue-discussion
4
+ suggested-next: discuss -> issue_update -> issue_approve
5
+ ---
6
+
7
+ # Create GitHub Issue
8
+
9
+ Based on our prior discussion, create a GitHub issue.
10
+
11
+ **Instructions:**
12
+ 1. Extract the issue title and body from the conversation context
13
+ 2. Use a clear, descriptive title
14
+ 3. Include relevant details from our discussion in the body
15
+ 4. Use markdown formatting for better readability
16
+
17
+ **Create the issue using:**
18
+ ```bash
19
+ gh issue create --title "TITLE" --body "BODY"
20
+ ```
21
+
22
+ If no prior discussion context is found, respond: "No discussion context found. Please discuss the feature or bug first before creating an issue."