Files
tupingr 473f61b4cc feat(template): ADR-013 Skill 替代脚本 — 框架脱敏/初始化机制重构
- 废弃 ADR-008 双分支+shell脚本方案(ai_project分支已过时)
- 新增 project-init Skill:export(脱敏导出) + init(初始化新项目)双模式
- 保留 SYNC.md(框架/项目边界)+ TEMPLATE.yaml(变量定义)
- L-006: 当 AI 是执行者时,Skill 优于 Shell 脚本
- 3 文件替代 4文件+1分支,零维护成本

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 15:33:05 +08:00

4.1 KiB
Raw Permalink Blame History

name, description
name description
project-init 框架脱敏/初始化:将当前项目框架层导出为通用模板,或从模板初始化新项目。用户说「导出框架」「初始化新项目」「套这个框架开新项目」时调用。

项目框架脱敏与初始化

功能

将当前项目的「框架层」(AI 协作体系)与「项目层」(ErrLens 具体内容)分离。框架层可导出为通用模板,用于初始化任意新项目。

核心逻辑:框架是骨架(角色、权限、工作流、Skill),项目是肉(PRD、架构、代码、ADR)。同一套骨架可以长出不同的肉。

触发条件

  • 用户说「导出框架」「脱敏」「生成模板」
  • 用户说「初始化新项目」「套这个框架开新项目」「用这个骨架开个 IC 验证项目」
  • 当前项目框架层有重大更新后,用户想刷新模板

两个模式

Export(脱敏导出)

将当前项目框架层文件复制 → 把 ErrLens 具体值替换为 {{变量}} → 输出干净的模板目录。

Init(初始化新项目)

读取模板 → 把 {{变量}} 替换为用户提供的新项目值 → 输出可开工的新项目目录。

变量定义

TEMPLATE.yaml。核心变量:

变量 当前值(ErrLens 说明
{{PROJECT_NAME}} ErrLens 项目名
{{PROJECT_CONCEPT}} 学生错题本 核心概念
{{PROJECT_DESCRIPTION}} AI 驱动的学生错题整理与分析应用 一句话描述
{{P01_NAME}} P01_errlens_app 主应用目录名
{{DATABASE_URL}} postgresql://.../errlens 数据库连接

框架层 vs 项目层

SYNC.md。核心区分:

框架层(导出/同步)

  • AGENTS.md — AI 角色+权限
  • dashboard.md — 控制面板结构
  • DECISIONS.md — 决策入口
  • .ai/principles.md — 设计原则
  • .ai/config/ — AI 配置
  • .ai/prompts/ — 提示词模板
  • .ai/roles/*/card.md — 角色身份卡
  • .ai/phases/INDEX.md — 阶段索引
  • .ai/knowledge/patterns.md — 可复用模式
  • .ai/knowledge/lessons.md — 框架级教训
  • .ai/tasks/templates/ — Task 模板
  • .trae/skills/ — 全部 Skill
  • docs/使用手册.md — 使用说明
  • ENVIRONMENT.md — 环境结构
  • TEMPLATE.yaml — 变量定义
  • SYNC.md — 边界定义

项目层(不导出,新项目自己写)

  • .ai/tasks/active/ — 具体 task
  • .ai/phases/phase-*/goal.md, scope.md, architecture.md, decisions.md, completion.md
  • .ai/knowledge/decisions.md — 项目 ADR
  • .ai/knowledge/journal/ — 开发日志
  • docs/01_*/ ~ docs/06_*/ — PRD、架构设计等
  • docs/share/ — 对外分享
  • projects/ — 代码
  • reports/ — 测试报告

执行步骤

Export 模式

  1. SYNC.md 确认框架层文件清单
  2. TEMPLATE.yaml 获取变量清单和当前值
  3. 对每个框架层文件:
    • 复制内容
    • 将当前值(如 ErrLens)替换为 {{PROJECT_NAME}}
    • errlens 替换为 {{PROJECT_NAME_LOWER}}
    • 依此类推,覆盖 TEMPLATE.yaml 中所有变量
  4. 输出到指定目录(默认 ../project-template/

Init 模式

  1. 询问用户:项目名、核心概念、一句话描述
  2. TEMPLATE.yaml,生成新值(如 PROJECT_NAME: "ICValidator"
  3. 复制框架层文件到新项目目录
  4. 将所有 {{变量}} 替换为新值
  5. 创建项目层空目录结构(.ai/tasks/active/, .ai/phases/, docs/01_产品需求/ 等)
  6. 告知用户:新项目就绪,Arch AI 可以开始写 PRD

注意事项

  1. 框架层不包含具体业务的 ADR。ADR-009(人机协同)是 ErrLens 特有的,不导出。ADR-007(分层架构)是框架级的,可导出
  2. Skill 本身属于框架层,会被导出。新项目自带全套 Skill
  3. TEMPLATE.yaml 导出后变量值变为 {{}} 占位符,等待 init 时填入新值
  4. 脱敏检查:export 后应人工抽查,确保没有 ErrLens 特有信息泄露到模板

Version: 1.0 Created: 2026-05-26 Based On: ADR-008(模板同步机制),废弃 ai_project 分支方案,改为 Skill 按需执行