Skip to content

提案:团队模板仓库(team-template),降低新团队上手门槛 #206

Closed

Description

@jeff-r2026

提案:团队模板仓库(team-template),降低新团队上手门槛

类型:Proposal / Discussion
影响面:在 teamai-hub GitHub 组织下新增公开模板仓库;teamai-cli 代码零改动(首版)

背景与问题

当前 teamai init 的流程假设团队 repo 已经存在:选 scope → 输入一个已有的 team repo → clone → 注册成员。

它解决的是「团队已有组织好的 repo,新成员如何接入」。但它没有解决另一个更前置的缺口:

  • 一个新团队 / 新用户,手上根本没有 team repo。
  • 不知道 manifest/roles.yaml、skills/、rules/ 该长什么样、怎么摆。
  • 只能对着 README 手搓目录结构 —— 这是当前最大的上手摩擦点。

代码确认:仓库内目前没有任何 template / scaffold 能力(import --from-org --bootstrap 是从已有 org 反向抽取,方向相反)。

目标

提供一个开箱即用的团队模板仓库。用户通过 GitHub「Use this template」一键生成自己的 team repo(history 干净、无 fork 关系),改成自己的 remote 后即可:

teamai init --repo <我的-team-repo>
# init 时选择自己的角色,只拿到对应命名空间的 skills/rules

方案:两种模式,单一内容源

同时提供两种模板形态,覆盖不同上手偏好。所有模板仓库统一落在 teamai-hub GitHub 组织下。

模式 形态 适合谁
A. 单 repo 多 role 一个 teamai-hub/team-template repo,roles.yaml 定义全部角色,init 时选角色 想「一个团队仓库覆盖全部职能」、后续会扩角色的团队。复用 teamai 现有 role 选择流
B. 多 repo 单 role 每个角色一个独立 repo(teamai-hub/template-frontend、teamai-hub/template-pm…),roles.yaml 只含该角色 只想要单一职能、要最聚焦最小仓库的用户;GitHub「Use this template」直接选对应仓库
  • 落点:GitHub 公开组织 teamai-hub,不进 teamai-cli 代码仓库。
  • CLI 改动:首版为零。仅可选地在 teamai init「还没有 team repo」的分支打印一行指向 teamai-hub 组织的引导文案(后续再议)。

⚠️ 关键约束:单一内容源,B 从 A 派生

两种模式绝不各自手写内容,否则 common/ rules 和各角色内容必然漂移(改了 A 的 frontend rule,B 的 template-frontend 不会跟着变)。

做法:teamai-hub/team-template(模式 A)是唯一 source of truth。模式 B 的单角色 repo 由一个拆分脚本从 A 派生生成:

  • 按角色切出 skills/<role>/、rules/<role>/;
  • 自动注入全员共享的 common/ rules;
  • 生成只含该角色的 roles.yaml。

这样两种模式共用一套内容、单点维护、不漂移。派生脚本放在 team-template repo 内,可由 CI 在内容更新时自动重建 teamai-hub 下的各单角色 repo。

目录约定(已从源码核对,非推测)

路径 说明 源码依据
manifest/roles.yaml 角色 → knowledge/skills 命名空间映射 roles.ts loadRolesManifest
skills/<namespace>/<skill>/SKILL.md 每子目录一个 skill pull.ts scanRoleAwareSkills
rules/<namespace>/*.md rule 名以 <namespace>/ 前缀做角色过滤 pull.ts filterRulesByNamespace
docs/、env/ 团队文档 / 共享环境变量(可选) pull.ts resourceTypes
team-template/
├── README.md                # 上手引导:Use this template → init → 选角色
├── manifest/roles.yaml      # 全部角色的命名空间映射
├── skills/<role>/<skill>/SKILL.md
└── rules/
    ├── common/              # 全员共享:沟通规范、保密红线、AI 使用准则
    └── <role>/*.md

首批角色范围(6 个)

按「受众是否确定在用 AI 编码工具」+「内容能否做出真血肉」筛选,首批 6 个,分两层区别对待起草标准:

分组 角色 起草标准 skills(首版)
技术三角(做深) frontend 资深工程师看了觉得真能用,可挂到真实 hooks/lint react-lint、component-scaffold
backend 同上 api-design-check、db-migration-review
qa 命名空间只放测试独有内容,不与开发角色重叠 testcase-gen、bug-report-lint、regression-checklist
AI 高渗透非技术(做标志性) pm 先做 1 个精的 skill 验证「这个角色真会用 AI 工具」 prd-gen(其余占位)
data 同上 sql-review(其余占位)
design 同上 design-spec-gen(其余占位)

common/ rules(全员):communication、confidentiality-redline、ai-usage-conduct。

重叠治理:qa 只放用例设计 / 缺陷分级 / 回归策略,「代码质量」类内容归 frontend/backend。scanRoleAwareSkills 有重名检测,同名 skill 会直接报错,命名空间必须划分干净。

粗估首版 30–40 个文件。

待讨论的开放问题

  1. 模板是否同时作为「长期 source」?(本提案最关键的未决点)
    teamai 已有 source add 能力。若把 team-template 设计成既能一键起点、又能被用户 source add 订阅,则后续对 frontend 等 rules 的改进能回流给老用户;否则「clone 完即断线」是路径 A 的固有硬伤。

    • 选项 A:一次性脚手架(rules 写成起点占位)。
    • 选项 B:活的团队基线(rules 写成可持续维护,支持 source 订阅回流)。倾向 B。
    • 这是唯一可能需要碰一点 CLI 的方向。
  2. 非技术角色的工具前提:PM / 设计师日常是否真在 Claude Code / Cursor 里工作?首批用 pm/data/design 各 1 个标志性 skill 来验证,再决定是否加深。

  3. 命名与可发现性:teamai-hub 组织下的仓库命名规范(模式 A 的 team-template / 模式 B 的 template-<role>)、如何在 teamai-cli README 中让用户发现它。

非目标(首版明确不做)

  • 不改 teamai init 核心逻辑、不新增 --template 内置脚手架(CLI 内置生成,验证需求后再议)。
  • 不做 HR / marketing / techwriter / sre / pmo(第二批 roadmap)。
  • 不做法务 / 财务 / 销售(强公司特异性 & 合规,通用模板给不出价值,交由各公司自行 push)。

Roadmap(第二批,先写进模板 README 不实现)

hr、marketing、techwriter、sre、pmo —— 需求真实但内容更因公司而异,留 push 接口让各团队自填。

Activity

  1. changed the title [-]提案:团队模板仓库(team-starter),降低新团队上手门槛[/-] [+]提案:团队模板仓库(team-template),降低新团队上手门槛[/+] on Jul 21, 2026
  2. added a commit that references this issue on Aug 11, 2026
    ae1642a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions