feat: add GitHub issue retrieval and updating to dev-tools CLI and MCP#2991
feat: add GitHub issue retrieval and updating to dev-tools CLI and MCP#2991google-labs-jules[bot] wants to merge 8 commits into
Conversation
This commit introduces new structured commands and MCP tools for managing GitHub issues. Key changes: - Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities. - Added `gh issue-view`, `gh issue-update`, and `gh issue-comment` subcommands to `td_cli.py`. - Exposed `github.issue_view`, `github.issue_update`, and `github.issue_comment` tools in the `boomtick-mcp` server. - Updated `cli-schema.json` to register the new commands for AI agents. - Ensured consistent JSON output flattening and documentation in both Python and TypeScript components.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
🚀 Deployment Details (Last updated: Jun 26, 2026, 3:16 PM PST) 🚀 Pushed to gh-pages; publish in progress
|
👁️ Gemini Code Review Agent
Reviewing: PR #2991 Code Review Feedback[ARCHITECTURE] ReviewError: failed to execute ARCHITECTURE review. Details: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent: [429 Too Many Requests] Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap. Learn more at https://ai.google.dev/gemini-api/docs/billing#project-spend-caps. [PERFORMANCE] ReviewError: failed to execute PERFORMANCE review. Details: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent: [429 Too Many Requests] Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap. Learn more at https://ai.google.dev/gemini-api/docs/billing#project-spend-caps. [SECURITY] ReviewError: failed to execute SECURITY review. Details: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent: [429 Too Many Requests] Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap. Learn more at https://ai.google.dev/gemini-api/docs/billing#project-spend-caps. [STYLE] ReviewError: failed to execute STYLE review. Details: [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent: [429 Too Many Requests] Your project has exceeded its monthly spending cap. Please go to AI Studio at https://ai.studio/spend to manage your project spend cap. Learn more at https://ai.google.dev/gemini-api/docs/billing#project-spend-caps. Generated by gemini-code-review |
🐙 GitHub Models Code Review
Reviewing: PR #2991 Model: gpt-4o Code Review Feedback[ARCHITECTURE] ReviewError: failed to execute ARCHITECTURE review. Details: GitHub Models API error: 429 Too Many Requests - {"error":{"code":"RateLimitReached","message":"Rate limit of 2 per 0s exceeded for UserConcurrentRequests. Please wait 0 seconds before retrying.","details":"Rate limit of 2 per 0s exceeded for UserConcurrentRequests. Please wait 0 seconds before retrying."}} [PERFORMANCE] ReviewReview SummaryThis PR introduces new GitHub issue management commands ( FindingsHigh Severity Issues
Medium Severity Issues
Low Severity Issues (Nitpicks)
Final VerdictGiven the presence of multiple HIGH severity issues related to error handling, resource management, and performance, this PR cannot be approved in its current state. The identified issues must be addressed to ensure robustness, security, and efficiency. Findings JSON[SECURITY] ReviewReview SummaryThe diff introduces new GitHub issue management commands ( High Severity Issues (Blocking)1. Unvalidated Input for File Paths in
|
This commit introduces new structured commands and MCP tools for managing GitHub issues. Key changes: - Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities. - Added `gh issue-view`, `gh issue-update`, and `gh issue-comment` subcommands to `td_cli.py`. - Exposed `github.issue_view`, `github.issue_update`, and `github.issue_comment` tools in the `boomtick-mcp` server. - Updated `cli-schema.json` to register the new commands for AI agents. - Implemented security best practices in MCP handlers: secure unique filenames using `crypto.randomUUID()`, Zod output validation, and sanitized error messages. - Refined CLI error handling with specific logging and user-friendly error messages.
🤖 AI Technical AuditANTI-AI-SLOPThis PR introduces new functionality for managing GitHub issues via However, I've identified one instance of inconsistency and one of code duplication (slop):
The additions totaled 167 lines. To address the audit ratio directive, consolidating the generic exception handling in FINAL RECOMMENDATION (Approved | Approved with Minor Changes | Not Approved)Approved with Minor Changes DEFINITION OF DONE (If recommendation is "Approved with Minor Changes", list concrete, non-ambiguous tasks required for approval).
Review automatically published via RepoAuditor. |
This commit introduces new structured commands and MCP tools for managing GitHub issues, with a focus on security, performance, and maintainability. Key changes: - Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities. - Added `gh issue-view`, `gh issue-update`, and `gh issue-comment` subcommands to `td_cli.py`, supporting both file-based and literal text input. - Exposed `github.issue_view`, `github.issue_update`, and `github.issue_comment` tools in the `boomtick-mcp` server. - Updated `cli-schema.json` to register the new commands for AI agents. - Implemented security best practices in MCP handlers: Zod output validation and sanitized error messages. - Refined CLI error handling by centralizing unexpected error management. - Refactored Orchestrator methods for cleaner API signatures and direct body support. - Verified all changes with comprehensive Python and TypeScript test suites.
This commit introduces new structured commands and MCP tools for managing GitHub issues, incorporating feedback for security, performance, and code quality. Key changes: - Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities. - Refactored Orchestrator methods to accept body text directly, improving performance and simplifying API usage. - Added `gh issue-view`, `gh issue-update`, and `gh issue-comment` subcommands to `td_cli.py`, with support for both `--file` and `--body` inputs. - Centralized generic exception handling in the CLI to reduce boilerplate and improve maintainability. - Exposed `github.issue_view`, `github.issue_update`, and `github.issue_comment` tools in the `boomtick-mcp` server, using direct body passing to avoid redundant I/O. - Implemented robust security practices in MCP: Zod validation for CLI output and sanitized error reporting. - Updated and fixed existing Python tests to align with the refactored Orchestrator logic. - Updated `cli-schema.json` to reflect the new command signatures.
This commit introduces new structured commands and MCP tools for managing GitHub issues, incorporating feedback for security, performance, and code quality. Key changes: - Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities. - Refactored Orchestrator methods to accept body text directly, improving performance and simplifying API usage. - Added `gh issue-view`, `gh issue-update`, and `gh issue-comment` subcommands to `td_cli.py`, with support for both `--file` and `--body` inputs. - Centralized generic exception handling in the CLI to reduce boilerplate and improve maintainability. - Exposed `github.issue_view`, `github.issue_update`, and `github.issue_comment` tools in the `boomtick-mcp` server, using direct body passing to avoid redundant I/O. - Implemented robust security practices in MCP: Zod validation for CLI output and sanitized error reporting. - Updated and fixed existing Python tests to align with the refactored Orchestrator logic. - Updated `cli-schema.json` to reflect the new command signatures.
arii
left a comment
There was a problem hiding this comment.
PR Review
Summary: This PR enhances the td_cli.py GitHub integration by adding subcommands for getting, updating, and commenting on issues. It updates the orchestrator to decouple file reading from API requests and expands the Python MCP server with corresponding tools (gh_get_issue, gh_update_issue, gh_issue_comment).
Findings:
- Code Organization: The change refactoring
_read_safe_fileout ofcreate_issueandpost_commentinorchestrator.pyis a solid improvement. It correctly pushes IO handling to the CLI layer (td_cli.py) or MCP handler, ensuring the core services operate on raw strings. - MCP Validation: In
boomtick-mcp/src/github_tools.py, the added JSON schemas correctly define the inputs, and theexecute_github_toolfunction efficiently routes these new tools. - Documentation:
dev-tools/cli-schema.jsonis accurately updated to include theget-issue,update-issue, andissue-commentcommands, maintaining the canonical source of truth for the CLI. - Testing: The Python unit tests in
test_td_cli.pyhave been correctly updated to mock_read_safe_filerather than the broader functions, tightening the test suite. All CI checks pass successfully.
Recommendation: Approved. The implementation successfully expands the utility of the dev-tools to manage GitHub issues natively and over MCP, adhering to the project's abstraction boundaries.
🤖 AI Technical AuditANTI-AI-SLOP
FINAL RECOMMENDATIONApproved with Minor Changes DEFINITION OF DONE
Review automatically published via RepoAuditor. |
This commit introduces new structured commands and MCP tools for managing GitHub issues. Key changes: - Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities. - Added `gh issue-view`, `gh issue-update`, and `gh issue-comment` subcommands to `td_cli.py`, supporting both file-based and literal text input. - Exposed `github.issue_view`, `github.issue_update`, and `github.issue_comment` tools in the `boomtick-mcp` server. - Refactored core logic and CLI handlers for better DRY, security, and performance. - Verified all changes with comprehensive Python and TypeScript test suites.
arii
left a comment
There was a problem hiding this comment.
ANTI-AI-SLOP
The change refactoring _read_safe_file out of create_issue and post_comment in orchestrator.py is a solid improvement. MCP Validation in boomtick-mcp/src/github_tools.py correctly defines the inputs.
FINDINGS
This PR enhances the td_cli.py GitHub integration by adding subcommands for getting, updating, and commenting on issues. It updates the orchestrator to decouple file reading from API requests and expands the Python MCP server. The implementation successfully expands the utility of the dev-tools to manage GitHub issues.
FINAL RECOMMENDATION
Approved
arii
left a comment
There was a problem hiding this comment.
ANTI-AI-SLOP
The change refactoring _read_safe_file out of create_issue and post_comment in orchestrator.py is a solid improvement. MCP Validation in boomtick-mcp/src/github_tools.py correctly defines the inputs.
FINDINGS
This PR enhances the td_cli.py GitHub integration by adding subcommands for getting, updating, and commenting on issues. It updates the orchestrator to decouple file reading from API requests and expands the Python MCP server. The implementation successfully expands the utility of the dev-tools to manage GitHub issues.
FINAL RECOMMENDATION
Approved
This commit introduces new structured commands and MCP tools for managing GitHub issues, incorporating final feedback for logic refinement and consistency.
Key changes:
- Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities.
- Refactored Orchestrator methods to accept body text directly, with improved parameter naming (`issue_number`, `entity_number`).
- Updated CLI in `td_cli.py` with a new `_get_body_content` helper to centralize argument resolution for `--file` and `--body`.
- Ensured `create_issue` result is wrapped in `{"issue": res}` for consistency across all issue commands.
- Fixed `_get_body_content` to correctly handle empty string inputs (`if content is None`).
- Verified all changes with comprehensive Python (39) and TypeScript (23) test suites.
arii
left a comment
There was a problem hiding this comment.
ANTI-AI-SLOP
The change refactoring _read_safe_file out of create_issue and post_comment in orchestrator.py is a solid improvement. MCP Validation in boomtick-mcp/src/github_tools.py correctly defines the inputs.
FINDINGS
This PR enhances the td_cli.py GitHub integration by adding subcommands for getting, updating, and commenting on issues. It updates the orchestrator to decouple file reading from API requests and expands the Python MCP server. The implementation successfully expands the utility of the dev-tools to manage GitHub issues.
FINAL RECOMMENDATION
Approved
🤖 AI Technical AuditANTI-AI-SLOPThis PR introduces substantial new functionality for managing GitHub issues via the Strengths:
Areas for Improvement / Minor Slop:
Overall, the new code is well-structured and follows existing patterns. The additions are substantial but justified by the new features. FINAL RECOMMENDATIONApproved with Minor Changes DEFINITION OF DONE
Review automatically published via RepoAuditor. |
This commit introduces new structured commands and MCP tools for managing GitHub issues, incorporating feedback for security, performance, and maintainability. Key changes: - Extended `tdw_services` GitHubClient and Orchestrator with issue retrieval and body update capabilities. - Refactored Orchestrator methods for cleaner API signatures (`issue_number`, `entity_number`) and direct body support. - Added `gh issue-view`, `gh issue-update`, `gh issue-comment`, and updated `gh post-comment` subcommands in `td_cli.py`. - Introduced `_get_body_content` helper in CLI to centralize resolution of `--file` and `--body` flags. - Centralized unexpected error handling in the CLI to reduce code duplication. - Exposed Tier 1 MCP tools (`github.issue_view`, `github.issue_update`, `github.issue_comment`) with strict Zod validation. - Created shared `sanitizeError` utility in MCP to prevent information leakage. - Verified all changes with 39 Python tests and 23 MCP Vitest tests.
This PR introduces new structured commands and MCP tools for managing GitHub issues.
Key changes:
tdw_servicesGitHubClient and Orchestrator with issue retrieval and body update capabilities.gh issue-view,gh issue-update, andgh issue-commentsubcommands totd_cli.py.github.issue_view,github.issue_update, andgithub.issue_commenttools in theboomtick-mcpserver.cli-schema.jsonto register the new commands for AI agents.Fixes #2661
PR created automatically by Jules for task 3697387033533382433 started by @arii