DistroNexus 模板系统综合文档
最后更新:2026-02-15 维护者:Copilot (GPT-5.3-Codex)
1. 文档目标
本文档提供 DistroNexus 模板系统的端到端视图,覆盖:
- 需求分析,
- 当前实现架构,
- 内置模板目录,
- 以及贡献者/开发者指南。
它作为模板相关产品、工程、测试、文档更新的统一工作参考。
2. 需求分析
2.1 问题陈述
WSL 环境搭建在不同开发者和机器之间常常重复且不一致。模板系统通过“声明式元数据 + 可执行脚本”提供可重复的环境引导能力。
2.2 需求来源
本仓库中的主要需求输入:
docs/specs/template-system-requirements.mddocs/specs/built-in-template-expansion-requirements.mddocs/specs/built-in-template-automation-test-suite-requirements.mddocs/development/template-expansion-implementation-task-list.mddocs/development/built-in-template-automation-implementation-task-list.md
2.3 功能需求(汇总)
模板系统需要提供:
-
基于目录的发现能力
- 从
config/templates.json加载模板。 - 支持按 ID / 分类 / 标签进行搜索与筛选。
- 从
-
脚本化应用流程
- 将模板应用到目标 WSL 实例。
- 支持脚本顺序、超时控制、失败继续(continue-on-error)。
-
版本感知模板
- 支持
VersionOptions与DefaultSelections,用于 SDK/通道选择。
- 支持
-
预检与受限场景保护
- 在模板脚本执行前运行预检。
- 对必需检查执行强制校验并给出可操作错误。
-
历史与可观测性
- 在 AppData 下持久化模板应用历史。
- 为长任务提供进度与输出暴露。
-
自动化测试运行器支持
- 通过
Invoke-DistroNexusTemplateAutomation验证全部或指定模板。 - 支持结果分类(
Pass/Fail/Blocked)与产物输出。
- 通过
2.4 非功能需求(汇总)
- 优先幂等:脚本应可重复运行。
- 安全性:禁止绝对脚本路径;阻止路径穿越。
- 本地优先验证:完整自动化主要在本地 Windows + WSL2 执行。
- 兼容性感知:模板声明兼容发行版与场景标签。
- 可追溯性:自动化运行输出机器可读与 Markdown 产物。
2.5 当前对齐说明
- 已实现分类:
Development、Platform、CloudNative、Database、DataAndAI。 - 扩展规范提到
DevOps分类目标;当前内置目录中尚无独立DevOps分类模板。 - 以当前 15 个内置模板实现了 Phase-1 覆盖广度。