LogoSkills

ZenHub Conventions - Project-Specific Configuration

repository:

# ZenHub Conventions - Project-Specific Configuration
# Auto-generated by Load ZenHub Context, or manually created from this template.
# Path: {project-root}/bmad/zenhub-conventions.yaml
#
# NOTE: cc-dev ' s /cc-dev:zenhub:init-workspace generates an analogous cache at
# `.claude/config/bmad/zenhub-conventions.yaml` (different path, different schema).
# The two are independent caches, not shared โ€” if both plugins are used in the
# same repo, each re-queries and re-generates its own file.
#
# This file caches ZenHub workspace IDs to reduce MCP calls and enable
# offline/MCP-unavailable workflows. Values are populated automatically
# when Load ZenHub Context runs with MCP available.

# GitHub Repository
repository:
  id:  " "                      # GitHub GraphQL node ID (e.g.,  " R_kgDO... " )
  owner:  " {{REPO_OWNER}} "    # GitHub org or user
  name:  " {{REPO_NAME}} "      # GitHub repo name

# ZenHub Organization
organization:
  id:  " "                      # ZenHub org ID (for setDatesForIssue)

# ZenHub Issue Types (from getIssueTypes)
issue_types:
  initiative:  " "              # Issue type ID for Initiative (Level 1, optional โ€” wraps Projects)
  project:  " "                 # Issue type ID for Project (Level 2, optional โ€” wraps Epics)
  epic:  " "                    # Issue type ID for Epic (Level 3)
  feature:  " "                 # Issue type ID for Feature (Level 4, used for Stories)
  task:  " "                    # Issue type ID for Task (Level 4, optional)
  bug:  " "                     # Issue type ID for Bug (Level 4, optional)
  sub_task:  " "                # Issue type ID for Sub-task (Level 5 โ€” preferred for sub-tasks;
                             # falls back to  " task "   above only if this type doesn ' t exist in the workspace)

# ZenHub Pipelines (from getWorkspacePipelinesAndRepositories)
pipelines:
  product_backlog:  " "         #  " Product Backlog "   pipeline ID
  sprint_backlog:  " "          #  " Sprint Backlog "   pipeline ID
  in_progress:  " "             #  " In Progress "   pipeline ID
  review_qa:  " "               #  " Review/QA "   pipeline ID
  # Done pipeline is not used โ€” issues are automatically closed via GitHub  " Closes # "   keyword on PR merge

# Active Sprint (from getSprint / getUpcomingSprint)
sprints:
  active:
    id:  " " 
     name:  " " 
     start_date:  " " 
     end_date:  " " 
   upcoming:
    id:  " " 
     name:  " " 
     start_date:  " " 
     end_date:  " " 

 # Issue Creation Settings
issue_creation:
  method:  " github "            #  " github "   (createGitHubIssue) or  " zenhub "   (createZenhubIssue)
  # ์ œ๋ชฉ/๋ณธ๋ฌธ ์ ‘๋‘์‚ฌ ๊ทœ์น™์€ ์—ฌ๊ธฐ์„œ ์„ค์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค โ€” SoT: cc-dev/rules/zenhub-conventions.md
  # โ†’  " Issue Title Conventions "   (fix:/feat:/chore:, Project/Epic/Story๋Š” ์ ‘๋‘์‚ฌ ์—†์Œ)
  # ๋ณธ๋ฌธ = ๊ณ„์•ฝ, ์„œ์ˆ  = ์•„ํ‹ฐํŒฉํŠธ
  # SoT: cc-dev/rules/zenhub-conventions.md โ†’ Issue Body Artifact Contract / Unified Issue Body Template
  body_artifact:
    enabled: true           # false ๋ฉด ์ข…์ „ ์ „๋Ÿ‰ ๋งˆํฌ๋‹ค์šด ๋ณธ๋ฌธ ์‚ฌ์šฉ
    # ์–ด๋А ๊ณ„์ธต์—์„œ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋ฐœํ–‰ํ• ์ง€ โ€” Sub-task ๋Š” ๊ทœ์•ฝ์ƒ ํ•ญ์ƒ ์ œ์™ธ
    publish_levels: [ " initiative " ,  " project " ,  " epic " ]   # ํ•ญ์ƒ ๋ฐœํ–‰
    narrative_line_threshold: 20   # Feature/Bug/Task ๋Š” ์„œ์ˆ ์ด ์ด ํ–‰์ˆ˜๋ฅผ ๋„˜์„ ๋•Œ๋งŒ ๋ฐœํ–‰
    artifact_path:  " .claude/docs/{scope}/issue-{slug}.html "    # ์ด์Šˆ๋‹น ๊ณ ์ • โ€” ์žฌ๋ฐœํ–‰ ์‹œ URL ์œ ์ง€
    # ์•„ํ‹ฐํŒฉํŠธ๋Š” ๋ฐœํ–‰ ์ฆ‰์‹œ ๋น„๊ณต๊ฐœ์ด๊ณ  ๊ณต๊ฐœ ์ „ํ™˜ API ๊ฐ€ ์—†๋‹ค โ†’
    # ๋งํฌ์™€ ํ•จ๊ป˜ ๊ณต์œ  ์•ˆ๋‚ด ํ•œ ์ค„์„ ํ•ญ์ƒ ๋ณธ๋ฌธ์— ๋„ฃ๋Š”๋‹ค
    include_sharing_notice: true

# Sub-task Configuration
sub_tasks:
  enabled: false            # Set to true if workspace has a  " Sub-task "   (preferred) or  " Task "   (fallback) issue type
  auto_generate: false      # Auto-generate sub-tasks from story AC/technical tasks
  min_story_points: 5       # Only suggest sub-tasks for stories  > = this point value

# Last Updated
last_updated:  " "              # ISO 8601 timestamp of last MCP sync