Files
Web_Template_Vue3_Dev/AI-Coding/openspec-lite/tasks/extract-theme.yaml

42 lines
1.2 KiB
YAML
Raw Normal View History

# Task Template: 抽取主题系统VabTheme + settings 主题闭包)
task:
id: extract-theme
intent: "从本仓库抽取 Theme 系统到目标项目,确保事件总线 + settings theme 闭包完整"
inputs:
required:
- target_project_type # vue-cli | vite | other
- extraction_style # copy-module | copy-snippet
scope:
entrypoints:
- library/components/VabTheme/
- src/store/modules/settings.ts
- library/plugins/vab.ts
- library/styles/variables/
dependency_closure_checklist:
runtime:
- "Pinia settings store 是否存在并已在入口初始化"
- "vab 插件是否安装($pub/$sub/$baseLoading 注入)"
- "i18n translate 是否可用"
- "Element Plus Drawer/表单控件是否可用"
bundler:
- "settings.updateTheme() 的 require('@vab/styles/variables/vab-*-variables.module.scss') 在目标构建器中是否可用"
alias:
- "@ -> src"
- "@vab -> library"
outputs:
required_sections:
- changed_files
- extracted_modules
- dependency_closure
- acceptance_commands
- risks
acceptance:
- "触发 $pub('theme') 能打开 Theme Drawer"
- "修改主题并保存后,刷新页面主题持久化且样式变量生效"