Files
claude-task-master/tasks/task_027.txt
Eyal Toledano 8e3991361e Fix: Ensure consistent handling of kebab-case flags in CLI
- Enhanced the  function in ℹ️ Initialized Perplexity client with OpenAI compatibility layer
  _____         _      __  __           _
 |_   _|_ _ ___| | __ |  \/  | __ _ ___| |_ ___ _ __
   | |/ _` / __| |/ / | |\/| |/ _` / __| __/ _ \ '__|
   | | (_| \__ \   <  | |  | | (_| \__ \ ||  __/ |
   |_|\__,_|___/_|\_\ |_|  |_|\__,_|___/\__\___|_|

by https://x.com/eyaltoledano
╭────────────────────────────────────────────╮
│                                            │
│   Version: 0.9.24   Project: Task Master   │
│                                            │
╰────────────────────────────────────────────╯

╭─────────────────────╮
│                     │
│   Task Master CLI   │
│                     │
╰─────────────────────╯

╭───────────────────╮
│  Task Generation  │
╰───────────────────╯
    parse-prd                 --input=<file.txt> [--tasks=10]          Generate tasks from a PRD document
    generate                                                           Create individual task files from tasks…

╭───────────────────╮
│  Task Management  │
╰───────────────────╯
    list                      [--status=<status>] [--with-subtas…      List all tasks with their status
    set-status                --id=<id> --status=<status>              Update task status (done, pending, etc.)
    update                    --from=<id> --prompt="<context>"         Update tasks based on new requirements
    add-task                  --prompt="<text>" [--dependencies=…      Add a new task using AI
    add-dependency            --id=<id> --depends-on=<id>              Add a dependency to a task
    remove-dependency         --id=<id> --depends-on=<id>              Remove a dependency from a task

╭──────────────────────────╮
│  Task Analysis & Detail  │
╰──────────────────────────╯
    analyze-complexity        [--research] [--threshold=5]             Analyze tasks and generate expansion re…
    complexity-report         [--file=<path>]                          Display the complexity analysis report
    expand                    --id=<id> [--num=5] [--research] […      Break down tasks into detailed subtasks
    expand --all              [--force] [--research]                   Expand all pending tasks with subtasks
    clear-subtasks            --id=<id>                                Remove subtasks from specified tasks

╭─────────────────────────────╮
│  Task Navigation & Viewing  │
╰─────────────────────────────╯
    next                                                               Show the next task to work on based on …
    show                      <id>                                     Display detailed information about a sp…

╭─────────────────────────╮
│  Dependency Management  │
╰─────────────────────────╯
    validate-dependenci…                                               Identify invalid dependencies without f…
    fix-dependencies                                                   Fix invalid dependencies automatically

╭─────────────────────────╮
│  Environment Variables  │
╰─────────────────────────╯
    ANTHROPIC_API_KEY              Your Anthropic API key                             Required
    MODEL                          Claude model to use                                Default: claude-3-7-sonn…
    MAX_TOKENS                     Maximum tokens for responses                       Default: 4000
    TEMPERATURE                    Temperature for model responses                    Default: 0.7
    PERPLEXITY_API_KEY             Perplexity API key for research                    Optional
    PERPLEXITY_MODEL               Perplexity model to use                            Default: sonar-pro
    DEBUG                          Enable debug logging                               Default: false
    LOG_LEVEL                      Console output level (debug,info,warn,error)       Default: info
    DEFAULT_SUBTASKS               Default number of subtasks to generate             Default: 3
    DEFAULT_PRIORITY               Default task priority                              Default: medium
    PROJECT_NAME                   Project name displayed in UI                       Default: Task Master

  _____         _      __  __           _
 |_   _|_ _ ___| | __ |  \/  | __ _ ___| |_ ___ _ __
   | |/ _` / __| |/ / | |\/| |/ _` / __| __/ _ \ '__|
   | | (_| \__ \   <  | |  | | (_| \__ \ ||  __/ |
   |_|\__,_|___/_|\_\ |_|  |_|\__,_|___/\__\___|_|

by https://x.com/eyaltoledano
╭────────────────────────────────────────────╮
│                                            │
│   Version: 0.9.24   Project: Task Master   │
│                                            │
╰────────────────────────────────────────────╯

╭─────────────────────╮
│                     │
│   Task Master CLI   │
│                     │
╰─────────────────────╯

╭───────────────────╮
│  Task Generation  │
╰───────────────────╯
    parse-prd                 --input=<file.txt> [--tasks=10]          Generate tasks from a PRD document
    generate                                                           Create individual task files from tasks…

╭───────────────────╮
│  Task Management  │
╰───────────────────╯
    list                      [--status=<status>] [--with-subtas…      List all tasks with their status
    set-status                --id=<id> --status=<status>              Update task status (done, pending, etc.)
    update                    --from=<id> --prompt="<context>"         Update tasks based on new requirements
    add-task                  --prompt="<text>" [--dependencies=…      Add a new task using AI
    add-dependency            --id=<id> --depends-on=<id>              Add a dependency to a task
    remove-dependency         --id=<id> --depends-on=<id>              Remove a dependency from a task

╭──────────────────────────╮
│  Task Analysis & Detail  │
╰──────────────────────────╯
    analyze-complexity        [--research] [--threshold=5]             Analyze tasks and generate expansion re…
    complexity-report         [--file=<path>]                          Display the complexity analysis report
    expand                    --id=<id> [--num=5] [--research] […      Break down tasks into detailed subtasks
    expand --all              [--force] [--research]                   Expand all pending tasks with subtasks
    clear-subtasks            --id=<id>                                Remove subtasks from specified tasks

╭─────────────────────────────╮
│  Task Navigation & Viewing  │
╰─────────────────────────────╯
    next                                                               Show the next task to work on based on …
    show                      <id>                                     Display detailed information about a sp…

╭─────────────────────────╮
│  Dependency Management  │
╰─────────────────────────╯
    validate-dependenci…                                               Identify invalid dependencies without f…
    fix-dependencies                                                   Fix invalid dependencies automatically

╭─────────────────────────╮
│  Environment Variables  │
╰─────────────────────────╯
    ANTHROPIC_API_KEY              Your Anthropic API key                             Required
    MODEL                          Claude model to use                                Default: claude-3-7-sonn…
    MAX_TOKENS                     Maximum tokens for responses                       Default: 4000
    TEMPERATURE                    Temperature for model responses                    Default: 0.7
    PERPLEXITY_API_KEY             Perplexity API key for research                    Optional
    PERPLEXITY_MODEL               Perplexity model to use                            Default: sonar-pro
    DEBUG                          Enable debug logging                               Default: false
    LOG_LEVEL                      Console output level (debug,info,warn,error)       Default: info
    DEFAULT_SUBTASKS               Default number of subtasks to generate             Default: 3
    DEFAULT_PRIORITY               Default task priority                              Default: medium
    PROJECT_NAME                   Project name displayed in UI                       Default: Task Master       to correctly handle kebab-case flags by:
  - Converting camelCase options back to kebab-case for command line arguments.
  - Checking the original CLI arguments to determine the format used by the user.
  - Preserving the original flag format when passing it to the underlying script.
- Special handling for  and  flags to ensure they are correctly interpreted.
- Updated boolean flag handling to correctly manage negated options and preserve user-specified formats.
- Marked task 022 as done and updated the status of its sub-tasks in .
- Added tasks 26, 27 and 28 for context improvements related to task generation

This commit ensures that all kebab-case flags are handled consistently across the CLI, improving user experience and command reliability.
2025-03-24 22:49:16 -04:00

96 lines
4.4 KiB
Plaintext

# Task ID: 27
# Title: Implement Context Enhancements for AI Operations
# Status: pending
# Dependencies: 26
# Priority: high
# Description: Enhance the basic context integration with more sophisticated code context extraction, task history awareness, and PRD integration to provide richer context for AI operations.
# Details:
Building upon the foundational context implementation in Task #26, implement Phase 2 context enhancements:
1. Add Code Context Extraction Feature:
- Create a `--context-code <pattern>` option for all AI commands
- Implement glob-based file matching to extract code from specified patterns
- Create intelligent code parsing to extract most relevant sections (function signatures, classes, exports)
- Implement token usage optimization by selecting key structural elements
- Add formatting for code context with proper file paths and syntax indicators
2. Implement Task History Context:
- Add a `--context-tasks <ids>` option for AI commands
- Support comma-separated task IDs and a "similar" option to find related tasks
- Create functions to extract context from specified tasks or find similar tasks
- Implement formatting for task context with clear section markers
- Add validation and error handling for non-existent task IDs
3. Add PRD Context Integration:
- Create a `--context-prd <file>` option for AI commands
- Implement PRD text extraction and intelligent summarization
- Add formatting for PRD context with appropriate section markers
- Integrate with the existing PRD parsing functionality from Task #6
4. Improve Context Formatting and Integration:
- Create a standardized context formatting system
- Implement type-based sectioning for different context sources
- Add token estimation for different context types to manage total prompt size
- Enhance prompt templates to better integrate various context types
These enhancements will provide significantly richer context for AI operations, resulting in more accurate and relevant outputs while remaining practical to implement.
# Test Strategy:
Testing should verify the enhanced context functionality:
1. Code Context Testing:
- Verify pattern matching works for different glob patterns
- Test code extraction with various file types and sizes
- Verify intelligent parsing correctly identifies important code elements
- Test token optimization by comparing full file extraction vs. optimized extraction
- Check code formatting in prompts sent to Claude API
2. Task History Testing:
- Test with different combinations of task IDs
- Verify "similar" option correctly identifies relevant tasks
- Test with non-existent task IDs to ensure proper error handling
- Verify formatting and integration in prompts
3. PRD Context Testing:
- Test with various PRD files of different sizes
- Verify summarization functions correctly when PRDs are too large
- Test integration with prompts and formatting
4. Performance Testing:
- Measure the impact of context enrichment on command execution time
- Test with large code bases to ensure reasonable performance
- Verify token counting and optimization functions work as expected
5. Quality Assessment:
- Compare AI outputs with Phase 1 vs. Phase 2 context to measure improvements
- Create test cases that specifically benefit from code context
- Create test cases that benefit from task history context
Focus testing on practical use cases that demonstrate clear improvements in AI-generated outputs.
# Subtasks:
## 1. Implement Code Context Extraction Feature [pending]
### Dependencies: None
### Description: Create a --context-code <pattern> option for AI commands and implement glob-based file matching to extract relevant code sections
### Details:
## 2. Implement Task History Context Integration [pending]
### Dependencies: None
### Description: Add a --context-tasks option for AI commands that supports finding and extracting context from specified or similar tasks
### Details:
## 3. Add PRD Context Integration [pending]
### Dependencies: None
### Description: Implement a --context-prd option for AI commands that extracts and formats content from PRD files
### Details:
## 4. Create Standardized Context Formatting System [pending]
### Dependencies: None
### Description: Implement a consistent formatting system for different context types with section markers and token optimization
### Details: