- Convert 40 JS files to TypeScript (CLI, tools, core, MCP server) - Add Zod for runtime parameter validation - Add type definitions in src/types/ - Keep src/templates/ as JavaScript (dashboard frontend) - Update bin entries to use dist/ - Add tsconfig.json with strict mode - Add backward-compatible exports for tests - All 39 tests passing Breaking changes: None (backward compatible) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
24 KiB
Intelligent Tools Selection Strategy
Table of Contents
Quick Start
Universal Prompt Template
All CLI tools (Gemini, Qwen, Codex) share this template structure:
PURPOSE: [objective + why + success criteria]
TASK: • [step 1] • [step 2] • [step 3]
MODE: [analysis|write|auto]
CONTEXT: @**/* | Memory: [session/tech/module context]
EXPECTED: [format + quality + structure]
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/pattern.txt) | [constraints] | MODE=[permission level]
Tool Selection
- Analysis/Documentation → Gemini (preferred) or Qwen (fallback)
- Implementation/Testing → Codex
CCW Unified CLI Syntax
# Basic execution
ccw cli exec "<prompt>" --tool <gemini|qwen|codex> --mode <analysis|write|auto>
# With working directory
ccw cli exec "<prompt>" --tool gemini --cd <path>
# With additional directories
ccw cli exec "<prompt>" --tool gemini --includeDirs ../shared,../types
# Full example
ccw cli exec "<prompt>" --tool codex --mode auto --cd ./project --includeDirs ./lib
CLI Subcommands
| Command | Description |
|---|---|
ccw cli status |
Check CLI tools availability |
ccw cli exec "<prompt>" |
Execute a CLI tool |
ccw cli history |
Show execution history |
ccw cli detail <id> |
Show execution detail |
Model Selection
Available Models (override via --model):
- Gemini:
gemini-2.5-pro,gemini-2.5-flash - Qwen:
coder-model,vision-model - Codex:
gpt-5.1,gpt-5.1-codex,gpt-5.1-codex-mini
Best Practice: Omit --model for optimal auto-selection
Core Principles
- Use tools early and often - Tools are faster and more thorough
- When in doubt, use both - Parallel usage provides comprehensive coverage
- Default to tools - Use for most coding tasks, no matter how small
- Unified CLI - Always use
ccw cli execfor consistent parameter handling - Choose templates by need - See Template System for naming conventions and selection guide
- Write protection - Require EXPLICIT MODE=write or MODE=auto specification
Tool Specifications
MODE Options
analysis (default)
- Read-only operations, no file modifications
- Analysis output returned as text response
- Use for: code review, architecture analysis, pattern discovery
- CCW:
ccw cli exec "<prompt>" --mode analysis
write
- File creation/modification/deletion allowed
- Requires explicit
--mode writespecification - Use for: documentation generation, code creation, file modifications
- CCW:
ccw cli exec "<prompt>" --mode write
auto (Codex only)
- Full autonomous development operations
- Requires explicit
--mode autospecification - Use for: feature implementation, bug fixes, autonomous development
- CCW:
ccw cli exec "<prompt>" --tool codex --mode auto
Gemini & Qwen
Via CCW: ccw cli exec "<prompt>" --tool gemini or --tool qwen
Strengths: Large context window, pattern recognition
Best For: Analysis, documentation generation, code exploration, architecture review
Default MODE: analysis (read-only)
Priority: Prefer Gemini; use Qwen as fallback when Gemini unavailable
Error Handling:
- HTTP 429: May show error but still return results - check if results exist (results present = success, no results = retry/fallback to Qwen)
Codex
Via CCW: ccw cli exec "<prompt>" --tool codex --mode auto
Strengths: Autonomous development, mathematical reasoning
Best For: Implementation, testing, automation
Default MODE: No default, must be explicitly specified
Session Management (via native codex):
codex resume- Resume previous session (picker)codex resume --last- Resume most recent sessioncodex -i <image_file>- Attach image to prompt
CCW Unified Parameter Mapping
CCW automatically maps parameters to tool-specific syntax:
| CCW Parameter | Gemini/Qwen | Codex |
|---|---|---|
--cd <path> |
cd <path> && (prepend) |
-C <path> |
--includeDirs <dirs> |
--include-directories <dirs> |
--add-dir <dir> (per dir) |
--mode write |
--approval-mode yolo |
--skip-git-repo-check -s danger-full-access |
--mode auto |
N/A | --skip-git-repo-check -s danger-full-access |
--model <m> |
-m <m> |
-m <m> |
Command Templates
Universal Template Structure
Every command MUST follow this structure:
-
PURPOSE - Clear goal and intent
- State the high-level objective of this execution
- Explain why this task is needed
- Define success criteria
- Example: "Analyze authentication module to identify security vulnerabilities"
-
TASK - Specific execution task (use list format: • Task item 1 • Task item 2 • Task item 3)
- Break down PURPOSE into concrete, actionable steps
- Use bullet points (•) for multiple sub-tasks
- Order tasks by execution sequence
- Example: "• Review auth implementation patterns • Identify potential security risks • Document findings with recommendations"
-
MODE - Execution mode and permission level
analysis(default): Read-only operations, no file modificationswrite: File creation/modification/deletion allowed (requires explicit specification)auto: Full autonomous development operations (Codex only, requires explicit specification)- Example: "MODE: analysis" or "MODE: write"
-
CONTEXT - File references and memory context from previous sessions
- File Patterns: Use @ syntax for file references (default:
@**/*for all files)@**/*- All files in current directory tree@src/**/*.ts- TypeScript files in src directory@../shared/**/*- Files from sibling directory (requires--includeDirs)
- Memory Context: Reference previous session findings and context
- Related tasks:
Building on previous analysis from [session/commit] - Tech stack:
Using patterns from [tech-stack-name] documentation - Cross-reference:
Related to implementation in [module/file]
- Related tasks:
- Memory Sources: Include relevant memory sources
- Documentation:
CLAUDE.md, module-specific docs
- Documentation:
- Example: "CONTEXT: @src/auth/**/* @CLAUDE.md | Memory: Building on previous auth refactoring (commit abc123)"
- File Patterns: Use @ syntax for file references (default:
-
EXPECTED - Clear expected results
- Specify deliverable format (report, code, documentation, list)
- Define quality criteria
- State output structure requirements
- Example: "Comprehensive security report with categorized findings, risk levels, and actionable recommendations"
-
RULES - Template reference and constraints (include mode constraints: analysis=READ-ONLY | write=CREATE/MODIFY/DELETE | auto=FULL operations)
- Reference templates:
$(cat ~/.claude/workflows/cli-templates/prompts/[category]/[template].txt) - Specify constraints and boundaries
- Include mode-specific constraints:
analysis=READ-ONLY- No file modificationswrite=CREATE/MODIFY/DELETE- File operations allowedauto=FULL operations- Autonomous development
- Example: "$(cat ~/.claude/workflows/cli-templates/prompts/analysis/security.txt) | Focus on authentication flows only | analysis=READ-ONLY"
- Reference templates:
Standard Prompt Template
PURPOSE: [clear goal - state objective, why needed, success criteria]
TASK:
• [specific task - actionable step 1]
• [specific task - actionable step 2]
• [specific task - actionable step 3]
MODE: [analysis|write|auto]
CONTEXT: @**/* | Memory: [previous session findings, related implementations, tech stack patterns, workflow context]
EXPECTED: [deliverable format, quality criteria, output structure, testing requirements (if applicable)]
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/[category]/[0X-template-name].txt) | [additional constraints] | [MODE]=[READ-ONLY|CREATE/MODIFY/DELETE|FULL operations]
CCW CLI Execution
Use the Standard Prompt Template for all tools. CCW provides unified command syntax.
Basic Command Format
ccw cli exec "<Standard Prompt Template>" [options]
Common Options
| Option | Description | Default |
|---|---|---|
--tool <tool> |
CLI tool: gemini, qwen, codex | gemini |
--mode <mode> |
Mode: analysis, write, auto | analysis |
--model <model> |
Model override | auto-select |
--cd <path> |
Working directory | current dir |
--includeDirs <dirs> |
Additional directories (comma-separated) | none |
--timeout <ms> |
Timeout in milliseconds | 300000 |
--no-stream |
Disable streaming output | false |
Command Examples
# Analysis Mode (default, read-only) - Gemini
ccw cli exec "
PURPOSE: Analyze authentication with shared utilities context
TASK: Review auth implementation and its dependencies
MODE: analysis
CONTEXT: @**/* @../shared/**/*
EXPECTED: Complete analysis with cross-directory dependencies
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt) | analysis=READ-ONLY
" --tool gemini --cd src/auth --includeDirs ../shared,../types
# Write Mode - Gemini with file modifications
ccw cli exec "
PURPOSE: Generate documentation for API module
TASK: • Create API docs • Add usage examples • Update README
MODE: write
CONTEXT: @src/api/**/*
EXPECTED: Complete API documentation
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt) | write=CREATE/MODIFY/DELETE
" --tool gemini --mode write --cd src
# Auto Mode - Codex for implementation
ccw cli exec "
PURPOSE: Implement authentication module
TASK: • Create auth service • Add user validation • Setup JWT tokens
MODE: auto
CONTEXT: @**/* | Memory: Following security patterns from project standards
EXPECTED: Complete auth module with tests
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt) | auto=FULL operations
" --tool codex --mode auto --cd project
# Fallback to Qwen
ccw cli exec "
PURPOSE: Analyze code patterns
TASK: Review implementation patterns
MODE: analysis
CONTEXT: @**/*
EXPECTED: Pattern analysis report
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt) | analysis=READ-ONLY
" --tool qwen
Tool Fallback Strategy
# Primary: Gemini
ccw cli exec "<prompt>" --tool gemini
# Fallback: Qwen (if Gemini fails or unavailable)
ccw cli exec "<prompt>" --tool qwen
# Check tool availability
ccw cli status
Directory Context Configuration
CCW Directory Options:
--cd <path>: Set working directory for execution--includeDirs <dir1,dir2>: Include additional directories
Critical Directory Scope Rules
When using --cd to set working directory:
- @ references ONLY apply to that directory and subdirectories
@**/*= All files within working directory tree@*.ts= TypeScript files in working directory tree@src/**/*= Files within src subdirectory- CANNOT reference parent/sibling directories via @ alone
To reference files outside working directory (TWO-STEP REQUIREMENT):
- Add
--includeDirsparameter to make external directories ACCESSIBLE - Explicitly reference external files in CONTEXT field with @ patterns
- Both steps are MANDATORY
Example:
ccw cli exec "CONTEXT: @**/* @../shared/**/*" --tool gemini --cd src/auth --includeDirs ../shared
Rule: If CONTEXT contains @../dir/**/*, command MUST include --includeDirs ../dir
Multi-Directory Examples
# Single additional directory
ccw cli exec "<prompt>" --tool gemini --cd src/auth --includeDirs ../shared
# Multiple additional directories
ccw cli exec "<prompt>" --tool gemini --cd src/auth --includeDirs ../shared,../types,../utils
# With full prompt template
ccw cli exec "
PURPOSE: Analyze authentication with shared utilities context
TASK: Review auth implementation and its dependencies
MODE: analysis
CONTEXT: @**/* @../shared/**/* @../types/**/*
EXPECTED: Complete analysis with cross-directory dependencies
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt) | Focus on integration patterns | analysis=READ-ONLY
" --tool gemini --cd src/auth --includeDirs ../shared,../types
CONTEXT Field Configuration
CONTEXT field consists of: File Patterns + Memory Context
File Pattern Reference
Default: @**/* (all files - use as default for comprehensive context)
Common Patterns:
- Source files:
@src/**/* - TypeScript:
@*.ts @*.tsx - With docs:
@CLAUDE.md @**/*CLAUDE.md - Tests:
@src/**/*.test.*
Memory Context Integration
Purpose: Leverage previous session findings, related implementations, and established patterns to provide continuity
Format: CONTEXT: [file patterns] | Memory: [memory context]
Memory Sources:
-
Related Tasks - Cross-task context
- Previous refactoring, task extensions, conflict resolution
-
Tech Stack Patterns - Framework and library conventions
- React hooks patterns, TypeScript utilities, security guidelines
-
Cross-Module References - Inter-module dependencies
- Integration points, shared utilities, type dependencies
Memory Context Examples:
# Example 1: Building on related task
CONTEXT: @src/auth/**/* @CLAUDE.md | Memory: Building on previous auth refactoring (commit abc123), implementing refresh token mechanism following React hooks patterns
# Example 2: Cross-module integration
CONTEXT: @src/payment/**/* @src/shared/types/**/* | Memory: Integration with auth module from previous implementation, using shared error handling patterns from @shared/utils/errors.ts
Best Practices:
- Always include memory context when building on previous work
- Reference commits/tasks: Use commit hashes or task IDs for traceability
- Document dependencies with explicit file references
- Cross-reference implementations with file paths
- Use consistent format:
CONTEXT: [file patterns] | Memory: [memory context]
Complex Pattern Discovery
For complex file pattern requirements, use semantic discovery BEFORE CLI execution:
Tools:
rg (ripgrep)- Content-based file discovery with regexmcp__code-index__search_code_advanced- Semantic file search
Workflow: Discover → Extract precise paths → Build CONTEXT field
Example:
# Step 1: Discover files semantically
rg "export.*Component" --files-with-matches --type ts
mcp__code-index__search_code_advanced(pattern="interface.*Props", file_pattern="*.tsx")
# Step 2: Build precise CONTEXT with file patterns + memory
CONTEXT: @src/components/Auth.tsx @src/types/auth.d.ts @src/hooks/useAuth.ts | Memory: Previous refactoring identified type inconsistencies, following React hooks patterns
# Step 3: Execute CLI with precise references
ccw cli exec "
PURPOSE: Analyze authentication components for type safety improvements
TASK:
• Review auth component patterns and props interfaces
• Identify type inconsistencies in auth components
• Recommend improvements following React best practices
MODE: analysis
CONTEXT: @components/Auth.tsx @types/auth.d.ts @hooks/useAuth.ts | Memory: Previous refactoring identified type inconsistencies, following React hooks patterns, related implementation in @hooks/useAuth.ts (commit abc123)
EXPECTED: Comprehensive analysis report with type safety recommendations, code examples, and references to previous findings
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt) | Focus on type safety and component composition | analysis=READ-ONLY
" --tool gemini --cd src
RULES Field Configuration
Basic Format: RULES: $(cat ~/.claude/workflows/cli-templates/prompts/[category]/[template].txt) | [constraints]
Command Substitution Rules:
- Template reference only, never read: Use
$(cat ...)directly, do NOT read template content first - NEVER use escape characters:
\$,\",\'will break command substitution - In prompt context: Path needs NO quotes (tilde expands correctly)
- Correct:
RULES: $(cat ~/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt) - WRONG:
RULES: \$(cat ...)orRULES: $(cat \"...\") - Why: Shell executes
$(...)in subshell where path is safe
Examples:
- General template:
$(cat ~/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt) | Focus on authentication module - Multiple:
$(cat template1.txt) $(cat template2.txt) | Enterprise standards - No template:
Focus on security patterns, include dependency analysis
Template System
Base: `~/.claude/workflows/cli-templates/
Naming Convention:
00-*- Universal fallback templates (use when no specific template matches)01-*- Universal, high-frequency templates02-*- Common specialized templates03-*- Domain-specific, less frequent templates
Note: Number prefix indicates category and frequency, not required usage order. Choose based on task needs.
Universal Templates:
When no specific template matches your task requirements, use one of these universal templates based on the desired execution style:
-
Rigorous Style (
universal/00-universal-rigorous-style.txt)- Use for: Precision-critical tasks requiring systematic methodology
-
Creative Style (
universal/00-universal-creative-style.txt)- Use for: Exploratory tasks requiring innovative solutions
Selection Guide:
- Rigorous: When correctness, reliability, and compliance are paramount
- Creative: When innovation, flexibility, and elegant solutions are needed
- Specific template: When task matches predefined category (analysis, development, planning, etc.)
Task-Template Matrix:
| Task Type | Tool | Template |
|---|---|---|
| Universal Fallbacks | ||
| Precision-Critical Tasks | Gemini/Qwen/Codex | universal/00-universal-rigorous-style.txt |
| Exploratory/Innovative Tasks | Gemini/Qwen/Codex | universal/00-universal-creative-style.txt |
| Analysis Tasks | ||
| Execution Tracing | Gemini (Qwen fallback) | analysis/01-trace-code-execution.txt |
| Bug Diagnosis | Gemini (Qwen fallback) | analysis/01-diagnose-bug-root-cause.txt |
| Code Pattern Analysis | Gemini (Qwen fallback) | analysis/02-analyze-code-patterns.txt |
| Document Analysis | Gemini (Qwen fallback) | analysis/02-analyze-technical-document.txt |
| Architecture Review | Gemini (Qwen fallback) | analysis/02-review-architecture.txt |
| Code Review | Gemini (Qwen fallback) | analysis/02-review-code-quality.txt |
| Performance Analysis | Gemini (Qwen fallback) | analysis/03-analyze-performance.txt |
| Security Assessment | Gemini (Qwen fallback) | analysis/03-assess-security-risks.txt |
| Quality Standards | Gemini (Qwen fallback) | analysis/03-review-quality-standards.txt |
| Planning Tasks | ||
| Architecture Planning | Gemini (Qwen fallback) | planning/01-plan-architecture-design.txt |
| Task Breakdown | Gemini (Qwen fallback) | planning/02-breakdown-task-steps.txt |
| Component Design | Gemini (Qwen fallback) | planning/02-design-component-spec.txt |
| Concept Evaluation | Gemini (Qwen fallback) | planning/03-evaluate-concept-feasibility.txt |
| Migration Planning | Gemini (Qwen fallback) | planning/03-plan-migration-strategy.txt |
| Development Tasks | ||
| Feature Development | Codex | development/02-implement-feature.txt |
| Refactoring | Codex | development/02-refactor-codebase.txt |
| Test Generation | Codex | development/02-generate-tests.txt |
| Component Implementation | Codex | development/02-implement-component-ui.txt |
| Debugging | Codex | development/03-debug-runtime-issues.txt |
Execution Configuration
Dynamic Timeout Allocation
Minimum timeout: 5 minutes (300000ms) - Never set below this threshold.
Timeout Ranges:
- Simple (analysis, search): 5-10min (300000-600000ms)
- Medium (refactoring, documentation): 10-20min (600000-1200000ms)
- Complex (implementation, migration): 20-60min (1200000-3600000ms)
- Heavy (large codebase, multi-file): 60-120min (3600000-7200000ms)
Codex Multiplier: 3x of allocated time (minimum 15min / 900000ms)
CCW Timeout Usage:
ccw cli exec "<prompt>" --tool gemini --timeout 600000 # 10 minutes
ccw cli exec "<prompt>" --tool codex --timeout 1800000 # 30 minutes
Auto-detection: Analyze PURPOSE and TASK fields to determine timeout
Permission Framework
Single-Use Explicit Authorization: Each CLI execution requires explicit user command instruction - one command authorizes ONE execution only. Analysis does NOT authorize write operations. Previous authorization does NOT carry over. Each operation needs NEW explicit user directive.
Mode Hierarchy:
- analysis (default): Read-only, safe for auto-execution
- write: Requires explicit
--mode writespecification - auto: Requires explicit
--mode autospecification - Exception: User provides clear instructions like "modify", "create", "implement"
CCW Mode Permissions:
# Analysis (default, no special permissions)
ccw cli exec "<prompt>" --tool gemini
# Write mode (enables file modifications)
ccw cli exec "<prompt>" --tool gemini --mode write
# Auto mode (full autonomous operations, Codex only)
ccw cli exec "<prompt>" --tool codex --mode auto
Default: All tools default to analysis/read-only mode
Best Practices
Workflow Principles
- Use CCW unified interface -
ccw cli execfor all tool executions - Start with templates - Use predefined templates for consistency
- Be specific - Clear PURPOSE, TASK, and EXPECTED fields with detailed descriptions
- Include constraints - File patterns, scope, requirements in RULES
- Leverage memory context - ALWAYS include Memory field when building on previous work
- Cross-reference tasks with file paths and commit hashes
- Document dependencies with explicit file references
- Reference related implementations and patterns
- Discover patterns first - Use rg/MCP for complex file discovery before CLI execution
- Build precise CONTEXT - Convert discovery to explicit file references with memory
- Format:
CONTEXT: [file patterns] | Memory: [memory context] - File patterns:
@**/*(default) or specific patterns - Memory: Previous sessions, tech stack patterns, cross-references
- Format:
- Document context - Always reference CLAUDE.md and relevant documentation
- Default to full context - Use
@**/*unless specific files needed - No escape characters - NEVER use
\$,\",\'in CLI commands
Context Optimization Strategy
Directory Navigation: Use --cd [directory] to focus on specific directory
When to set working directory:
- Specific directory mentioned → Use
--cd directory - Focused analysis needed → Target specific directory
- Multi-directory scope → Use
--cd+--includeDirs
When to use --includeDirs:
- Working in subdirectory but need parent/sibling context
- Cross-directory dependency analysis required
- Multiple related modules need simultaneous access
- Key benefit: Excludes unrelated directories, reduces token usage
Workflow Integration
When planning any coding task, ALWAYS integrate CLI tools via CCW:
- Understanding Phase:
ccw cli exec "<prompt>" --tool gemini - Architecture Phase:
ccw cli exec "<prompt>" --tool gemini - Implementation Phase:
ccw cli exec "<prompt>" --tool codex --mode auto - Quality Phase:
ccw cli exec "<prompt>" --tool codex --mode write
Planning Checklist
For every development task:
- Purpose defined - Clear goal and intent
- Mode selected - Execution mode (
--mode analysis|write|auto) - Context gathered - File references and session memory documented (default
@**/*) - Directory navigation - Determine if
--cdor--cd + --includeDirsneeded - Tool selected -
--tool gemini|qwen|codexbased on task type - Template applied - Use Standard Prompt Template
- Constraints specified - File patterns, scope, requirements
- Timeout configured -
--timeoutbased on task complexity