mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-13 02:41:50 +08:00
feat: Add comprehensive test generation and evaluation commands
- Introduced `/workflow:test-gen` command to automate test workflow generation based on completed implementation tasks, including detailed lifecycle phases, task decomposition, and agent assignment. - Implemented `/workflow:concept-eval` command for pre-planning evaluation of concepts, assessing feasibility, risks, and optimization recommendations using strategic and technical analysis tools. - Added `/workflow:docs` command for generating hierarchical architecture and API documentation, with structured task creation and session management. - Developed `/workflow:status` command to provide on-demand views of workflow state, supporting multiple formats and validation checks for task integrity and relationships.
This commit is contained in:
263
.claude/commands/context/gather.md
Normal file
263
.claude/commands/context/gather.md
Normal file
@@ -0,0 +1,263 @@
|
||||
---
|
||||
name: gather
|
||||
description: Intelligently collect project context based on task description and package into standardized JSON
|
||||
usage: /context:gather --session <session_id> "<task_description>"
|
||||
argument-hint: "--session WFS-session-id \"task description\""
|
||||
examples:
|
||||
- /context:gather --session WFS-user-auth "Implement user authentication system"
|
||||
- /context:gather --session WFS-payment "Refactor payment module API"
|
||||
- /context:gather --session WFS-bugfix "Fix login validation error"
|
||||
---
|
||||
|
||||
# Context Gather Command (/context:gather)
|
||||
|
||||
## Overview
|
||||
Intelligent context collector that gathers relevant information from project codebase, documentation, and dependencies based on task descriptions, generating standardized context packages.
|
||||
|
||||
## Core Philosophy
|
||||
- **Intelligent Collection**: Auto-identify relevant resources based on keyword analysis
|
||||
- **Comprehensive Coverage**: Collect code, documentation, configurations, and dependencies
|
||||
- **Standardized Output**: Generate unified format context-package.json
|
||||
- **Efficient Execution**: Optimize collection strategies to avoid irrelevant information
|
||||
|
||||
## Core Responsibilities
|
||||
- **Keyword Extraction**: Extract core keywords from task descriptions
|
||||
- **Smart Documentation Loading**: Load relevant project documentation based on keywords
|
||||
- **Code Structure Analysis**: Analyze project structure to locate relevant code files
|
||||
- **Dependency Discovery**: Identify tech stack and dependency relationships
|
||||
- **MCP Tools Integration**: Leverage code-index and exa tools for enhanced collection
|
||||
- **Context Packaging**: Generate standardized JSON context packages
|
||||
|
||||
## Execution Process
|
||||
|
||||
### Phase 1: Task Analysis
|
||||
1. **Keyword Extraction**
|
||||
- Parse task description to extract core keywords
|
||||
- Identify technical domain (auth, API, frontend, backend, etc.)
|
||||
- Determine complexity level (simple, medium, complex)
|
||||
|
||||
2. **Scope Determination**
|
||||
- Define collection scope based on keywords
|
||||
- Identify potentially involved modules and components
|
||||
- Set file type filters
|
||||
|
||||
### Phase 2: Project Structure Exploration
|
||||
1. **Architecture Analysis**
|
||||
```bash
|
||||
# Get project structure
|
||||
~/.claude/scripts/get_modules_by_depth.sh
|
||||
```
|
||||
|
||||
2. **Code File Location**
|
||||
```bash
|
||||
# Use MCP tools for precise search
|
||||
mcp__code-index__find_files(pattern="*{keywords}*")
|
||||
mcp__code-index__search_code_advanced(pattern="{keywords}", file_pattern="*.{ts,js,py,go}")
|
||||
```
|
||||
|
||||
3. **Documentation Collection**
|
||||
- Load CLAUDE.md and README.md
|
||||
- Load relevant documentation from .workflow/docs/ based on keywords
|
||||
- Collect configuration files (package.json, requirements.txt, etc.)
|
||||
|
||||
### Phase 3: Intelligent Filtering & Association
|
||||
1. **Relevance Scoring**
|
||||
- Score based on keyword match degree
|
||||
- Score based on file path relevance
|
||||
- Score based on code content relevance
|
||||
|
||||
2. **Dependency Analysis**
|
||||
- Analyze import/require statements
|
||||
- Identify inter-module dependencies
|
||||
- Determine core and optional dependencies
|
||||
|
||||
### Phase 4: External Context Enhancement (Optional)
|
||||
1. **MCP Exa Integration**
|
||||
```bash
|
||||
# Get external best practices and examples
|
||||
mcp__exa__get_code_context_exa(query="{task_type} {tech_stack} examples", tokensNum="dynamic")
|
||||
```
|
||||
|
||||
2. **Tech Stack Analysis**
|
||||
- Identify frameworks and libraries in use
|
||||
- Gather relevant best practices
|
||||
- Collect common patterns and examples
|
||||
|
||||
### Phase 5: Context Packaging
|
||||
1. **Standardized Output**
|
||||
- Generate context-package.json
|
||||
- Organize resources by type and importance
|
||||
- Add relevance descriptions and usage recommendations
|
||||
|
||||
## Context Package Format
|
||||
|
||||
Generated context package format:
|
||||
|
||||
```json
|
||||
{
|
||||
"metadata": {
|
||||
"task_description": "Implement user authentication system",
|
||||
"timestamp": "2025-09-29T10:30:00Z",
|
||||
"keywords": ["user", "authentication", "JWT", "login"],
|
||||
"complexity": "medium",
|
||||
"tech_stack": ["typescript", "node.js", "express"],
|
||||
"session_id": "WFS-user-auth"
|
||||
},
|
||||
"assets": [
|
||||
{
|
||||
"type": "documentation",
|
||||
"path": "CLAUDE.md",
|
||||
"relevance": "Project development standards and conventions",
|
||||
"priority": "high"
|
||||
},
|
||||
{
|
||||
"type": "documentation",
|
||||
"path": ".workflow/docs/architecture/security.md",
|
||||
"relevance": "Security architecture design guidance",
|
||||
"priority": "high"
|
||||
},
|
||||
{
|
||||
"type": "source_code",
|
||||
"path": "src/auth/AuthService.ts",
|
||||
"relevance": "Existing authentication service implementation",
|
||||
"priority": "high"
|
||||
},
|
||||
{
|
||||
"type": "source_code",
|
||||
"path": "src/models/User.ts",
|
||||
"relevance": "User data model definition",
|
||||
"priority": "medium"
|
||||
},
|
||||
{
|
||||
"type": "config",
|
||||
"path": "package.json",
|
||||
"relevance": "Project dependencies and tech stack",
|
||||
"priority": "medium"
|
||||
},
|
||||
{
|
||||
"type": "test",
|
||||
"path": "tests/auth/*.test.ts",
|
||||
"relevance": "Authentication related test cases",
|
||||
"priority": "medium"
|
||||
}
|
||||
],
|
||||
"external_context": {
|
||||
"best_practices": "Best practices retrieved from exa",
|
||||
"examples": "Relevant code examples and patterns",
|
||||
"frameworks": "Recommended frameworks and libraries"
|
||||
},
|
||||
"statistics": {
|
||||
"total_files": 15,
|
||||
"source_files": 8,
|
||||
"docs_files": 4,
|
||||
"config_files": 2,
|
||||
"test_files": 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Integration with MCP Tools
|
||||
|
||||
### Code Index Integration
|
||||
```bash
|
||||
# Set project path
|
||||
mcp__code-index__set_project_path(path="{current_project_path}")
|
||||
|
||||
# Refresh index to ensure latest
|
||||
mcp__code-index__refresh_index()
|
||||
|
||||
# Search relevant files
|
||||
mcp__code-index__find_files(pattern="*{keyword}*")
|
||||
|
||||
# Search code content
|
||||
mcp__code-index__search_code_advanced(
|
||||
pattern="{keyword_patterns}",
|
||||
file_pattern="*.{ts,js,py,go,md}",
|
||||
context_lines=3
|
||||
)
|
||||
```
|
||||
|
||||
### Exa Integration
|
||||
```bash
|
||||
# Get external code context
|
||||
mcp__exa__get_code_context_exa(
|
||||
query="{task_type} {tech_stack} implementation examples",
|
||||
tokensNum="dynamic"
|
||||
)
|
||||
|
||||
# Get best practices
|
||||
mcp__exa__get_code_context_exa(
|
||||
query="{task_domain} best practices patterns",
|
||||
tokensNum="dynamic"
|
||||
)
|
||||
```
|
||||
|
||||
## Session ID Integration
|
||||
|
||||
### Session ID Usage
|
||||
- **Required Parameter**: `--session WFS-session-id`
|
||||
- **Session Context Loading**: Load existing session state and task summaries
|
||||
- **Session Continuity**: Maintain context across pipeline phases
|
||||
|
||||
### Session State Management
|
||||
```bash
|
||||
# Validate session exists
|
||||
if [ ! -d ".workflow/${session_id}" ]; then
|
||||
echo "❌ Session ${session_id} not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Load session metadata
|
||||
session_metadata=".workflow/${session_id}/workflow-session.json"
|
||||
```
|
||||
|
||||
## Output Location
|
||||
|
||||
Context package output location:
|
||||
```
|
||||
.workflow/{session_id}/.process/context-package.json
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
### Common Error Handling
|
||||
1. **No Active Session**: Create temporary session directory
|
||||
2. **MCP Tools Unavailable**: Fallback to traditional bash commands
|
||||
3. **Permission Errors**: Prompt user to check file permissions
|
||||
4. **Large Project Optimization**: Limit file count, prioritize high-relevance files
|
||||
|
||||
### Graceful Degradation Strategy
|
||||
```bash
|
||||
# Fallback when MCP unavailable
|
||||
if ! command -v mcp__code-index__find_files; then
|
||||
# Use find command
|
||||
find . -name "*{keyword}*" -type f
|
||||
fi
|
||||
|
||||
# Use ripgrep instead of MCP search
|
||||
rg "{keywords}" --type-add 'source:*.{ts,js,py,go}' -t source
|
||||
```
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
### Large Project Optimization Strategy
|
||||
- **File Count Limit**: Maximum 50 files per type
|
||||
- **Size Filtering**: Skip oversized files (>10MB)
|
||||
- **Depth Limit**: Maximum search depth of 3 levels
|
||||
- **Caching Strategy**: Cache project structure analysis results
|
||||
|
||||
### Parallel Processing
|
||||
- Documentation collection and code search in parallel
|
||||
- MCP tool calls and traditional commands in parallel
|
||||
- Reduce I/O wait time
|
||||
|
||||
## Success Criteria
|
||||
- Generate valid context-package.json file
|
||||
- Contains sufficient relevant information for subsequent analysis
|
||||
- Execution time controlled within 30 seconds
|
||||
- File relevance accuracy rate >80%
|
||||
|
||||
## Related Commands
|
||||
- `/analysis:run` - Consumes output of this command for analysis
|
||||
- `/workflow:plan` - Calls this command to gather context
|
||||
- `/workflow:status` - Can display context collection status
|
||||
Reference in New Issue
Block a user