# epic-tech-context Workflow Rule

This rule defines the epic-tech-context workflow.

## Workflow Description

Generate a comprehensive Technical Specification from PRD and Architecture with acceptance criteria and traceability mapping

## Workflow Definition

name: epic-tech-context
description: "Generate a comprehensive Technical Specification from PRD and Architecture with acceptance criteria and traceability mapping"
author: "BMAD BMM"

# Critical variables
config_source: "{project-root}/.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
sprint_artifacts: "{config_source}:sprint_artifacts"
sprint_status: "{sprint_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"

# Smart input file references - handles both whole docs and sharded docs
# Priority: Whole document first, then sharded version
# Strategy: SELECTIVE LOAD - only load the specific epic needed (epic_num from context)
input_file_patterns:
  prd:
    description: "Product requirements (optional)"
    whole: "{output_folder}/*prd*.md"
    sharded: "{output_folder}/*prd*/*.md"
    load_strategy: "FULL_LOAD"
  gdd:
    description: "Game Design Document (for game projects)"
    whole: "{output_folder}/*gdd*.md"
    sharded: "{output_folder}/*gdd*/*.md"
    load_strategy: "FULL_LOAD"
  architecture:
    description: "System architecture and decisions"
    whole: "{output_folder}/*architecture*.md"
    sharded: "{output_folder}/*architecture*/*.md"
    load_strategy: "FULL_LOAD"
  ux_design:
    description: "UX design specification (if UI)"
    whole: "{output_folder}/*ux*.md"
    sharded: "{output_folder}/*ux*/*.md"
    load_strategy: "FULL_LOAD"
  epics:
    description: "Specific epic for tech spec generation"
    whole: "{output_folder}/*epic*.md"
    sharded_index: "{output_folder}/*epic*/index.md"
    sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md"
    load_strategy: "SELECTIVE_LOAD"
  document_project:
    description: "Brownfield project documentation (optional)"
    sharded: "{output_folder}/index.md"
    load_strategy: "INDEX_GUIDED"

# Workflow components
installed_path: "{project-root}/.bmad/bmm/workflows/4-implementation/epic-tech-context"
template: "{installed_path}/template.md"
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"

# Output configuration
default_output_file: "{sprint_artifacts}/tech-spec-epic-{{epic_id}}.md"
standalone: true

## Usage

Reference this workflow with `@workflow-epic-tech-context` to execute the guided workflow.

## Module

Part of the BMAD BMM module.
