name: dev-story-tdd description: "Execute a story using Test-Driven Development with RED-GREEN-REFACTOR methodology, automatically maintaining full RVTM traceability between requirements, tests, and implementation" author: "BMad" # Critical variables from config config_source: "/home/bj/python/BMAD-METHOD/bmad/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components installed_path: "/home/bj/python/BMAD-METHOD/bmad/bmm/workflows/4-implementation/dev-story-tdd" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" # This is an action workflow (no output template document) template: false # Variables (can be provided by caller) variables: story_path: "" run_tests_command: "auto" # 'auto' = infer from repo, or override with explicit command strict: true # if true, halt on validation failures story_dir: "{config_source}:dev_story_location" # Directory containing story markdown files story_selection_limit: 10 run_until_complete: true # Continue through all tasks without pausing except on HALT conditions force_yolo: true # Hint executor to activate #yolo: skip optional prompts and elicitation verify_red_state: true # Verify tests fail before implementation refactor_required: true # Require explicit refactor step # Recommended inputs recommended_inputs: - story_markdown: "Path to the story markdown file (Tasks/Subtasks, Acceptance Criteria present)" - story_context_json: "Story Context JSON with acceptance criteria and test strategy" # Required tools (conceptual; executor should provide equivalents) required_tools: - read_file - write_file - search_repo - run_tests - list_files - file_info tags: - development - tdd - test-driven-development - red-green-refactor - atdd - story-execution - tests - validation - rvtm - traceability - bmad-v6 execution_hints: interactive: false # Minimize prompts; intended to run to completion autonomous: true # Proceed without user input unless blocked iterative: true test_first: true # CRITICAL: Tests before implementation