@wneng/create-keel 0.3.0 → 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 +118 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- 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/root-files/files/CODEOWNERS +40 -0
- package/src/templates/root-files/fragment.yaml +3 -0
package/package.json
CHANGED
|
@@ -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 漏洞扫描
|
|
@@ -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
|