diff --git a/.claude/agents/action-planning-agent.md b/.claude/agents/action-planning-agent.md index 1eaf938c..06e47572 100644 --- a/.claude/agents/action-planning-agent.md +++ b/.claude/agents/action-planning-agent.md @@ -228,7 +228,7 @@ Generate individual `.task/IMPL-*.json` files with: "modification_points": ["Apply requirements"], "logic_flow": ["Load spec", "Analyze", "Implement", "Validate"] }, - "target_files": ["file:function:lines"] + "target_files": ["file:function:lines", "path/to/NewFile.ts"] } } ``` diff --git a/.claude/commands/workflow/execute.md b/.claude/commands/workflow/execute.md index 4eafcc45..de76f9d6 100644 --- a/.claude/commands/workflow/execute.md +++ b/.claude/commands/workflow/execute.md @@ -356,8 +356,8 @@ Task(subagent_type="{meta.agent}", **WORKFLOW COMPLETION CHECK**: After updating task status, check if workflow is complete: - total_tasks=\$(ls .workflow/*/\.task/*.json | wc -l) - completed_tasks=\$(ls .workflow/*/\.summaries/*.md 2>/dev/null | wc -l) + total_tasks=\$(find .workflow/*/\.task/ -name "*.json" -type f 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 SlashCommand(command=\"/workflow:session:complete\") fi"), @@ -433,7 +433,7 @@ Task(subagent_type="{meta.agent}", "task_description": "Implement following consolidated synthesis specification...", "modification_points": ["Apply synthesis specification requirements..."] }, - "target_files": ["file:function:lines"] + "target_files": ["file:function:lines", "path/to/NewFile.ts"] } } ``` diff --git a/.claude/commands/workflow/review.md b/.claude/commands/workflow/review.md index 2c79bc23..a58c5fa0 100644 --- a/.claude/commands/workflow/review.md +++ b/.claude/commands/workflow/review.md @@ -55,7 +55,7 @@ if [ ! -d ".workflow/${sessionId}" ]; then fi # 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" exit 1 fi diff --git a/.claude/commands/workflow/session/complete.md b/.claude/commands/workflow/session/complete.md index dbd1652b..e864960e 100644 --- a/.claude/commands/workflow/session/complete.md +++ b/.claude/commands/workflow/session/complete.md @@ -44,8 +44,8 @@ mv temp.json .workflow/WFS-session/workflow-session.json ### Step 5: Count Final Statistics ```bash -ls .workflow/WFS-session/.task/*.json 2>/dev/null | wc -l -ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l +find .workflow/WFS-session/.task/ -name "*.json" -type f 2>/dev/null | wc -l +find .workflow/WFS-session/.summaries/ -name "*.md" -type f 2>/dev/null | wc -l ``` ### Step 6: Remove Active Marker @@ -56,12 +56,12 @@ rm .workflow/.active-WFS-session-name ## Simple Bash Commands ### 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-//'` - **Update status**: `jq '.status = "completed"' session.json > temp.json` - **Add timestamp**: `jq '.completed_at = "'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"'` -- **Count tasks**: `ls .task/*.json | wc -l` -- **Count completed**: `ls .summaries/*.md | wc -l` +- **Count tasks**: `find .task/ -name "*.json" -type f | wc -l` +- **Count completed**: `find .summaries/ -name "*.md" -type f 2>/dev/null | wc -l` - **Remove marker**: `rm .workflow/.active-session` ### Completion Result @@ -92,11 +92,11 @@ Session Completion Summary: ### Error Handling ```bash # 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 -task_count=$(ls .task/*.json | wc -l) -summary_count=$(ls .summaries/*.md 2>/dev/null | wc -l) +task_count=$(find .task/ -name "*.json" -type f | 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" ``` diff --git a/.claude/commands/workflow/session/list.md b/.claude/commands/workflow/session/list.md index 77a5aabe..4d8f7529 100644 --- a/.claude/commands/workflow/session/list.md +++ b/.claude/commands/workflow/session/list.md @@ -35,8 +35,8 @@ jq -r '.session_id, .status, .project' .workflow/WFS-session/workflow-session.js ### Step 4: Count Task Progress ```bash -ls .workflow/WFS-session/.task/*.json 2>/dev/null | wc -l -ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l +find .workflow/WFS-session/.task/ -name "*.json" -type f 2>/dev/null | wc -l +find .workflow/WFS-session/.summaries/ -name "*.md" -type f 2>/dev/null | wc -l ``` ### Step 5: Get Creation Time @@ -47,11 +47,11 @@ jq -r '.created_at // "unknown"' .workflow/WFS-session/workflow-session.json ## Simple Bash Commands ### Basic Operations -- **List sessions**: `ls .workflow/WFS-*` -- **Find active**: `ls .workflow/.active-*` +- **List sessions**: `find .workflow/ -maxdepth 1 -type d -name "WFS-*"` +- **Find active**: `find .workflow/ -name ".active-*" -type f` - **Read session data**: `jq -r '.session_id, .status' session.json` -- **Count tasks**: `ls .task/*.json | wc -l` -- **Count completed**: `ls .summaries/*.md | wc -l` +- **Count tasks**: `find .task/ -name "*.json" -type f | wc -l` +- **Count completed**: `find .summaries/ -name "*.md" -type f 2>/dev/null | wc -l` - **Get timestamp**: `jq -r '.created_at' session.json` ## Simple Output Format diff --git a/.claude/commands/workflow/status.md b/.claude/commands/workflow/status.md index 05d2202e..7eb4703b 100644 --- a/.claude/commands/workflow/status.md +++ b/.claude/commands/workflow/status.md @@ -25,7 +25,7 @@ Generates on-demand views from JSON task data. No synchronization needed - all v ### Step 1: Find Active Session ```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 @@ -35,7 +35,7 @@ cat .workflow/WFS-session/workflow-session.json ### Step 3: Scan Task Files ```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 @@ -45,8 +45,8 @@ cat .workflow/WFS-session/.task/impl-1.json | jq -r '.status' ### Step 5: Count Task Progress ```bash -ls .workflow/WFS-session/.task/*.json | wc -l -ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l +find .workflow/WFS-session/.task/ -name "*.json" -type f | wc -l +find .workflow/WFS-session/.summaries/ -name "*.md" -type f 2>/dev/null | wc -l ``` ### Step 6: Display Overview @@ -66,11 +66,11 @@ ls .workflow/WFS-session/.summaries/*.md 2>/dev/null | wc -l ## Simple Bash Commands ### 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` -- **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'` -- **Count completed**: `ls .summaries/*.md | wc -l` +- **Count completed**: `find .summaries/ -name "*.md" -type f | wc -l` ### Task Status Check - **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 # Check summaries match -ls .task/*.json | wc -l -ls .summaries/*.md | wc -l +find .task/ -name "*.json" -type f | wc -l +find .summaries/ -name "*.md" -type f 2>/dev/null | wc -l ``` ## Simple Output Format diff --git a/.claude/commands/workflow/tools/concept-enhanced.md b/.claude/commands/workflow/tools/concept-enhanced.md index bd596078..5312b241 100644 --- a/.claude/commands/workflow/tools/concept-enhanced.md +++ b/.claude/commands/workflow/tools/concept-enhanced.md @@ -141,6 +141,9 @@ Advanced solution design and feasibility analysis engine with parallel CLI execu RULES: - Focus on SOLUTION IMPROVEMENTS and KEY DESIGN DECISIONS, NOT task planning - 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 generate any code snippets or implementation details - **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: - Focus on TECHNICAL FEASIBILITY and RISK ASSESSMENT, NOT implementation planning - 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 generate any code snippets or implementation details - **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} - **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 - **Technical Complexity**: {complexity_rating_and_analysis} - **Performance Impact**: {expected_performance_characteristics} diff --git a/.claude/commands/workflow/tools/task-generate-agent.md b/.claude/commands/workflow/tools/task-generate-agent.md index fc204287..e70fb3f8 100644 --- a/.claude/commands/workflow/tools/task-generate-agent.md +++ b/.claude/commands/workflow/tools/task-generate-agent.md @@ -212,7 +212,7 @@ Task( "Validate against acceptance criteria" ] }, - "target_files": ["file:function:lines"] + "target_files": ["file:function:lines", "path/to/NewFile.ts"] } } \`\`\` diff --git a/.claude/commands/workflow/tools/task-generate.md b/.claude/commands/workflow/tools/task-generate.md index f70343c5..563148ca 100644 --- a/.claude/commands/workflow/tools/task-generate.md +++ b/.claude/commands/workflow/tools/task-generate.md @@ -142,12 +142,12 @@ Generate task JSON files and IMPL_PLAN.md from analysis results with automatic a }, { "step": "analyze_task_patterns", - "action": "Analyze existing code patterns", + "action": "Analyze existing code patterns and identify modification targets", "commands": [ "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" } ], @@ -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 2. Detect brainstorming artifacts with priority scoring 3. Generate task context (requirements, focus_paths, acceptance) -4. Build flow_control with artifact loading steps -5. Create individual task JSON files in `.task/` +4. **Determine modification targets**: Extract specific code locations from analysis +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 diff --git a/.claude/workflows/context-search-strategy.md b/.claude/workflows/context-search-strategy.md index bd7a4cfa..13fe4a50 100644 --- a/.claude/workflows/context-search-strategy.md +++ b/.claude/workflows/context-search-strategy.md @@ -6,6 +6,12 @@ type: search-guideline # 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 **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 grep sparingly** - Only when rg unavailable - **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 ```bash diff --git a/.claude/workflows/task-core.md b/.claude/workflows/task-core.md index 00eb9abe..c497e95f 100644 --- a/.claude/workflows/task-core.md +++ b/.claude/workflows/task-core.md @@ -49,7 +49,8 @@ All task files use this simplified 5-field schema (aligned with workflow-archite }, "target_files": [ "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**: - **pre_analysis**: Array of sequential process steps - **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**: ```json diff --git a/.claude/workflows/workflow-architecture.md b/.claude/workflows/workflow-architecture.md index 0e873456..8802a7b3 100644 --- a/.claude/workflows/workflow-architecture.md +++ b/.claude/workflows/workflow-architecture.md @@ -175,7 +175,8 @@ All task files use this unified 5-field schema with optional artifacts enhanceme }, "target_files": [ "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 - **modification_points**: Specific code modification targets - **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 **Command Types Available**: