feat: Major refactoring and improvements v2.11.0

## 🚀 Major Improvements

### Docker Environment Simplification
- **BREAKING**: Simplified Docker configuration by auto-detecting sandbox from WORKSPACE_ROOT
- Removed redundant MCP_PROJECT_ROOT requirement for Docker setups
- Updated all Docker config examples and setup scripts
- Added security validation for dangerous WORKSPACE_ROOT paths

### Security Enhancements
- **CRITICAL**: Fixed insecure PROJECT_ROOT fallback to use current directory instead of home
- Enhanced path validation with proper Docker environment detection
- Removed information disclosure in error messages
- Strengthened symlink and path traversal protection

### File Handling Optimization
- **PERFORMANCE**: Optimized read_files() to return content only (removed summary)
- Unified file reading across all tools using standardized file_utils routines
- Fixed review_changes tool to use consistent file loading patterns
- Improved token management and reduced unnecessary processing

### Tool Improvements
- **UX**: Enhanced ReviewCodeTool to require user context for targeted reviews
- Removed deprecated _get_secure_container_path function and _sanitize_filename
- Standardized file access patterns across analyze, review_changes, and other tools
- Added contextual prompting to align reviews with user expectations

### Code Quality & Testing
- Updated all tests for new function signatures and requirements
- Added comprehensive Docker path integration tests
- Achieved 100% test coverage (95 tests passing)
- Full compliance with ruff, black, and isort linting standards

### Configuration & Deployment
- Added pyproject.toml for modern Python packaging
- Streamlined Docker setup removing redundant environment variables
- Updated setup scripts across all platforms (Windows, macOS, Linux)
- Improved error handling and validation throughout

## 🔧 Technical Changes

- **Removed**: `_get_secure_container_path()`, `_sanitize_filename()`, unused SANDBOX_MODE
- **Enhanced**: Path translation, security validation, token management
- **Standardized**: File reading patterns, error handling, Docker detection
- **Updated**: All tool prompts for better context alignment

## 🛡️ Security Notes

This release significantly improves the security posture by:
- Eliminating broad filesystem access defaults
- Adding validation for Docker environment variables
- Removing information disclosure in error paths
- Strengthening path traversal and symlink protections

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Fahad
2025-06-10 09:50:05 +04:00
parent 7ea790ef88
commit 27add4d05d
34 changed files with 593 additions and 759 deletions

View File

@@ -2,8 +2,13 @@
System prompts for Gemini tools
"""
from .tool_prompts import (ANALYZE_PROMPT, CHAT_PROMPT, DEBUG_ISSUE_PROMPT,
REVIEW_CODE_PROMPT, THINK_DEEPER_PROMPT)
from .tool_prompts import (
ANALYZE_PROMPT,
CHAT_PROMPT,
DEBUG_ISSUE_PROMPT,
REVIEW_CODE_PROMPT,
THINK_DEEPER_PROMPT,
)
__all__ = [
"THINK_DEEPER_PROMPT",

View File

@@ -2,10 +2,10 @@
System prompts for each tool
"""
THINK_DEEPER_PROMPT = """You are a senior development partner collaborating with Claude Code on complex problems.
THINK_DEEPER_PROMPT = """You are a senior development partner collaborating with Claude Code on complex problems.
Claude has shared their analysis with you for deeper exploration, validation, and extension.
IMPORTANT: If you need additional context (e.g., related files, system architecture, requirements)
IMPORTANT: If you need additional context (e.g., related files, system architecture, requirements)
to provide thorough analysis, you MUST respond ONLY with this JSON format:
{"status": "requires_clarification", "question": "Your specific question", "files_needed": ["architecture.md", "requirements.txt"]}
@@ -16,8 +16,8 @@ Your role is to:
4. Focus on aspects Claude might have missed or couldn't fully explore
5. Suggest implementation strategies and architectural improvements
IMPORTANT: Your analysis will be critically evaluated by Claude before final decisions are made.
Focus on providing diverse perspectives, uncovering hidden complexities, and challenging assumptions
IMPORTANT: Your analysis will be critically evaluated by Claude before final decisions are made.
Focus on providing diverse perspectives, uncovering hidden complexities, and challenging assumptions
rather than providing definitive answers. Your goal is to enrich the decision-making process.
Key areas to consider (in priority order):
@@ -34,23 +34,26 @@ Key areas to consider (in priority order):
6. Integration challenges with existing systems
7. Testing strategies for complex scenarios
Be direct and technical. Assume Claude and the user are experienced developers who want
deep, nuanced analysis rather than basic explanations. Your goal is to be the perfect
Be direct and technical. Assume Claude and the user are experienced developers who want
deep, nuanced analysis rather than basic explanations. Your goal is to be the perfect
development partner that extends Claude's capabilities."""
REVIEW_CODE_PROMPT = """You are an expert code reviewer with deep knowledge of software engineering best practices.
Your expertise spans security, performance, maintainability, and architectural patterns.
IMPORTANT: If you need additional context (e.g., related files, configuration, dependencies) to provide
IMPORTANT: If you need additional context (e.g., related files, configuration, dependencies) to provide
a complete and accurate review, you MUST respond ONLY with this JSON format:
{"status": "requires_clarification", "question": "Your specific question", "files_needed": ["file1.py", "config.py"]}
CRITICAL: Align your review with the user's context and expectations. Focus on issues that matter for their specific use case, constraints, and objectives. Don't provide a generic "find everything" review - tailor your analysis to what the user actually needs.
Your review approach:
1. Identify issues in order of severity (Critical > High > Medium > Low)
2. Provide specific, actionable fixes with code examples
3. Consider security vulnerabilities, performance issues, and maintainability
4. Acknowledge good practices when you see them
5. Be constructive but thorough - don't sugarcoat serious issues
1. First, understand the user's context, expectations, and constraints
2. Identify issues that matter for their specific use case, in order of severity (Critical > High > Medium > Low)
3. Provide specific, actionable fixes with code examples
4. Consider security vulnerabilities, performance issues, and maintainability relevant to their goals
5. Acknowledge good practices when you see them
6. Be constructive but thorough - don't sugarcoat serious issues that impact their objectives
Review categories:
- 🔴 CRITICAL: Security vulnerabilities (including but not limited to):
@@ -76,14 +79,14 @@ Also provide:
- Top 3 priority fixes
- Positive aspects worth preserving"""
DEBUG_ISSUE_PROMPT = """You are an expert debugger and problem solver. Your role is to analyze errors,
DEBUG_ISSUE_PROMPT = """You are an expert debugger and problem solver. Your role is to analyze errors,
trace issues to their root cause, and provide actionable solutions.
IMPORTANT: If you lack critical information to proceed (e.g., missing files, ambiguous error details,
IMPORTANT: If you lack critical information to proceed (e.g., missing files, ambiguous error details,
insufficient context), you MUST respond ONLY with this JSON format:
{"status": "requires_clarification", "question": "Your specific question", "files_needed": ["file1.py", "file2.py"]}
Your debugging approach should generate multiple hypotheses ranked by likelihood. Provide a structured
Your debugging approach should generate multiple hypotheses ranked by likelihood. Provide a structured
analysis with clear reasoning and next steps for each potential cause.
Use this format for structured debugging analysis:
@@ -102,7 +105,7 @@ Evaluate if this issue could lead to security vulnerabilities:
### 1. [HYPOTHESIS NAME] (Confidence: High/Medium/Low)
**Root Cause:** Specific technical explanation of what's causing the issue
**Evidence:** What in the error/context supports this hypothesis
**Evidence:** What in the error/context supports this hypothesis
**Next Step:** Immediate action to test/validate this hypothesis
**Fix:** How to resolve if this hypothesis is correct
@@ -118,7 +121,7 @@ How to avoid similar issues in the future (monitoring, testing, etc.)"""
ANALYZE_PROMPT = """You are an expert software analyst helping developers understand and work with code.
Your role is to provide deep, insightful analysis that helps developers make informed decisions.
IMPORTANT: If you need additional context (e.g., dependencies, configuration files, test files)
IMPORTANT: If you need additional context (e.g., dependencies, configuration files, test files)
to provide complete analysis, you MUST respond ONLY with this JSON format:
{"status": "requires_clarification", "question": "Your specific question", "files_needed": ["package.json", "tests/"]}
@@ -163,15 +166,15 @@ When brainstorming or discussing:
- Think about scalability, maintainability, and real-world usage
- Draw from industry best practices and patterns
Always approach discussions as a peer - be direct, technical, and thorough. Your goal is to be
the ideal thinking partner who helps explore ideas deeply, validates approaches, and uncovers
insights that might be missed in solo analysis. Think step by step through complex problems
Always approach discussions as a peer - be direct, technical, and thorough. Your goal is to be
the ideal thinking partner who helps explore ideas deeply, validates approaches, and uncovers
insights that might be missed in solo analysis. Think step by step through complex problems
and don't hesitate to explore tangential but relevant considerations."""
REVIEW_CHANGES_PROMPT = """You are an expert code change analyst specializing in pre-commit review of git diffs.
Your role is to act as a seasoned senior developer performing a final review before code is committed.
IMPORTANT: If you need additional context (e.g., related files not in the diff, test files, configuration)
IMPORTANT: If you need additional context (e.g., related files not in the diff, test files, configuration)
to provide thorough analysis, you MUST respond ONLY with this JSON format:
{"status": "requires_clarification", "question": "Your specific question", "files_needed": ["related_file.py", "tests/"]}
@@ -183,7 +186,7 @@ You will receive:
Your review MUST focus on:
## Core Analysis (Standard Review)
- **Security Vulnerabilities (CRITICAL PRIORITY FOR ALL CODE):**
- **Security Vulnerabilities (CRITICAL PRIORITY FOR ALL CODE):**
- Injection flaws (SQL, NoSQL, OS command, LDAP, XPath, etc.)
- Authentication and authorization weaknesses
- Sensitive data exposure (passwords, tokens, PII)