speccore 8.3.59 → 8.3.60

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.
Files changed (65) hide show
  1. package/.agents/skills/spec-deploy/SKILL.md +311 -0
  2. package/.agents/skills/spec-verify/SKILL.md +226 -0
  3. package/README.md +60 -3
  4. package/dist/cli.js +52 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/about.d.ts.map +1 -1
  7. package/dist/commands/about.js +9 -2
  8. package/dist/commands/about.js.map +1 -1
  9. package/dist/commands/build.d.ts +9 -0
  10. package/dist/commands/build.d.ts.map +1 -0
  11. package/dist/commands/build.js +180 -0
  12. package/dist/commands/build.js.map +1 -0
  13. package/dist/commands/deploy.d.ts +11 -0
  14. package/dist/commands/deploy.d.ts.map +1 -0
  15. package/dist/commands/deploy.js +118 -0
  16. package/dist/commands/deploy.js.map +1 -0
  17. package/dist/commands/init.d.ts.map +1 -1
  18. package/dist/commands/init.js +2 -0
  19. package/dist/commands/init.js.map +1 -1
  20. package/dist/commands/iteration/split.d.ts.map +1 -1
  21. package/dist/commands/iteration/split.js +28 -0
  22. package/dist/commands/iteration/split.js.map +1 -1
  23. package/dist/commands/pipeline.d.ts +10 -0
  24. package/dist/commands/pipeline.d.ts.map +1 -0
  25. package/dist/commands/pipeline.js +365 -0
  26. package/dist/commands/pipeline.js.map +1 -0
  27. package/dist/commands/pr.d.ts +3 -0
  28. package/dist/commands/pr.d.ts.map +1 -1
  29. package/dist/commands/pr.js +218 -0
  30. package/dist/commands/pr.js.map +1 -1
  31. package/dist/commands/update-env-configs.d.ts +3 -0
  32. package/dist/commands/update-env-configs.d.ts.map +1 -0
  33. package/dist/commands/update-env-configs.js +252 -0
  34. package/dist/commands/update-env-configs.js.map +1 -0
  35. package/dist/commands/update.d.ts.map +1 -1
  36. package/dist/commands/update.js +13 -0
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/commands/verify.d.ts +3 -0
  39. package/dist/commands/verify.d.ts.map +1 -1
  40. package/dist/commands/verify.js +330 -3
  41. package/dist/commands/verify.js.map +1 -1
  42. package/dist/core/deploy/engine.d.ts +25 -0
  43. package/dist/core/deploy/engine.d.ts.map +1 -0
  44. package/dist/core/deploy/engine.js +348 -0
  45. package/dist/core/deploy/engine.js.map +1 -0
  46. package/dist/core/environment-config.d.ts +61 -0
  47. package/dist/core/environment-config.d.ts.map +1 -0
  48. package/dist/core/environment-config.js +178 -0
  49. package/dist/core/environment-config.js.map +1 -0
  50. package/dist/core/pipeline-test.d.ts +83 -0
  51. package/dist/core/pipeline-test.d.ts.map +1 -0
  52. package/dist/core/pipeline-test.js +467 -0
  53. package/dist/core/pipeline-test.js.map +1 -0
  54. package/dist/core/test-config.d.ts +39 -0
  55. package/dist/core/test-config.d.ts.map +1 -0
  56. package/dist/core/test-config.js +162 -0
  57. package/dist/core/test-config.js.map +1 -0
  58. package/dist/core/ui-verify/spec-generator.d.ts.map +1 -1
  59. package/dist/core/ui-verify/spec-generator.js +27 -0
  60. package/dist/core/ui-verify/spec-generator.js.map +1 -1
  61. package/dist/core/unified-config.d.ts +49 -0
  62. package/dist/core/unified-config.d.ts.map +1 -1
  63. package/dist/core/unified-config.js +89 -0
  64. package/dist/core/unified-config.js.map +1 -1
  65. package/package.json +1 -1
@@ -85,7 +85,130 @@ async function checkUIVerifyStatus(taskId, iteration) {
85
85
  return { block: false, message: '⚠️ UI 验证状态文件读取失败,跳过检查' };
86
86
  }
87
87
  }
88
+ function detectGitPlatformCLI() {
89
+ try {
90
+ (0, child_process_1.execSync)('gh --version', { stdio: 'pipe' });
91
+ return { platform: 'github', cli: 'gh' };
92
+ }
93
+ catch {
94
+ // gh 未安装
95
+ }
96
+ try {
97
+ (0, child_process_1.execSync)('glab --version', { stdio: 'pipe' });
98
+ return { platform: 'gitlab', cli: 'glab' };
99
+ }
100
+ catch {
101
+ // glab 未安装
102
+ }
103
+ return { platform: null, cli: null };
104
+ }
105
+ /** 从 git remote url 判断平台 */
106
+ function detectPlatformFromRemote() {
107
+ try {
108
+ const remote = (0, child_process_1.execSync)('git remote get-url origin', { encoding: 'utf-8', stdio: 'pipe' }).trim();
109
+ if (remote.includes('github.com'))
110
+ return 'github';
111
+ if (remote.includes('gitlab'))
112
+ return 'gitlab';
113
+ if (remote.includes('gitee.com'))
114
+ return 'github'; // gitee 兼容 gh 的部分操作
115
+ }
116
+ catch {
117
+ // ignore
118
+ }
119
+ return null;
120
+ }
121
+ /** 创建 Pull Request */
122
+ async function createPullRequest(base, title, draft) {
123
+ const { platform, cli } = detectGitPlatformCLI();
124
+ const detected = platform || detectPlatformFromRemote();
125
+ if (!cli) {
126
+ return {
127
+ success: false,
128
+ message: `未检测到 GitHub CLI (gh) 或 GitLab CLI (glab)。\n 请安装对应 CLI 以自动创建 PR:\n • GitHub: https://cli.github.com/\n • GitLab: https://gitlab.com/gitlab-org/cli`,
129
+ };
130
+ }
131
+ try {
132
+ if (detected === 'github' || cli === 'gh') {
133
+ const args = [
134
+ 'pr', 'create',
135
+ '--base', base,
136
+ '--title', title,
137
+ '--body', 'Auto PR by SpecCore',
138
+ '--fill',
139
+ ];
140
+ if (draft)
141
+ args.push('--draft');
142
+ const result = (0, child_process_1.execSync)(`gh ${args.map((a) => `"${a.replace(/"/g, '\\"')}"`).join(' ')}`, {
143
+ encoding: 'utf-8',
144
+ stdio: 'pipe',
145
+ });
146
+ // gh pr create 会在 stdout 输出 PR URL
147
+ const urlMatch = result.match(/https:\/\/github\.com\/[^\s]+/);
148
+ return { success: true, url: urlMatch ? urlMatch[0] : undefined, message: 'PR 创建成功' };
149
+ }
150
+ if (detected === 'gitlab' || cli === 'glab') {
151
+ const args = [
152
+ 'mr', 'create',
153
+ '--target-branch', base,
154
+ '--title', title,
155
+ '--description', 'Auto MR by SpecCore',
156
+ ];
157
+ if (draft)
158
+ args.push('--draft');
159
+ const result = (0, child_process_1.execSync)(`glab ${args.map((a) => `"${a.replace(/"/g, '\\"')}"`).join(' ')}`, {
160
+ encoding: 'utf-8',
161
+ stdio: 'pipe',
162
+ });
163
+ const urlMatch = result.match(/https:\/\/[^\s]+\/merge_requests\/\d+/);
164
+ return { success: true, url: urlMatch ? urlMatch[0] : undefined, message: 'MR 创建成功' };
165
+ }
166
+ return { success: false, message: '无法识别 Git 平台类型' };
167
+ }
168
+ catch (e) {
169
+ return { success: false, message: `创建 PR 失败: ${e.message || e}` };
170
+ }
171
+ }
172
+ /** 合并 Pull Request */
173
+ async function mergePullRequest(auto) {
174
+ const { platform, cli } = detectGitPlatformCLI();
175
+ if (!cli) {
176
+ return {
177
+ success: false,
178
+ message: '未检测到 gh 或 glab CLI,无法自动合并',
179
+ };
180
+ }
181
+ try {
182
+ if (cli === 'gh') {
183
+ const args = ['pr', 'merge', '--squash', '--delete-branch'];
184
+ if (auto)
185
+ args.push('--auto');
186
+ (0, child_process_1.execSync)(`gh ${args.join(' ')}`, { stdio: 'pipe' });
187
+ return { success: true, message: auto ? '已启用自动合并' : 'PR 已合并' };
188
+ }
189
+ if (cli === 'glab') {
190
+ (0, child_process_1.execSync)('glab mr merge --squash --remove-source-branch', { stdio: 'pipe' });
191
+ return { success: true, message: 'MR 已合并' };
192
+ }
193
+ return { success: false, message: '无法识别 Git 平台类型' };
194
+ }
195
+ catch (e) {
196
+ return { success: false, message: `合并失败: ${e.message || e}` };
197
+ }
198
+ }
88
199
  async function prCommand(options) {
200
+ // ── 独立合并模式 ──
201
+ if (options.merge && !options.force && !options.response && !options.prompt) {
202
+ const result = await mergePullRequest(options.autoMerge);
203
+ if (result.success) {
204
+ logger_1.logger.success(`✅ ${result.message}`);
205
+ }
206
+ else {
207
+ logger_1.logger.error(`❌ ${result.message}`);
208
+ process.exitCode = 1;
209
+ }
210
+ return;
211
+ }
89
212
  // ── Prompt 模式:输出分析 Prompt 给 AI ──
90
213
  if (options.prompt) {
91
214
  const iter = options.iteration || await (0, context_1.getDefaultIteration)();
@@ -223,13 +346,44 @@ async function prCommand(options) {
223
346
  logger_1.logger.success(`✅ 已提交: ${commitMsg}`);
224
347
  // 推送
225
348
  const branch = (0, child_process_1.execSync)('git branch --show-current', { encoding: 'utf-8' }).trim();
349
+ let pushed = false;
226
350
  if (!(0, git_integration_1.isProtectedBranch)(branch)) {
227
351
  (0, child_process_1.execSync)(`git push -u origin "${branch}"`, { stdio: 'pipe' });
228
352
  logger_1.logger.success(`✅ 已推送: ${branch}`);
353
+ pushed = true;
229
354
  }
230
355
  else {
231
356
  logger_1.logger.info(`ℹ️ ${branch} 为保护分支,跳过推送(请通过 PR 合并)`);
232
357
  }
358
+ // 自动创建 PR
359
+ if ((options.createPr || options.autoMerge) && pushed) {
360
+ const prResult = await createPullRequest(options.base || 'main', options.title || commitMsg, options.draft);
361
+ if (prResult.success) {
362
+ logger_1.logger.success(`✅ ${prResult.message}${prResult.url ? ': ' + prResult.url : ''}`);
363
+ if (options.autoMerge) {
364
+ const mergeResult = await mergePullRequest(true);
365
+ if (mergeResult.success) {
366
+ logger_1.logger.success(`✅ ${mergeResult.message}`);
367
+ }
368
+ else {
369
+ logger_1.logger.warn(`⚠️ ${mergeResult.message}`);
370
+ }
371
+ }
372
+ }
373
+ else {
374
+ logger_1.logger.warn(`⚠️ ${prResult.message}`);
375
+ }
376
+ }
377
+ // 独立合并(仅 merge,不创建 PR)
378
+ if (options.merge && !options.createPr && !options.autoMerge) {
379
+ const mergeResult = await mergePullRequest(false);
380
+ if (mergeResult.success) {
381
+ logger_1.logger.success(`✅ ${mergeResult.message}`);
382
+ }
383
+ else {
384
+ logger_1.logger.warn(`⚠️ ${mergeResult.message}`);
385
+ }
386
+ }
233
387
  // 输出结果
234
388
  process.stdout.write(`[SPECCORE_RESULT]\n${JSON.stringify({ committed: true, message: commitMsg, branch, analysisMatch })}\n[/SPECCORE_RESULT]`);
235
389
  }
@@ -267,10 +421,12 @@ async function prCommand(options) {
267
421
  return;
268
422
  }
269
423
  const branch = (0, child_process_1.execSync)('git branch --show-current', { encoding: 'utf-8' }).trim();
424
+ let pushed = false;
270
425
  if (!(0, git_integration_1.isProtectedBranch)(branch)) {
271
426
  try {
272
427
  (0, child_process_1.execSync)(`git push -u origin "${branch}"`, { stdio: 'pipe' });
273
428
  logger_1.logger.success(`✅ 已推送: ${branch}`);
429
+ pushed = true;
274
430
  }
275
431
  catch {
276
432
  logger_1.logger.info(`ℹ️ 推送跳过(远程可能不存在)`);
@@ -279,6 +435,36 @@ async function prCommand(options) {
279
435
  else {
280
436
  logger_1.logger.info(`ℹ️ ${branch} 为保护分支,跳过推送(请通过 PR 合并)`);
281
437
  }
438
+ // 自动创建 PR / 合并
439
+ if ((options.createPr || options.autoMerge) && pushed) {
440
+ const base = options.base || 'main';
441
+ const title = options.title || msg;
442
+ const prResult = await createPullRequest(base, title, options.draft);
443
+ if (prResult.success) {
444
+ logger_1.logger.success(`✅ ${prResult.message}${prResult.url ? ': ' + prResult.url : ''}`);
445
+ if (options.autoMerge) {
446
+ const mergeResult = await mergePullRequest(true);
447
+ if (mergeResult.success) {
448
+ logger_1.logger.success(`✅ ${mergeResult.message}`);
449
+ }
450
+ else {
451
+ logger_1.logger.warn(`⚠️ ${mergeResult.message}`);
452
+ }
453
+ }
454
+ }
455
+ else {
456
+ logger_1.logger.warn(`⚠️ ${prResult.message}`);
457
+ }
458
+ }
459
+ if (options.merge && !options.createPr && !options.autoMerge) {
460
+ const mergeResult = await mergePullRequest(false);
461
+ if (mergeResult.success) {
462
+ logger_1.logger.success(`✅ ${mergeResult.message}`);
463
+ }
464
+ else {
465
+ logger_1.logger.warn(`⚠️ ${mergeResult.message}`);
466
+ }
467
+ }
282
468
  return;
283
469
  }
284
470
  // ── CLI 默认模式:交互式提交 ──
@@ -365,13 +551,45 @@ async function prCommand(options) {
365
551
  logger_1.logger.success(`✅ 已提交: ${msg}`);
366
552
  if (pushAns === 'y') {
367
553
  const currentBranch = (0, child_process_1.execSync)('git branch --show-current', { encoding: 'utf-8' }).trim();
554
+ let pushed = false;
368
555
  if (!(0, git_integration_1.isProtectedBranch)(currentBranch)) {
369
556
  (0, child_process_1.execSync)(`git push -u origin "${currentBranch}"`, { stdio: 'pipe' });
370
557
  logger_1.logger.success(`✅ 已推送: ${currentBranch}`);
558
+ pushed = true;
371
559
  }
372
560
  else {
373
561
  logger_1.logger.info(`ℹ️ ${currentBranch} 为保护分支,跳过推送(请通过 PR 合并)`);
374
562
  }
563
+ // 自动创建 PR / 合并
564
+ if ((options.createPr || options.autoMerge) && pushed) {
565
+ const base = options.base || 'main';
566
+ const title = options.title || msg;
567
+ const prResult = await createPullRequest(base, title, options.draft);
568
+ if (prResult.success) {
569
+ logger_1.logger.success(`✅ ${prResult.message}${prResult.url ? ': ' + prResult.url : ''}`);
570
+ if (options.autoMerge) {
571
+ const mergeResult = await mergePullRequest(true);
572
+ if (mergeResult.success) {
573
+ logger_1.logger.success(`✅ ${mergeResult.message}`);
574
+ }
575
+ else {
576
+ logger_1.logger.warn(`⚠️ ${mergeResult.message}`);
577
+ }
578
+ }
579
+ }
580
+ else {
581
+ logger_1.logger.warn(`⚠️ ${prResult.message}`);
582
+ }
583
+ }
584
+ if (options.merge && !options.createPr && !options.autoMerge) {
585
+ const mergeResult = await mergePullRequest(false);
586
+ if (mergeResult.success) {
587
+ logger_1.logger.success(`✅ ${mergeResult.message}`);
588
+ }
589
+ else {
590
+ logger_1.logger.warn(`⚠️ ${mergeResult.message}`);
591
+ }
592
+ }
375
593
  }
376
594
  else {
377
595
  logger_1.logger.info('📌 仅提交到本地,未推送');
@@ -1 +1 @@
1
- {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** update 时初始化环境配置目录 */
2
+ export declare function initEnvironmentConfigs(projectRoot: string): Promise<string[]>;
3
+ //# sourceMappingURL=update-env-configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-env-configs.d.ts","sourceRoot":"","sources":["../../src/commands/update-env-configs.ts"],"names":[],"mappings":"AA4OA,wBAAwB;AACxB,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnF"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initEnvironmentConfigs = initEnvironmentConfigs;
4
+ /**
5
+ * update-env-configs — update 时初始化/升级环境配置
6
+ *
7
+ * v8.3.60+
8
+ */
9
+ const path_1 = require("path");
10
+ const fs_extra_1 = require("fs-extra");
11
+ const logger_1 = require("../utils/logger");
12
+ const ENV_TEMPLATES = [
13
+ {
14
+ name: 'local',
15
+ branch: '',
16
+ purpose: '本地开发调试',
17
+ buildCmd: 'npm run build:dev',
18
+ baseUrl: 'http://localhost:3000',
19
+ },
20
+ {
21
+ name: 'dev',
22
+ branch: 'develop',
23
+ purpose: '开发联调环境',
24
+ buildCmd: 'npm run build:dev',
25
+ baseUrl: 'https://dev.example.com',
26
+ },
27
+ {
28
+ name: 'test',
29
+ branch: 'release/test',
30
+ purpose: '测试环境 / QA / SIT',
31
+ buildCmd: 'npm run build:test',
32
+ baseUrl: 'https://test.example.com',
33
+ },
34
+ {
35
+ name: 'staging',
36
+ branch: 'staging',
37
+ purpose: '预发布 / 准生产环境',
38
+ buildCmd: 'npm run build:staging',
39
+ baseUrl: 'https://staging.example.com',
40
+ },
41
+ {
42
+ name: 'production',
43
+ branch: 'main',
44
+ purpose: '线上生产环境',
45
+ buildCmd: 'npm run build:prod',
46
+ baseUrl: 'https://www.example.com',
47
+ },
48
+ ];
49
+ function generateEnvContent(t) {
50
+ const branchComment = t.branch
51
+ ? `# pipeline 执行时会自动将当前分支合并到此分支,然后 build+deploy`
52
+ : `# 本地通常直接在 feature 分支开发,不指定合并目标`;
53
+ return `# =============================================================================
54
+ # SpecCore 环境配置 — ${t.name}(${t.purpose})
55
+ # =============================================================================
56
+ # 支持任意数量的环境,复制本文件修改 env 和 branch 即可新建环境。
57
+ # 典型工作流:
58
+ # speccore build --env ${t.name} --platform h5
59
+ # speccore deploy --env ${t.name} --platform h5
60
+ # speccore pipeline --env ${t.name} --all
61
+ # =============================================================================
62
+
63
+ env: ${t.name}
64
+
65
+ # 该环境对应的 Git 目标分支
66
+ ${branchComment}
67
+ ${t.branch ? `branch: ${t.branch}` : '# branch: (未配置,pipeline 不会执行 merge)'}
68
+
69
+ # 全局默认值
70
+ defaults:
71
+ build_cmd: ${t.buildCmd}
72
+
73
+ # 按端覆盖配置
74
+ platforms:
75
+ # 前端示例:H5 移动端 → S3/CDN
76
+ h5:
77
+ build_cmd: ${t.buildCmd}
78
+ deploy:
79
+ type: static
80
+ output_dir: dist
81
+ target: s3://mybucket-${t.name}/h5/
82
+
83
+ # 前端示例:Admin 管理后台 → Nginx 服务器
84
+ admin-web:
85
+ build_cmd: ${t.buildCmd}
86
+ deploy:
87
+ type: ssh
88
+ output_dir: dist
89
+ host: deploy@${t.name === 'production' ? 'prod' : t.name}-server.example.com:22
90
+ remote_dir: /usr/share/nginx/html/admin/
91
+ key: ~/.ssh/deploy_key
92
+ post_deploy:
93
+ - ssh deploy@${t.name === 'production' ? 'prod' : t.name}-server.example.com "sudo nginx -s reload"
94
+
95
+ # 后端示例:Java API 服务 → Docker
96
+ order-api:
97
+ build_cmd: ./mvnw package -DskipTests -P${t.name === 'local' ? 'dev' : t.name}
98
+ deploy:
99
+ type: docker
100
+ registry: registry.example.com/myapp-${t.name === 'production' ? 'prod' : t.name}
101
+ image: order-service
102
+ tag: ${t.name === 'production' ? 'prod' : t.name}
103
+
104
+ # 后端示例:Node.js 服务 → PM2
105
+ notification-service:
106
+ build_cmd: npm run build
107
+ deploy:
108
+ type: pm2
109
+ output_dir: .
110
+ pm2_config: ecosystem.config.js
111
+ # 如需远程部署,取消注释:
112
+ # host: deploy@server.example.com
113
+ # remote_dir: /opt/services/notification
114
+
115
+ # 后端示例:Go 网关 → K8s
116
+ gateway:
117
+ build_cmd: go build -o bin/gateway ./cmd/gateway
118
+ deploy:
119
+ type: k8s
120
+ target: ${t.name}
121
+ script: k8s/gateway-deployment.yaml
122
+
123
+ # 后端示例:Python 处理 → 脚本部署
124
+ data-processor:
125
+ build_cmd: pip install -r requirements.txt -t dist/
126
+ deploy:
127
+ type: script
128
+ script: ./scripts/deploy-processor.sh
129
+
130
+ # 后端示例:用户服务 → Helm
131
+ user-service:
132
+ build_cmd: ./mvnw package -DskipTests -P${t.name}
133
+ deploy:
134
+ type: helm
135
+ target: ${t.name}
136
+ script: ./helm/user-service
137
+ output_dir: values-${t.name}.yaml
138
+
139
+ # 后端示例:定时任务 → SFTP 到服务器
140
+ scheduler:
141
+ build_cmd: go build -o bin/scheduler ./cmd/scheduler
142
+ deploy:
143
+ type: sftp
144
+ output_dir: bin
145
+ host: deploy@server.example.com
146
+ remote_dir: /opt/services/scheduler/
147
+ key: ~/.ssh/deploy_key
148
+
149
+ # 后端示例:WebSocket 服务 → 函数计算
150
+ ws-handler:
151
+ build_cmd: npm run build
152
+ deploy:
153
+ type: serverless
154
+ provider: aliyun-fc
155
+ target: ws-handler-${t.name}
156
+
157
+ # 测试相关配置(与 verify --config 联动)
158
+ tests:
159
+ base_urls:
160
+ h5: ${t.baseUrl}/h5
161
+ admin: ${t.baseUrl}/admin
162
+ order-api: ${t.baseUrl.replace('www.', 'api-').replace('https://', 'https://api-')}
163
+
164
+ visual_model:
165
+ provider: qwen-vl
166
+ model: qwen-vl-max
167
+ timeout: 60000
168
+
169
+ # 分层测试配置(v8.3.60+)
170
+ # 与 speccore verify --stage <stage> 联动,不同阶段自动加载对应测试场景。
171
+ # 也可直接运行: speccore verify --config .speccore/tests/smoke.yaml --env-file ${t.name}
172
+ stages:
173
+ # 开发阶段:编译 + Lint + 单元测试(无需外部服务)
174
+ dev:
175
+ config: null # 使用内置代码质量验证
176
+ # PR 阶段:代码质量 + 关键页面冒烟 + API 契约
177
+ pr:
178
+ config: .speccore/tests/pr.yaml
179
+ # 部署阶段:仅冒烟测试(快速门禁)
180
+ deploy:
181
+ config: .speccore/tests/smoke.yaml
182
+ # 发布阶段:全量回归
183
+ release:
184
+ config: .speccore/tests/release.yaml
185
+
186
+ # Pipeline 测试配置(v8.3.60+)
187
+ # 在 build 之后、deploy 之前/之后执行测试,失败按严重程度决定是否阻断部署。
188
+ #
189
+ # 推荐的分层 Pipeline 测试策略:
190
+ # ┌─────────────────────────────────────────────────────────────┐
191
+ # │ pre-deploy (build 后 deploy 前) │
192
+ # │ • build-check: 构建产物检查(快速、必做) │
193
+ # │ • smoke: HTTP 可达性(推荐,验证服务已启动) │
194
+ # │ • type=smoke + stage=pre-deploy → 部署前快速门禁 │
195
+ # ├─────────────────────────────────────────────────────────────┤
196
+ # │ post-deploy (deploy 后) │
197
+ # │ • visual: 视觉回归(已上线,只报告不阻断) │
198
+ # │ • api: API 契约验证 │
199
+ # │ • type=all + stage=post-deploy → 部署后验收 │
200
+ # ├─────────────────────────────────────────────────────────────┤
201
+ # │ both (前后都测) │
202
+ # │ • pre: build-check + smoke │
203
+ # │ • post: visual + api │
204
+ # │ → 最完整的质量闭环,但耗时较长 │
205
+ # └─────────────────────────────────────────────────────────────┘
206
+ #
207
+ # 严重程度分级:
208
+ # - critical(严重): build-check 失败、HTTP 5xx/连接失败 → 必须阻断
209
+ # - warning(警告): visual 差异、api 契约差异、HTTP 404 → 自动修复模式下先部署后修复
210
+ pipeline:
211
+ test:
212
+ # 是否启用 pipeline 内置测试(默认 false)
213
+ enabled: false
214
+ # 测试类型: build-check / smoke / visual / api / all
215
+ type: build-check
216
+ # 测试时机: pre-deploy(部署前,默认) / post-deploy(部署后) / both(前后都测)
217
+ stage: pre-deploy
218
+ # 自定义测试场景配置文件路径(可选)
219
+ # config: ./tests/pipeline-${t.name}.yaml
220
+ # 测试失败是否阻断 deploy(默认 true,仅对 critical 生效)
221
+ fail_on_error: true
222
+ # 测试失败时是否输出 AI 自动修复标记(默认 true)
223
+ auto_fix: true
224
+ # 自动修复最大重试次数
225
+ max_retries: 3
226
+ `;
227
+ }
228
+ /** update 时初始化环境配置目录 */
229
+ async function initEnvironmentConfigs(projectRoot) {
230
+ const envDir = (0, path_1.join)(projectRoot, '.speccore', 'environments');
231
+ await (0, fs_extra_1.ensureDir)(envDir);
232
+ const files = await (0, fs_extra_1.readdir)(envDir);
233
+ const hasYaml = files.some((f) => f.endsWith('.yaml') || f.endsWith('.yml'));
234
+ const created = [];
235
+ if (!hasYaml) {
236
+ logger_1.logger.info(' 📦 初始化默认环境配置...');
237
+ for (const t of ENV_TEMPLATES) {
238
+ const filePath = (0, path_1.join)(envDir, `${t.name}.yaml`);
239
+ await (0, fs_extra_1.writeFile)(filePath, generateEnvContent(t), 'utf-8');
240
+ created.push(`.speccore/environments/${t.name}.yaml`);
241
+ }
242
+ }
243
+ else {
244
+ // 已有环境配置,仅更新示例文件
245
+ const examplePath = (0, path_1.join)(envDir, 'staging.yaml.example');
246
+ const exampleContent = generateEnvContent(ENV_TEMPLATES[2]) + '\n# 本文件为示例,可复制为 staging.yaml 后修改使用\n';
247
+ await (0, fs_extra_1.writeFile)(examplePath, exampleContent, 'utf-8');
248
+ created.push('.speccore/environments/staging.yaml.example');
249
+ }
250
+ return created;
251
+ }
252
+ //# sourceMappingURL=update-env-configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-env-configs.js","sourceRoot":"","sources":["../../src/commands/update-env-configs.ts"],"names":[],"mappings":";;AA6OA,wDAyBC;AAtQD;;;;GAIG;AACH,+BAA4B;AAC5B,uCAAqE;AACrE,4CAAyC;AAUzC,MAAM,aAAa,GAAkB;IACnC;QACE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,uBAAuB;KACjC;IACD;QACE,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,yBAAyB;KACnC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,0BAA0B;KACpC;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,6BAA6B;KACvC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,yBAAyB;KACnC;CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,CAAc;IACxC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM;QAC5B,CAAC,CAAC,8CAA8C;QAChD,CAAC,CAAC,gCAAgC,CAAC;IAErC,OAAO;oBACW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO;;;;2BAIZ,CAAC,CAAC,IAAI;4BACL,CAAC,CAAC,IAAI;8BACJ,CAAC,CAAC,IAAI;;;OAG7B,CAAC,CAAC,IAAI;;;EAGX,aAAa;EACb,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,qCAAqC;;;;eAI3D,CAAC,CAAC,QAAQ;;;;;;iBAMR,CAAC,CAAC,QAAQ;;;;8BAIG,CAAC,CAAC,IAAI;;;;iBAInB,CAAC,CAAC,QAAQ;;;;qBAIN,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;;;;uBAIvC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;;;;8CAIlB,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;;;6CAGpC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;;aAEzE,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;;;;;;;;;;;;;;;;;;gBAkBtC,CAAC,CAAC,IAAI;;;;;;;;;;;;8CAYwB,CAAC,CAAC,IAAI;;;gBAGpC,CAAC,CAAC,IAAI;;2BAEK,CAAC,CAAC,IAAI;;;;;;;;;;;;;;;;;;2BAkBN,CAAC,CAAC,IAAI;;;;;UAKvB,CAAC,CAAC,OAAO;aACN,CAAC,CAAC,OAAO;iBACL,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;;;;;;;;;2EASX,CAAC,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAgDhD,CAAC,CAAC,IAAI;;;;;;;CAOtC,CAAC;AACF,CAAC;AAED,wBAAwB;AACjB,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAC9D,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,IAAA,oBAAS,EAAC,MAAM,CAAC,CAAC;IAExB,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAErF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,eAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;YAChD,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,iBAAiB;QACjB,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,sCAAsC,CAAC;QACrG,MAAM,IAAA,oBAAS,EAAC,WAAW,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AA6BA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4T9F"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AA8BA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwU9F"}
@@ -44,6 +44,7 @@ const logger_1 = require("../utils/logger");
44
44
  const package_json_1 = require("../../package.json");
45
45
  const init_1 = require("./init");
46
46
  const unified_config_1 = require("../core/unified-config");
47
+ const update_env_configs_1 = require("./update-env-configs");
47
48
  // ── 当前版本的命令列表统一从 init.ts 导入(单一事实来源)──
48
49
  // 避免 init.ts 与 update.ts 的命令列表不一致导致清理误删
49
50
  const ALL_COMMANDS = init_1.TOOL_COMMANDS;
@@ -228,6 +229,12 @@ async function updateCommand(options) {
228
229
  }
229
230
  }
230
231
  catch { }
232
+ // v8.3.60+: 初始化/升级环境配置
233
+ let envConfigCreated = [];
234
+ try {
235
+ envConfigCreated = await (0, update_env_configs_1.initEnvironmentConfigs)(projectRoot);
236
+ }
237
+ catch { }
231
238
  // 4d. 清理旧版本残留的命令文件和 Skill 目录
232
239
  const skillNames = (await require('fs-extra').readdir(skillsSrc)).filter((f) => !f.startsWith('.'));
233
240
  await cleanupStaleFiles(projectRoot, ALL_COMMANDS, skillNames);
@@ -262,6 +269,12 @@ async function updateCommand(options) {
262
269
  logger_1.logger.info(' ✅ .speccore/COMMANDS/ — 命令模板库');
263
270
  logger_1.logger.info(' ✅ .speccore/SKILLS/ — 可复用技能库');
264
271
  logger_1.logger.info(' ✅ .speccore/HOOKS/ — 生命周期钩子库');
272
+ if (envConfigCreated.length > 0) {
273
+ logger_1.logger.info(' ✅ .speccore/environments/ — 环境配置');
274
+ for (const f of envConfigCreated) {
275
+ logger_1.logger.info(` + ${f}`);
276
+ }
277
+ }
265
278
  logger_1.logger.info('');
266
279
  // 全面升级问题报告(过滤 update 自动修复的问题)
267
280
  // missing-dir / missing-file 由 update 流程自动创建,不在报告中重复提示