docs: Enhance target_files documentation and fix cross-platform command compatibility

## Target Files Enhancement
- Add support for new file creation in target_files format
- Update task-generate.md with comprehensive target_files generation guide
- Update concept-enhanced.md to output code modification targets
- Add examples showing both modification (file:function:lines) and creation (file) formats

## Cross-Platform Command Fixes
- Replace ls with find commands for better Windows Git Bash compatibility
- Update workflow commands: execute.md, status.md, review.md
- Update session commands: list.md, complete.md
- Add Bash environment guidelines to context-search-strategy.md
- Document forbidden Windows commands (findstr, dir, where, etc.)

## Files Updated
- Core workflows: workflow-architecture.md, task-core.md
- Command docs: 9 workflow command files
- Agent docs: action-planning-agent.md, task-generate-agent.md
- Strategy docs: context-search-strategy.md

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
catlog22
2025-10-02 22:40:37 +08:00
parent 661cb5be1c
commit b945e2de55
12 changed files with 117 additions and 38 deletions

View File

@@ -228,7 +228,7 @@ Generate individual `.task/IMPL-*.json` files with:
"modification_points": ["Apply requirements"], "modification_points": ["Apply requirements"],
"logic_flow": ["Load spec", "Analyze", "Implement", "Validate"] "logic_flow": ["Load spec", "Analyze", "Implement", "Validate"]
}, },
"target_files": ["file:function:lines"] "target_files": ["file:function:lines", "path/to/NewFile.ts"]
} }
} }
``` ```

View File

@@ -356,8 +356,8 @@ Task(subagent_type="{meta.agent}",
**WORKFLOW COMPLETION CHECK**: **WORKFLOW COMPLETION CHECK**:
After updating task status, check if workflow is complete: After updating task status, check if workflow is complete:
total_tasks=\$(ls .workflow/*/\.task/*.json | wc -l) total_tasks=\$(find .workflow/*/\.task/ -name "*.json" -type f 2>/dev/null | wc -l)
completed_tasks=\$(ls .workflow/*/\.summaries/*.md 2>/dev/null | wc -l) completed_tasks=\$(find .workflow/*/\.summaries/ -name "*.md" -type f 2>/dev/null | wc -l)
if [ \$total_tasks -eq \$completed_tasks ]; then if [ \$total_tasks -eq \$completed_tasks ]; then
SlashCommand(command=\"/workflow:session:complete\") SlashCommand(command=\"/workflow:session:complete\")
fi"), fi"),
@@ -433,7 +433,7 @@ Task(subagent_type="{meta.agent}",
"task_description": "Implement following consolidated synthesis specification...", "task_description": "Implement following consolidated synthesis specification...",
"modification_points": ["Apply synthesis specification requirements..."] "modification_points": ["Apply synthesis specification requirements..."]
}, },
"target_files": ["file:function:lines"] "target_files": ["file:function:lines", "path/to/NewFile.ts"]
} }
} }
``` ```

View File

@@ -55,7 +55,7 @@ if [ ! -d ".workflow/${sessionId}" ]; then
fi fi
# Check for completed tasks # Check for completed tasks
if [ ! -d ".workflow/${sessionId}/.summaries" ] || [ -z "$(ls .workflow/${sessionId}/.summaries/IMPL-*.md 2>/dev/null)" ]; then if [ ! -d ".workflow/${sessionId}/.summaries" ] || [ -z "$(find .workflow/${sessionId}/.summaries/ -name "IMPL-*.md" -type f 2>/dev/null)" ]; then
echo "❌ No completed implementation found. Complete implementation first" echo "❌ No completed implementation found. Complete implementation first"
exit 1 exit 1
fi fi

View File

@@ -44,8 +44,8 @@ mv temp.json .workflow/WFS-session/workflow-session.json
### Step 5: Count Final Statistics ### Step 5: Count Final Statistics
```bash ```bash
ls .workflow/WFS-session/.task/*.json 2>/dev/null | wc -l find .workflow/WFS-session/.task/ -name "*.json" -type f 2>/dev/null | wc -l
ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l find .workflow/WFS-session/.summaries/ -name "*.md" -type f 2>/dev/null | wc -l
``` ```
### Step 6: Remove Active Marker ### Step 6: Remove Active Marker
@@ -56,12 +56,12 @@ rm .workflow/.active-WFS-session-name
## Simple Bash Commands ## Simple Bash Commands
### Basic Operations ### Basic Operations
- **Find active session**: `ls .workflow/.active-*` - **Find active session**: `find .workflow/ -name ".active-*" -type f`
- **Get session name**: `basename marker | sed 's/^\.active-//'` - **Get session name**: `basename marker | sed 's/^\.active-//'`
- **Update status**: `jq '.status = "completed"' session.json > temp.json` - **Update status**: `jq '.status = "completed"' session.json > temp.json`
- **Add timestamp**: `jq '.completed_at = "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"'` - **Add timestamp**: `jq '.completed_at = "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"'`
- **Count tasks**: `ls .task/*.json | wc -l` - **Count tasks**: `find .task/ -name "*.json" -type f | wc -l`
- **Count completed**: `ls .summaries/*.md | wc -l` - **Count completed**: `find .summaries/ -name "*.md" -type f 2>/dev/null | wc -l`
- **Remove marker**: `rm .workflow/.active-session` - **Remove marker**: `rm .workflow/.active-session`
### Completion Result ### Completion Result
@@ -92,11 +92,11 @@ Session Completion Summary:
### Error Handling ### Error Handling
```bash ```bash
# No active session # No active session
ls .workflow/.active-* 2>/dev/null || echo "No active session found" find .workflow/ -name ".active-*" -type f 2>/dev/null || echo "No active session found"
# Incomplete tasks # Incomplete tasks
task_count=$(ls .task/*.json | wc -l) task_count=$(find .task/ -name "*.json" -type f | wc -l)
summary_count=$(ls .summaries/*.md 2>/dev/null | wc -l) summary_count=$(find .summaries/ -name "*.md" -type f 2>/dev/null | wc -l)
test $task_count -eq $summary_count || echo "Warning: Not all tasks completed" test $task_count -eq $summary_count || echo "Warning: Not all tasks completed"
``` ```

View File

@@ -35,8 +35,8 @@ jq -r '.session_id, .status, .project' .workflow/WFS-session/workflow-session.js
### Step 4: Count Task Progress ### Step 4: Count Task Progress
```bash ```bash
ls .workflow/WFS-session/.task/*.json 2>/dev/null | wc -l find .workflow/WFS-session/.task/ -name "*.json" -type f 2>/dev/null | wc -l
ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l find .workflow/WFS-session/.summaries/ -name "*.md" -type f 2>/dev/null | wc -l
``` ```
### Step 5: Get Creation Time ### Step 5: Get Creation Time
@@ -47,11 +47,11 @@ jq -r '.created_at // "unknown"' .workflow/WFS-session/workflow-session.json
## Simple Bash Commands ## Simple Bash Commands
### Basic Operations ### Basic Operations
- **List sessions**: `ls .workflow/WFS-*` - **List sessions**: `find .workflow/ -maxdepth 1 -type d -name "WFS-*"`
- **Find active**: `ls .workflow/.active-*` - **Find active**: `find .workflow/ -name ".active-*" -type f`
- **Read session data**: `jq -r '.session_id, .status' session.json` - **Read session data**: `jq -r '.session_id, .status' session.json`
- **Count tasks**: `ls .task/*.json | wc -l` - **Count tasks**: `find .task/ -name "*.json" -type f | wc -l`
- **Count completed**: `ls .summaries/*.md | wc -l` - **Count completed**: `find .summaries/ -name "*.md" -type f 2>/dev/null | wc -l`
- **Get timestamp**: `jq -r '.created_at' session.json` - **Get timestamp**: `jq -r '.created_at' session.json`
## Simple Output Format ## Simple Output Format

View File

@@ -25,7 +25,7 @@ Generates on-demand views from JSON task data. No synchronization needed - all v
### Step 1: Find Active Session ### Step 1: Find Active Session
```bash ```bash
ls .workflow/.active-* 2>/dev/null | head -1 find .workflow/ -name ".active-*" -type f 2>/dev/null | head -1
``` ```
### Step 2: Load Session Data ### Step 2: Load Session Data
@@ -35,7 +35,7 @@ cat .workflow/WFS-session/workflow-session.json
### Step 3: Scan Task Files ### Step 3: Scan Task Files
```bash ```bash
ls .workflow/WFS-session/.task/*.json 2>/dev/null find .workflow/WFS-session/.task/ -name "*.json" -type f 2>/dev/null
``` ```
### Step 4: Generate Task Status ### Step 4: Generate Task Status
@@ -45,8 +45,8 @@ cat .workflow/WFS-session/.task/impl-1.json | jq -r '.status'
### Step 5: Count Task Progress ### Step 5: Count Task Progress
```bash ```bash
ls .workflow/WFS-session/.task/*.json | wc -l find .workflow/WFS-session/.task/ -name "*.json" -type f | wc -l
ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l find .workflow/WFS-session/.summaries/ -name "*.md" -type f 2>/dev/null | wc -l
``` ```
### Step 6: Display Overview ### Step 6: Display Overview
@@ -66,11 +66,11 @@ ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l
## Simple Bash Commands ## Simple Bash Commands
### Basic Operations ### Basic Operations
- **Find active session**: `ls .workflow/.active-*` - **Find active session**: `find .workflow/ -name ".active-*" -type f`
- **Read session info**: `cat .workflow/session/workflow-session.json` - **Read session info**: `cat .workflow/session/workflow-session.json`
- **List tasks**: `ls .workflow/session/.task/*.json` - **List tasks**: `find .workflow/session/.task/ -name "*.json" -type f`
- **Check task status**: `cat task.json | jq -r '.status'` - **Check task status**: `cat task.json | jq -r '.status'`
- **Count completed**: `ls .summaries/*.md | wc -l` - **Count completed**: `find .summaries/ -name "*.md" -type f | wc -l`
### Task Status Check ### Task Status Check
- **pending**: Not started yet - **pending**: Not started yet
@@ -87,8 +87,8 @@ test -f .workflow/.active-* && echo "Session active"
for f in .workflow/session/.task/*.json; do jq empty "$f" && echo "Valid: $f"; done for f in .workflow/session/.task/*.json; do jq empty "$f" && echo "Valid: $f"; done
# Check summaries match # Check summaries match
ls .task/*.json | wc -l find .task/ -name "*.json" -type f | wc -l
ls .summaries/*.md | wc -l find .summaries/ -name "*.md" -type f 2>/dev/null | wc -l
``` ```
## Simple Output Format ## Simple Output Format

View File

@@ -141,6 +141,9 @@ Advanced solution design and feasibility analysis engine with parallel CLI execu
RULES: RULES:
- Focus on SOLUTION IMPROVEMENTS and KEY DESIGN DECISIONS, NOT task planning - Focus on SOLUTION IMPROVEMENTS and KEY DESIGN DECISIONS, NOT task planning
- Provide architectural rationale, evaluate alternatives, assess tradeoffs - Provide architectural rationale, evaluate alternatives, assess tradeoffs
- **CRITICAL**: Identify code targets - existing files as "file:function:lines", new files as "file"
- For modifications: specify exact files/functions/line ranges
- For new files: specify file path only (no function or lines)
- Do NOT create task lists, implementation steps, or code examples - Do NOT create task lists, implementation steps, or code examples
- Do NOT generate any code snippets or implementation details - Do NOT generate any code snippets or implementation details
- **MUST write output to .workflow/{session_id}/.process/gemini-solution-design.md** - **MUST write output to .workflow/{session_id}/.process/gemini-solution-design.md**
@@ -172,6 +175,8 @@ Advanced solution design and feasibility analysis engine with parallel CLI execu
RULES: RULES:
- Focus on TECHNICAL FEASIBILITY and RISK ASSESSMENT, NOT implementation planning - Focus on TECHNICAL FEASIBILITY and RISK ASSESSMENT, NOT implementation planning
- Validate architectural decisions, identify potential issues, recommend optimizations - Validate architectural decisions, identify potential issues, recommend optimizations
- **CRITICAL**: Verify code targets - existing files "file:function:lines", new files "file"
- Confirm exact locations for modifications, identify additional new files if needed
- Do NOT create task breakdowns, step-by-step guides, or code examples - Do NOT create task breakdowns, step-by-step guides, or code examples
- Do NOT generate any code snippets or implementation details - Do NOT generate any code snippets or implementation details
- **MUST write output to .workflow/{session_id}/.process/codex-feasibility-validation.md** - **MUST write output to .workflow/{session_id}/.process/codex-feasibility-validation.md**
@@ -301,6 +306,39 @@ Generated ANALYSIS_RESULTS.md focuses on **solution improvements, key design dec
- **Module Dependencies**: {dependency_graph_and_order} - **Module Dependencies**: {dependency_graph_and_order}
- **Quality Assurance**: {qa_approach_and_validation} - **Quality Assurance**: {qa_approach_and_validation}
### Code Modification Targets
**Purpose**: Specific code locations for modification AND new files to create
**Format**:
- Existing files: `file:function:lines` (with line numbers)
- New files: `file` (no function or lines)
**Identified Targets**:
1. **Target**: `src/auth/AuthService.ts:login:45-52`
- **Type**: Modify existing
- **Modification**: Enhance error handling
- **Rationale**: Current logic lacks validation for edge cases
2. **Target**: `src/auth/PasswordReset.ts`
- **Type**: Create new file
- **Purpose**: Password reset functionality
- **Rationale**: New feature requirement
3. **Target**: `src/middleware/auth.ts:validateToken:30-45`
- **Type**: Modify existing
- **Modification**: Add token expiry check
- **Rationale**: Security requirement for JWT validation
4. **Target**: `tests/auth/PasswordReset.test.ts`
- **Type**: Create new file
- **Purpose**: Test coverage for password reset
- **Rationale**: Test requirement for new feature
**Note**:
- For new files, only specify the file path (no function or lines)
- For existing files without line numbers, use `file:function:*` format
- Task generation will refine these during the `analyze_task_patterns` step
### Feasibility Assessment ### Feasibility Assessment
- **Technical Complexity**: {complexity_rating_and_analysis} - **Technical Complexity**: {complexity_rating_and_analysis}
- **Performance Impact**: {expected_performance_characteristics} - **Performance Impact**: {expected_performance_characteristics}

View File

@@ -212,7 +212,7 @@ Task(
"Validate against acceptance criteria" "Validate against acceptance criteria"
] ]
}, },
"target_files": ["file:function:lines"] "target_files": ["file:function:lines", "path/to/NewFile.ts"]
} }
} }
\`\`\` \`\`\`

View File

@@ -142,12 +142,12 @@ Generate task JSON files and IMPL_PLAN.md from analysis results with automatic a
}, },
{ {
"step": "analyze_task_patterns", "step": "analyze_task_patterns",
"action": "Analyze existing code patterns", "action": "Analyze existing code patterns and identify modification targets",
"commands": [ "commands": [
"bash(cd \"[focus_paths]\")", "bash(cd \"[focus_paths]\")",
"bash(~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Analyze patterns TASK: Review '[title]' CONTEXT: [synthesis_specification] [individual_artifacts] EXPECTED: Pattern analysis RULES: Prioritize synthesis-specification.md\")" "bash(~/.claude/scripts/gemini-wrapper -p \"PURPOSE: Identify modification targets TASK: Analyze '[title]' and locate specific files/functions/lines to modify CONTEXT: [synthesis_specification] [individual_artifacts] EXPECTED: Code locations in format 'file:function:lines' RULES: Prioritize synthesis-specification.md, identify exact modification points\")"
], ],
"output_to": "task_context", "output_to": "task_context_with_targets",
"on_error": "fail" "on_error": "fail"
} }
], ],
@@ -175,8 +175,40 @@ Generate task JSON files and IMPL_PLAN.md from analysis results with automatic a
1. Parse analysis results and extract task definitions 1. Parse analysis results and extract task definitions
2. Detect brainstorming artifacts with priority scoring 2. Detect brainstorming artifacts with priority scoring
3. Generate task context (requirements, focus_paths, acceptance) 3. Generate task context (requirements, focus_paths, acceptance)
4. Build flow_control with artifact loading steps 4. **Determine modification targets**: Extract specific code locations from analysis
5. Create individual task JSON files in `.task/` 5. Build flow_control with artifact loading steps and target_files
6. Create individual task JSON files in `.task/`
#### Target Files Generation (Critical)
**Purpose**: Identify specific code locations for modification AND new files to create
**Source Data Priority**:
1. **ANALYSIS_RESULTS.md** - Should contain identified code locations
2. **Gemini/MCP Analysis** - From `analyze_task_patterns` step
3. **Context Package** - File references from `focus_paths`
**Format**: `["file:function:lines"]` or `["file"]` (for new files)
- `file`: Relative path from project root (e.g., `src/auth/AuthService.ts`)
- `function`: Function/method name to modify (e.g., `login`, `validateToken`) - **omit for new files**
- `lines`: Approximate line range (e.g., `45-52`, `120-135`) - **omit for new files**
**Examples**:
```json
"target_files": [
"src/auth/AuthService.ts:login:45-52",
"src/middleware/auth.ts:validateToken:30-45",
"src/auth/PasswordReset.ts",
"tests/auth/PasswordReset.test.ts",
"tests/auth.test.ts:testLogin:15-20"
]
```
**Generation Strategy**:
- **New files to create** → Use `["path/to/NewFile.ts"]` (no function or lines)
- **Existing files with specific locations** → Use `["file:function:lines"]`
- **Existing files with function only** → Search lines using MCP/grep `["file:function:*"]`
- **Existing files (explore entire)** → Mark as `["file.ts:*:*"]`
- **No specific targets** → Leave empty `[]` (agent explores focus_paths)
### Phase 3: Artifact Detection & Integration ### Phase 3: Artifact Detection & Integration

View File

@@ -6,6 +6,12 @@ type: search-guideline
# Context Search Strategy # Context Search Strategy
## ⚡ Execution Environment
**CRITICAL**: All commands execute in **Bash environment** (Git Bash on Windows, Bash on Linux/macOS)
**❌ Forbidden**: Windows-specific commands (`findstr`, `dir`, `where`, `type`, `copy`, `del`) - Use Bash equivalents (`grep`, `find`, `which`, `cat`, `cp`, `rm`)
## ⚡ Core Search Tools ## ⚡ Core Search Tools
**rg (ripgrep)**: Fast content search with regex support **rg (ripgrep)**: Fast content search with regex support
@@ -18,6 +24,7 @@ type: search-guideline
- **Use find for files** - Locate files/directories by name - **Use find for files** - Locate files/directories by name
- **Use grep sparingly** - Only when rg unavailable - **Use grep sparingly** - Only when rg unavailable
- **Use get_modules_by_depth.sh first** - MANDATORY for program architecture analysis before planning - **Use get_modules_by_depth.sh first** - MANDATORY for program architecture analysis before planning
- **Always use Bash commands** - NEVER use Windows cmd/PowerShell commands
### Quick Command Reference ### Quick Command Reference
```bash ```bash

View File

@@ -49,7 +49,8 @@ All task files use this simplified 5-field schema (aligned with workflow-archite
}, },
"target_files": [ "target_files": [
"src/auth/login.ts:handleLogin:75-120", "src/auth/login.ts:handleLogin:75-120",
"src/middleware/auth.ts:validateToken" "src/middleware/auth.ts:validateToken",
"src/auth/PasswordReset.ts"
] ]
} }
} }
@@ -81,7 +82,7 @@ All task files use this simplified 5-field schema (aligned with workflow-archite
**Components**: **Components**:
- **pre_analysis**: Array of sequential process steps - **pre_analysis**: Array of sequential process steps
- **implementation_approach**: Task execution strategy - **implementation_approach**: Task execution strategy
- **target_files**: Specific files to modify in "file:function:lines" format - **target_files**: Files to modify/create - existing files in `file:function:lines` format, new files as `file` only
**Step Structure**: **Step Structure**:
```json ```json

View File

@@ -175,7 +175,8 @@ All task files use this unified 5-field schema with optional artifacts enhanceme
}, },
"target_files": [ "target_files": [
"src/auth/login.ts:handleLogin:75-120", "src/auth/login.ts:handleLogin:75-120",
"src/middleware/auth.ts:validateToken" "src/middleware/auth.ts:validateToken",
"src/auth/PasswordReset.ts"
] ]
} }
} }
@@ -219,7 +220,7 @@ The **flow_control** field manages task execution with two main components:
- **task_description**: Comprehensive implementation description - **task_description**: Comprehensive implementation description
- **modification_points**: Specific code modification targets - **modification_points**: Specific code modification targets
- **logic_flow**: Business logic execution sequence - **logic_flow**: Business logic execution sequence
- **target_files**: Target file list in `file:function:lines` format - **target_files**: Target file list - existing files in `file:function:lines` format, new files as `file` only
#### Tool Reference #### Tool Reference
**Command Types Available**: **Command Types Available**: