@wneng/create-keel 0.2.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -1
- package/dist/index.js +612 -40
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/standards/templates/coding-style-dart.md.eta +49 -0
- package/src/standards/templates/coding-style-go.md.eta +52 -0
- package/src/standards/templates/coding-style-java.md.eta +50 -0
- package/src/standards/templates/coding-style-python.md.eta +51 -0
- package/src/standards/templates/coding-style-rust.md.eta +52 -0
- package/src/standards/templates/coding-style-typescript.md.eta +50 -0
- package/src/standards/templates/dependency-cruiser.config.cjs.eta +57 -0
- package/src/standards/templates/design-tokens.ts.eta +37 -0
- package/src/standards/templates/module-boundaries.md.eta +82 -0
- package/src/standards/templates/tech-stack-agent.md.eta +35 -0
- package/src/standards/templates/tech-stack-miniapp.md.eta +34 -0
- package/src/standards/templates/tech-stack-mobile.md.eta +36 -0
- package/src/standards/templates/tech-stack-server.md.eta +50 -0
- package/src/standards/templates/tech-stack-web.md.eta +36 -0
- package/src/standards/templates/ui-design-system.md.eta +70 -0
- package/src/templates/ci-gitee/files/PULL_REQUEST_TEMPLATE.md +62 -0
- package/src/templates/ci-gitee/fragment.yaml +4 -1
- package/src/templates/ci-github/files/PULL_REQUEST_TEMPLATE.md +62 -0
- package/src/templates/ci-github/fragment.yaml +4 -1
- package/src/templates/docs-skeleton/files/README.md +3 -3
- package/src/templates/docs-skeleton/files/governance-checklists.md +3 -3
- package/src/templates/docs-skeleton/files/governance-security.md +6 -2
- package/src/templates/docs-skeleton/files/usage-quickstart.md +11 -0
- package/src/templates/root-files/files/CODEOWNERS +40 -0
- package/src/templates/root-files/fragment.yaml +3 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
runtime: <%= it.standards.env %>
|
|
3
|
+
language: <%= it.standards.language %>
|
|
4
|
+
packageManager: <%= it.standards.packageManager %>
|
|
5
|
+
manifestPath: <%= it.standards.manifestPath %>
|
|
6
|
+
lastReviewed: <%= it.standards.lastReviewed %>
|
|
7
|
+
dependencies:
|
|
8
|
+
<% for (const dep of it.standards.dependencies) { %> - name: "<%= dep.name %>"
|
|
9
|
+
version: "<%= dep.version %>"
|
|
10
|
+
policy: <%= dep.policy %>
|
|
11
|
+
<% } %>---
|
|
12
|
+
|
|
13
|
+
# 前端 / Web 技术栈钉版本表
|
|
14
|
+
|
|
15
|
+
> frontmatter 是机器真值;governance-lint 会把上面 `dependencies` 与 `<%= it.standards.manifestPath %>` 的实际版本逐条比对。
|
|
16
|
+
|
|
17
|
+
## 为什么钉版本
|
|
18
|
+
|
|
19
|
+
- **审计可追溯**:升级历史进 git,PR review 看得到
|
|
20
|
+
- **可重现构建**:CI cache 一致;六个月后能装出同一棵 lockfile
|
|
21
|
+
|
|
22
|
+
## policy 三档
|
|
23
|
+
|
|
24
|
+
policy 字段的语义、调整流程、不钉的例外,与 [tech-stack-server.md](tech-stack-server.md) 一致。本文件不重复。
|
|
25
|
+
|
|
26
|
+
## Web 特有的考虑
|
|
27
|
+
|
|
28
|
+
- React / Vue 的 minor 升级常带 hooks API 改动;新增 `policy: minor` 表示"先发 warning,看到再合"
|
|
29
|
+
- `typescript` 单独列为 minor:tsc 主版本变化几乎一定要改代码
|
|
30
|
+
- bundler(Vite / Webpack)和 polyfill 工具链版本若进 production bundle,必须钉;纯 dev 工具不进本表
|
|
31
|
+
|
|
32
|
+
## 关联
|
|
33
|
+
|
|
34
|
+
- 编码规范:[coding-style-typescript.md](coding-style-typescript.md)
|
|
35
|
+
- UI 设计系统:[../05-前端客户端详细设计/ui-design-system.md](../05-前端客户端详细设计/ui-design-system.md)(启用 design 角色或 full 档时存在)
|
|
36
|
+
- 依赖安全:[../governance/security.md](../governance/security.md)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# UI 设计系统
|
|
2
|
+
|
|
3
|
+
> 这是 UI / 视觉真值的入口。设计稿仍在 Figma;本文件 + `web/src/design-tokens.ts` 是工程侧能消费的版本。
|
|
4
|
+
>
|
|
5
|
+
> governance-lint 的 `GOV.UI.TOKEN_DRIFT` 检查会比对本文件 token 表与 `design-tokens.ts` 的 export 名集合,发现差异即阻断。
|
|
6
|
+
|
|
7
|
+
## Token 表
|
|
8
|
+
|
|
9
|
+
下面三类 token 是 design-tokens.ts 的真值;改一项,必须同 PR 改 ts 文件中对应 export。
|
|
10
|
+
|
|
11
|
+
### 颜色
|
|
12
|
+
|
|
13
|
+
| name | 值 | 用途 |
|
|
14
|
+
|------|-----|------|
|
|
15
|
+
| `colorPrimary` | `#2563EB` | 主操作按钮、链接 |
|
|
16
|
+
| `colorSurface` | `#FFFFFF` | 卡片 / 模态背景 |
|
|
17
|
+
| `colorTextDefault` | `#0F172A` | 默认文本 |
|
|
18
|
+
| `colorTextMuted` | `#64748B` | 次要 / 辅助文本 |
|
|
19
|
+
| `colorBorder` | `#E2E8F0` | 分隔线 / 输入框边框 |
|
|
20
|
+
| `colorDanger` | `#DC2626` | 错误状态、危险操作 |
|
|
21
|
+
|
|
22
|
+
### 间距(spacing scale)
|
|
23
|
+
|
|
24
|
+
按 4px 基线倍数;**禁止**使用任意像素值。
|
|
25
|
+
|
|
26
|
+
| name | 值 | 用途 |
|
|
27
|
+
|------|-----|------|
|
|
28
|
+
| `space1` | `4px` | 紧凑(图标到文字) |
|
|
29
|
+
| `space2` | `8px` | 表单字段内 |
|
|
30
|
+
| `space3` | `12px` | 默认内边距 |
|
|
31
|
+
| `space4` | `16px` | 卡片内边距 |
|
|
32
|
+
| `space6` | `24px` | 卡片间距 |
|
|
33
|
+
| `space8` | `32px` | 区块间距 |
|
|
34
|
+
|
|
35
|
+
### 字号(typography)
|
|
36
|
+
|
|
37
|
+
| name | 值 | 用途 |
|
|
38
|
+
|------|-----|------|
|
|
39
|
+
| `fontHeading1` | `32px / 1.25 / 600` | 页面 H1 |
|
|
40
|
+
| `fontHeading2` | `24px / 1.3 / 600` | 区块标题 |
|
|
41
|
+
| `fontBody` | `14px / 1.5 / 400` | 正文 |
|
|
42
|
+
| `fontCaption` | `12px / 1.4 / 400` | 辅助说明 |
|
|
43
|
+
|
|
44
|
+
## 组件命名
|
|
45
|
+
|
|
46
|
+
组件库统一前缀,避免与第三方库冲突:
|
|
47
|
+
|
|
48
|
+
- `KButton` —— 主按钮 / 次按钮 / 危险按钮三态由 prop 切换
|
|
49
|
+
- `KModal` —— 模态对话框;标题 / 内容 / footer 三槽位
|
|
50
|
+
- `KFormItem` —— 表单单项;label + 控件 + 错误提示
|
|
51
|
+
|
|
52
|
+
新增组件命名遵循同前缀;超过组件库范围(业务组件)走 PascalCase 不加前缀。
|
|
53
|
+
|
|
54
|
+
## 调整流程
|
|
55
|
+
|
|
56
|
+
1. 设计在 Figma 改 token;导出 SVG / PNG 到 `docs/design/figma-exports/`
|
|
57
|
+
2. 同 PR 改本文件 token 表 + `web/src/design-tokens.ts` 中对应 export
|
|
58
|
+
3. CI 跑 `governance-lint`:本表 token 名集合必须等于 design-tokens.ts 的 export 集合
|
|
59
|
+
4. 若故意要让两边不同(极少见),删除本文件,改用其他 token 真值(需要新 ADR)
|
|
60
|
+
|
|
61
|
+
## 何时**不**用本系统
|
|
62
|
+
|
|
63
|
+
- 第三方组件库自带的 token:直接用;不要 wrap 一层把它们重命名成 K 前缀
|
|
64
|
+
- 一次性的展示页(活动 banner、营销页):可以脱离本系统,但不要把脱离的 token 散播到通用组件中
|
|
65
|
+
|
|
66
|
+
## 关联
|
|
67
|
+
|
|
68
|
+
- 配色无障碍要求:所有 `colorText*` 与对应 `colorSurface*` 的对比度必须 ≥ 4.5:1(WCAG AA)
|
|
69
|
+
- 设计稿源:`docs/design/figma-exports/`
|
|
70
|
+
- 二进制 Figma 源文件:走 LFS(见 [`docs/governance/assets.md`](../governance/assets.md))
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Pull Request
|
|
2
|
+
|
|
3
|
+
> 来自 keel scaffolder(@wneng/create-keel <%= it.scaffolderVersion %>)
|
|
4
|
+
> 完整规则见 [`docs/governance/git-workflow.md`](../docs/governance/git-workflow.md)
|
|
5
|
+
|
|
6
|
+
## 概述(What & Why)
|
|
7
|
+
|
|
8
|
+
<!-- 一句话讲清楚这个 PR 改了什么、为什么 -->
|
|
9
|
+
|
|
10
|
+
## 关联引用
|
|
11
|
+
|
|
12
|
+
<!-- 至少填一项;契约 / 设计 / spec 三选一 -->
|
|
13
|
+
|
|
14
|
+
- 契约锚点:`contracts/openapi/api.yaml#/paths/...` 或 `contracts/events/event-catalog.yaml#/events/...`
|
|
15
|
+
- 设计文档:`docs/04-后端详细设计/<slug>.md` 或 `docs/05-前端客户端详细设计/<slug>-<platform>.md`
|
|
16
|
+
- spec:`.kiro/specs/<feature>/`(如适用)
|
|
17
|
+
|
|
18
|
+
## 变更类型
|
|
19
|
+
|
|
20
|
+
- [ ] feat — 新增能力
|
|
21
|
+
- [ ] fix — 缺陷修复
|
|
22
|
+
- [ ] docs — 文档变更
|
|
23
|
+
- [ ] refactor — 重构(无行为变化)
|
|
24
|
+
- [ ] chore — 维护性变更
|
|
25
|
+
- [ ] spike — 临时探索(必须在合入前补齐契约 / 文档)
|
|
26
|
+
|
|
27
|
+
## 自检清单(Pre-merge)
|
|
28
|
+
|
|
29
|
+
完整 checklist 见 [`docs/governance/checklists.md`](../docs/governance/checklists.md)。最常踩的 5 个坑:
|
|
30
|
+
|
|
31
|
+
- [ ] 改了 `contracts/` → `contracts/CHANGELOG.md` 已同步更新
|
|
32
|
+
- [ ] 触了 on-demand 目录 → 用户已说出 trigger keyword("更新部署手册" / "更新合规证据" / "更新宣发" / "更新设计稿")
|
|
33
|
+
- [ ] **未**直接写 `docs/11-市场与对外材料/published/` 或 `docs/10-合规与安全/evidence/`(read-only)
|
|
34
|
+
- [ ] AI 生成代码 → commit 用 `feat(ai): ...` / `chore(ai): ...` 前缀;PR 打 `ai-generated` 标签
|
|
35
|
+
- [ ] 改了 `docs/governance/<file>.md` → AGENTS.md §7 对应摘要已同步
|
|
36
|
+
|
|
37
|
+
## CI
|
|
38
|
+
|
|
39
|
+
- [ ] 本地 `npm test` / `mvn test` / `pytest` 等已通过
|
|
40
|
+
- [ ] `governance-lint` 本地通过:`node tools/governance-lint/index.js --strict`
|
|
41
|
+
- [ ] 没有提交 secret / 私钥 / 真实 PII
|
|
42
|
+
|
|
43
|
+
## 影响范围
|
|
44
|
+
|
|
45
|
+
<!-- 列出受影响的执行环境 / 模块 / 服务 -->
|
|
46
|
+
|
|
47
|
+
- [ ] `server/`(后端)
|
|
48
|
+
- [ ] `web/`(前端)
|
|
49
|
+
- [ ] `mobile/`(移动端)
|
|
50
|
+
- [ ] `miniapp/`(小程序)
|
|
51
|
+
- [ ] `agent/`(桌面 / CLI)
|
|
52
|
+
- [ ] `contracts/`(契约)
|
|
53
|
+
- [ ] `deploy/` / `ops/`(部署 / 基础设施)
|
|
54
|
+
- [ ] 仅 docs
|
|
55
|
+
|
|
56
|
+
## 回滚预案
|
|
57
|
+
|
|
58
|
+
<!-- 如果合入后发现问题,怎么回滚?哪些数据 / 配置需要清理? -->
|
|
59
|
+
|
|
60
|
+
## 备注 / 截图
|
|
61
|
+
|
|
62
|
+
<!-- 可选 -->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: ci-gitee
|
|
2
|
-
version: 1.
|
|
2
|
+
version: 1.1.0
|
|
3
3
|
appliesWhen:
|
|
4
4
|
ci: gitee
|
|
5
5
|
priority: 20
|
|
@@ -7,3 +7,6 @@ files:
|
|
|
7
7
|
- from: files/pipeline.yml
|
|
8
8
|
to: .gitee/pipelines/ci.yml
|
|
9
9
|
render: true
|
|
10
|
+
- from: files/PULL_REQUEST_TEMPLATE.md
|
|
11
|
+
to: .gitee/PULL_REQUEST_TEMPLATE.md
|
|
12
|
+
render: true
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Pull Request
|
|
2
|
+
|
|
3
|
+
> 来自 keel scaffolder(@wneng/create-keel <%= it.scaffolderVersion %>)
|
|
4
|
+
> 完整规则见 [`docs/governance/git-workflow.md`](../docs/governance/git-workflow.md)
|
|
5
|
+
|
|
6
|
+
## 概述(What & Why)
|
|
7
|
+
|
|
8
|
+
<!-- 一句话讲清楚这个 PR 改了什么、为什么 -->
|
|
9
|
+
|
|
10
|
+
## 关联引用
|
|
11
|
+
|
|
12
|
+
<!-- 至少填一项;契约 / 设计 / spec 三选一 -->
|
|
13
|
+
|
|
14
|
+
- 契约锚点:`contracts/openapi/api.yaml#/paths/...` 或 `contracts/events/event-catalog.yaml#/events/...`
|
|
15
|
+
- 设计文档:`docs/04-后端详细设计/<slug>.md` 或 `docs/05-前端客户端详细设计/<slug>-<platform>.md`
|
|
16
|
+
- spec:`.kiro/specs/<feature>/`(如适用)
|
|
17
|
+
|
|
18
|
+
## 变更类型
|
|
19
|
+
|
|
20
|
+
- [ ] feat — 新增能力
|
|
21
|
+
- [ ] fix — 缺陷修复
|
|
22
|
+
- [ ] docs — 文档变更
|
|
23
|
+
- [ ] refactor — 重构(无行为变化)
|
|
24
|
+
- [ ] chore — 维护性变更
|
|
25
|
+
- [ ] spike — 临时探索(必须在合入前补齐契约 / 文档)
|
|
26
|
+
|
|
27
|
+
## 自检清单(Pre-merge)
|
|
28
|
+
|
|
29
|
+
完整 checklist 见 [`docs/governance/checklists.md`](../docs/governance/checklists.md)。最常踩的 5 个坑:
|
|
30
|
+
|
|
31
|
+
- [ ] 改了 `contracts/` → `contracts/CHANGELOG.md` 已同步更新
|
|
32
|
+
- [ ] 触了 on-demand 目录 → 用户已说出 trigger keyword("更新部署手册" / "更新合规证据" / "更新宣发" / "更新设计稿")
|
|
33
|
+
- [ ] **未**直接写 `docs/11-市场与对外材料/published/` 或 `docs/10-合规与安全/evidence/`(read-only)
|
|
34
|
+
- [ ] AI 生成代码 → commit 用 `feat(ai): ...` / `chore(ai): ...` 前缀;PR 打 `ai-generated` 标签
|
|
35
|
+
- [ ] 改了 `docs/governance/<file>.md` → AGENTS.md §7 对应摘要已同步
|
|
36
|
+
|
|
37
|
+
## CI
|
|
38
|
+
|
|
39
|
+
- [ ] 本地 `npm test` / `mvn test` / `pytest` 等已通过
|
|
40
|
+
- [ ] `governance-lint` 本地通过:`node tools/governance-lint/index.js --strict`
|
|
41
|
+
- [ ] 没有提交 secret / 私钥 / 真实 PII
|
|
42
|
+
|
|
43
|
+
## 影响范围
|
|
44
|
+
|
|
45
|
+
<!-- 列出受影响的执行环境 / 模块 / 服务 -->
|
|
46
|
+
|
|
47
|
+
- [ ] `server/`(后端)
|
|
48
|
+
- [ ] `web/`(前端)
|
|
49
|
+
- [ ] `mobile/`(移动端)
|
|
50
|
+
- [ ] `miniapp/`(小程序)
|
|
51
|
+
- [ ] `agent/`(桌面 / CLI)
|
|
52
|
+
- [ ] `contracts/`(契约)
|
|
53
|
+
- [ ] `deploy/` / `ops/`(部署 / 基础设施)
|
|
54
|
+
- [ ] 仅 docs
|
|
55
|
+
|
|
56
|
+
## 回滚预案
|
|
57
|
+
|
|
58
|
+
<!-- 如果合入后发现问题,怎么回滚?哪些数据 / 配置需要清理? -->
|
|
59
|
+
|
|
60
|
+
## 备注 / 截图
|
|
61
|
+
|
|
62
|
+
<!-- 可选 -->
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: ci-github
|
|
2
|
-
version: 1.
|
|
2
|
+
version: 1.1.0
|
|
3
3
|
appliesWhen:
|
|
4
4
|
ci: github
|
|
5
5
|
priority: 20
|
|
@@ -7,3 +7,6 @@ files:
|
|
|
7
7
|
- from: files/ci.yml
|
|
8
8
|
to: .github/workflows/ci.yml
|
|
9
9
|
render: true
|
|
10
|
+
- from: files/PULL_REQUEST_TEMPLATE.md
|
|
11
|
+
to: .github/PULL_REQUEST_TEMPLATE.md
|
|
12
|
+
render: true
|
|
@@ -66,7 +66,7 @@ docs/
|
|
|
66
66
|
| `governance/` | 11 个固定文件名 | ADR-0001 + governance-lint |
|
|
67
67
|
| `assets/` | `diagrams/` + `images/` + `design/` | [`governance/assets.md`](governance/assets.md) 引用约定 |
|
|
68
68
|
| `references/` | `standards/` + `vendors/` + `legal/` | [`governance/docs-references.md`](governance/docs-references.md) 元数据规则 |
|
|
69
|
-
| `过程文档/` | `drafts/` + `meeting-notes/` + `spike-investigations/`
|
|
69
|
+
| `过程文档/` | `drafts/` + `meeting-notes/` + `spike-investigations/` | AGENTS.md §5 |
|
|
70
70
|
|
|
71
71
|
### 5.2 软建议(按项目实际调整)
|
|
72
72
|
|
|
@@ -125,10 +125,10 @@ warning 不是 error——允许"有 PRD 但还没开始设计"的过渡状态
|
|
|
125
125
|
|
|
126
126
|
`docs/governance/` 承载从 AGENTS.md 拆出的专项规则(CI、安全、Git、资产、集成、ops/deploy、tools/scripts、checklist 等)。索引见 [`governance/README.md`](governance/README.md)。
|
|
127
127
|
|
|
128
|
-
<% if (it.options.integrations) { %>##
|
|
128
|
+
<% if (it.options.integrations) { %>## 8. 集成对接入口
|
|
129
129
|
|
|
130
130
|
`docs/06-集成对接/` 已通过 `integrations=true` 启用。完整规则见 [`governance/integrations.md`](governance/integrations.md)。
|
|
131
|
-
<% } else { %>##
|
|
131
|
+
<% } else { %>## 8. 集成对接
|
|
132
132
|
|
|
133
133
|
本仓库未启用 `integrations`。如果未来需要与外部仓库 / 团队对接(例如本仓库只做后端,前端在另一仓库),手动建立 `docs/06-集成对接/` 并参考 [`governance/integrations.md`](governance/integrations.md)。
|
|
134
134
|
<% } %>
|
|
@@ -4,7 +4,7 @@ last-reviewed: <%= it.generatedAt.slice(0, 10) %>
|
|
|
4
4
|
|
|
5
5
|
# 完整检查清单
|
|
6
6
|
|
|
7
|
-
> 入口摘要在 `AGENTS.md` §
|
|
7
|
+
> 入口摘要在 `AGENTS.md` §9。本文件提供完整可勾选清单。
|
|
8
8
|
|
|
9
9
|
## 1. 开发前核对(功能开发启动前)
|
|
10
10
|
|
|
@@ -19,7 +19,7 @@ last-reviewed: <%= it.generatedAt.slice(0, 10) %>
|
|
|
19
19
|
## 2. 提交前核对(PR 发起前)
|
|
20
20
|
|
|
21
21
|
- [ ] `contracts/CHANGELOG.md` 已同步更新
|
|
22
|
-
- [ ] 破坏性变更已按
|
|
22
|
+
- [ ] 破坏性变更已按 [`contracts/README.md`](../../contracts/README.md) 的 SemVer 规则升级 MAJOR
|
|
23
23
|
- [ ] 生成代码已重新生成且 `git diff` 为空
|
|
24
24
|
- [ ] `docs/README.md` 已按需同步(目录地图 / 分类入口 / 子目录约定)
|
|
25
25
|
- [ ] 若启用 `integrations` 且契约变更影响某 pair,该 pair 已同步
|
|
@@ -48,7 +48,7 @@ last-reviewed: <%= it.generatedAt.slice(0, 10) %>
|
|
|
48
48
|
|
|
49
49
|
## 5. 新增脚本 / 工具核对
|
|
50
50
|
|
|
51
|
-
- [ ] 已按
|
|
51
|
+
- [ ] 已按 [`tools-scripts.md`](tools-scripts.md) 判定归属(`scripts/` 或 `tools/`)
|
|
52
52
|
- [ ] `scripts/` 脚本顶部注释包含用途、参数、幂等性、危险级别
|
|
53
53
|
- [ ] `scripts/README.md` 索引已更新
|
|
54
54
|
- [ ] `tools/` 工具含独立 `README.md` 与版本号
|
|
@@ -10,8 +10,12 @@ last-reviewed: <%= it.generatedAt.slice(0, 10) %>
|
|
|
10
10
|
|
|
11
11
|
### 1.1 版本管理
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
13
|
+
- **建议**新增依赖使用精确版本(pinned),尤其是安全敏感库(加密、token、SSO)
|
|
14
|
+
- 实操中允许两种策略:
|
|
15
|
+
- **lockfile-based**(默认):`package.json` 用 `^` 范围 + 提交 `package-lock.json` / `yarn.lock`,CI 跑 `npm ci`(严格按 lockfile)。Node / npm 生态的事实标准
|
|
16
|
+
- **fully-pinned**:`package.json` 用 `=` 精确版本。安全敏感项目或需要 SBOM 严格匹配时使用
|
|
17
|
+
- 真值:lockfile(不是 `package.json`)。`package-lock.json` / `yarn.lock` / `pnpm-lock.yaml` 必须提交
|
|
18
|
+
- 工程规范的 `tech-stack-<env>.md` 钉死表 + `governance-lint stack-pinning` 是更细粒度的版本守门(参见 ADR-0004)
|
|
15
19
|
- 升级依赖独立 PR,便于回滚
|
|
16
20
|
|
|
17
21
|
### 1.2 漏洞扫描
|
|
@@ -35,9 +35,20 @@ npx @wneng/create-keel create my-full \
|
|
|
35
35
|
--agent rust-desktop --deploy kubernetes --contract rest+events \
|
|
36
36
|
--ai kiro --license apache-2.0 --gitLfs --integrations \
|
|
37
37
|
--ci github --roles qa,field,data,legal-security,marketing,design \
|
|
38
|
+
--engineering-standards full \
|
|
38
39
|
--yes
|
|
39
40
|
```
|
|
40
41
|
|
|
42
|
+
### 0.1.1 工程规范是另一个正交维度
|
|
43
|
+
|
|
44
|
+
档位决定 *目录与角色* 的启用范围;`--engineering-standards <tier>` 决定 *栈版本钉死、编码风格、模块边界、UI 设计系统* 的生成范围:
|
|
45
|
+
|
|
46
|
+
| `--engineering-standards` | 启用 | 默认 |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| `lite` | 仅每语言 `coding-style-<lang>.md` + 对应 lint 配置 | —— |
|
|
49
|
+
| `standard` | + `tech-stack-<env>.md` + `module-boundaries.md` + (multi-app + JS/TS)`dependency-cruiser.config.cjs` | ✓ `--yes` 默认 |
|
|
50
|
+
| `full` | + `ui-design-system.md` + `web/src/design-tokens.ts`(启用 frontend 时) | —— |
|
|
51
|
+
|
|
41
52
|
**已有项目升档**:
|
|
42
53
|
|
|
43
54
|
| 升档动作 | 操作 |
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# CODEOWNERS — review routing for <%= it.options.projectName %>
|
|
2
|
+
#
|
|
3
|
+
# Format: path-pattern @owner1 @owner2
|
|
4
|
+
# - Match order matters: later rules override earlier ones.
|
|
5
|
+
# - Replace placeholder owners (`@TBD`) with real Git accounts before
|
|
6
|
+
# the first PR. CI rejects merging when CODEOWNERS still contains @TBD.
|
|
7
|
+
#
|
|
8
|
+
# References:
|
|
9
|
+
# - AGENTS.md §3.1 (PR review obligations)
|
|
10
|
+
# - docs/governance/git-workflow.md (PR template + CODEOWNERS rules)
|
|
11
|
+
|
|
12
|
+
# Default owner for everything not matched below.
|
|
13
|
+
* @TBD
|
|
14
|
+
|
|
15
|
+
# Architecture and contracts: high-impact paths require named reviewers.
|
|
16
|
+
/AGENTS.md @TBD
|
|
17
|
+
/contracts/ @TBD
|
|
18
|
+
/docs/02-系统方案与架构/ @TBD
|
|
19
|
+
/docs/governance/ @TBD
|
|
20
|
+
|
|
21
|
+
# Per-execution-environment routing (placeholders; adjust per team).
|
|
22
|
+
/server/ @TBD
|
|
23
|
+
/web/ @TBD
|
|
24
|
+
<% if (it.options.mobile !== 'none') { %>/mobile/ @TBD
|
|
25
|
+
<% } %><% if (it.options.miniapp !== 'none') { %>/miniapp/ @TBD
|
|
26
|
+
<% } %><% if (it.options.agent !== 'none') { %>/agent/ @TBD
|
|
27
|
+
<% } %>
|
|
28
|
+
|
|
29
|
+
# Operations & deployment.
|
|
30
|
+
/ops/ @TBD
|
|
31
|
+
/deploy/ @TBD
|
|
32
|
+
|
|
33
|
+
# CI configuration.
|
|
34
|
+
<% if (it.options.ci === 'github') { %>/.github/ @TBD
|
|
35
|
+
<% } else if (it.options.ci === 'gitee') { %>/.gitee/ @TBD
|
|
36
|
+
<% } %>
|
|
37
|
+
|
|
38
|
+
# Tooling.
|
|
39
|
+
/tools/ @TBD
|
|
40
|
+
/scripts/ @TBD
|