@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wneng/create-keel",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Scaffolder for Contract First + Vibe Coding projects (keel conventions)",
5
5
  "keywords": [
6
6
  "scaffold",
@@ -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.0.0
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.0.0
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/` + 三份索引 | AGENTS.md §5 |
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) { %>## 7. 集成对接入口
128
+ <% if (it.options.integrations) { %>## 8. 集成对接入口
129
129
 
130
130
  `docs/06-集成对接/` 已通过 `integrations=true` 启用。完整规则见 [`governance/integrations.md`](governance/integrations.md)。
131
- <% } else { %>## 7. 集成对接
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` §13。本文件提供完整可勾选清单。
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
- - [ ] 破坏性变更已按 §6 升级 MAJOR
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
- - [ ] 已按 §12.3 判定归属(`scripts/` 或 `tools/`)
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
- - 新增依赖使用**精确版本**(pinned),禁止开放范围
14
- - `package.json` / `requirements.txt` / `go.mod` / `Cargo.toml` / `pom.xml` 都遵循同一原则
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
@@ -18,3 +18,6 @@ files:
18
18
  - from: files/.editorconfig
19
19
  to: .editorconfig
20
20
  render: false
21
+ - from: files/CODEOWNERS
22
+ to: CODEOWNERS
23
+ render: true