# Task Template: 抽取组件（library/components/Vab*）

task:
  id: extract-component
  intent: "从本仓库抽取一个或多个 Vab 组件到目标项目，确保依赖闭包完整"

inputs:
  required:
    - components        # 例如 ["VabTabs", "VabMenu"]
    - target_project_type
    - extraction_style

scope:
  base_dir: "library/components"

dependency_closure_checklist:
  runtime:
    - "Element Plus 组件是否使用（el-*）"
    - "icons：vab-icons 与 @element-plus/icons-vue 是否需要"
    - "全局样式：library/styles/vab.scss 是否是前置依赖"
  app_wiring:
    - "是否依赖 setupVab 的全局注册（VabIcon / 图标注册 / 插件自动加载）"
  alias:
    - "@ -> src"
    - "@vab -> library"

outputs:
  required_sections:
    - changed_files
    - extracted_modules
    - dependency_closure
    - acceptance_commands
    - risks

acceptance:
  - "目标项目可渲染组件"
  - "关键交互可用（按组件规格中的验收点）"
