speccore 8.3.348 → 8.3.363
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/.agents/skills/spec-verify/SKILL.md +22 -1
- package/dist/cli.js +19 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.d.ts.map +1 -1
- package/dist/commands/about.js +36 -1
- package/dist/commands/about.js.map +1 -1
- package/dist/commands/analyze/add-platform.d.ts +3 -0
- package/dist/commands/analyze/add-platform.d.ts.map +1 -0
- package/dist/commands/analyze/add-platform.js +82 -0
- package/dist/commands/analyze/add-platform.js.map +1 -0
- package/dist/commands/analyze/audit-fix.d.ts +3 -0
- package/dist/commands/analyze/audit-fix.d.ts.map +1 -0
- package/dist/commands/analyze/audit-fix.js +73 -0
- package/dist/commands/analyze/audit-fix.js.map +1 -0
- package/dist/commands/analyze/context-guard.d.ts +3 -0
- package/dist/commands/analyze/context-guard.d.ts.map +1 -0
- package/dist/commands/analyze/context-guard.js +75 -0
- package/dist/commands/analyze/context-guard.js.map +1 -0
- package/dist/commands/analyze/doc.d.ts +3 -0
- package/dist/commands/analyze/doc.d.ts.map +1 -0
- package/dist/commands/analyze/doc.js +77 -0
- package/dist/commands/analyze/doc.js.map +1 -0
- package/dist/commands/analyze/feature.d.ts +3 -0
- package/dist/commands/analyze/feature.d.ts.map +1 -0
- package/dist/commands/analyze/feature.js +75 -0
- package/dist/commands/analyze/feature.js.map +1 -0
- package/dist/commands/analyze/from-code.d.ts +3 -0
- package/dist/commands/analyze/from-code.d.ts.map +1 -0
- package/dist/commands/analyze/from-code.js +94 -0
- package/dist/commands/analyze/from-code.js.map +1 -0
- package/dist/commands/analyze/incremental.d.ts +3 -0
- package/dist/commands/analyze/incremental.d.ts.map +1 -0
- package/dist/commands/analyze/incremental.js +90 -0
- package/dist/commands/analyze/incremental.js.map +1 -0
- package/dist/commands/analyze/modes.d.ts +13 -0
- package/dist/commands/analyze/modes.d.ts.map +1 -0
- package/dist/commands/analyze/modes.js +147 -0
- package/dist/commands/analyze/modes.js.map +1 -0
- package/dist/commands/analyze/module.d.ts +3 -0
- package/dist/commands/analyze/module.d.ts.map +1 -0
- package/dist/commands/analyze/module.js +95 -0
- package/dist/commands/analyze/module.js.map +1 -0
- package/dist/commands/analyze/overview.d.ts +3 -0
- package/dist/commands/analyze/overview.d.ts.map +1 -0
- package/dist/commands/analyze/overview.js +125 -0
- package/dist/commands/analyze/overview.js.map +1 -0
- package/dist/commands/analyze/shared.d.ts +53 -0
- package/dist/commands/analyze/shared.d.ts.map +1 -0
- package/dist/commands/analyze/shared.js +34 -0
- package/dist/commands/analyze/shared.js.map +1 -0
- package/dist/commands/analyze/units.d.ts +46 -0
- package/dist/commands/analyze/units.d.ts.map +1 -0
- package/dist/commands/analyze/units.js +950 -0
- package/dist/commands/analyze/units.js.map +1 -0
- package/dist/commands/analyze.d.ts +6 -88
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +97 -1417
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +4 -2
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +36 -1
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/deploy.d.ts +7 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +156 -3
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/doc2spec.d.ts +1 -1
- package/dist/commands/doc2spec.d.ts.map +1 -1
- package/dist/commands/doc2spec.js +33 -23
- package/dist/commands/doc2spec.js.map +1 -1
- package/dist/commands/doctor.js +60 -13
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +22 -0
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/help.js +36 -1
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +16 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pipeline.d.ts.map +1 -1
- package/dist/commands/pipeline.js +15 -0
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/commands/plan.js +2 -0
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +14 -3
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/prompts.d.ts +11 -1
- package/dist/commands/prompts.d.ts.map +1 -1
- package/dist/commands/prompts.js +197 -15
- package/dist/commands/prompts.js.map +1 -1
- package/dist/commands/reindex.d.ts.map +1 -1
- package/dist/commands/reindex.js +23 -0
- package/dist/commands/reindex.js.map +1 -1
- package/dist/commands/retro.d.ts.map +1 -1
- package/dist/commands/retro.js +3 -1
- package/dist/commands/retro.js.map +1 -1
- package/dist/commands/status-panel.d.ts.map +1 -1
- package/dist/commands/status-panel.js +9 -1
- package/dist/commands/status-panel.js.map +1 -1
- package/dist/commands/unitize.d.ts +2 -0
- package/dist/commands/unitize.d.ts.map +1 -1
- package/dist/commands/unitize.js +168 -6
- package/dist/commands/unitize.js.map +1 -1
- package/dist/commands/update-env-configs.d.ts.map +1 -1
- package/dist/commands/update-env-configs.js +127 -71
- package/dist/commands/update-env-configs.js.map +1 -1
- package/dist/commands/verify.d.ts +8 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +383 -16
- package/dist/commands/verify.js.map +1 -1
- package/dist/commands/welcome.d.ts.map +1 -1
- package/dist/commands/welcome.js +3 -1
- package/dist/commands/welcome.js.map +1 -1
- package/dist/core/ai-verify/plan-generator.d.ts +94 -0
- package/dist/core/ai-verify/plan-generator.d.ts.map +1 -0
- package/dist/core/ai-verify/plan-generator.js +598 -0
- package/dist/core/ai-verify/plan-generator.js.map +1 -0
- package/dist/core/ai-verify/result-parser.d.ts +27 -0
- package/dist/core/ai-verify/result-parser.d.ts.map +1 -0
- package/dist/core/ai-verify/result-parser.js +212 -0
- package/dist/core/ai-verify/result-parser.js.map +1 -0
- package/dist/core/ai-verify/scope-resolver.d.ts +34 -0
- package/dist/core/ai-verify/scope-resolver.d.ts.map +1 -0
- package/dist/core/ai-verify/scope-resolver.js +183 -0
- package/dist/core/ai-verify/scope-resolver.js.map +1 -0
- package/dist/core/ai-verify/types.d.ts +171 -0
- package/dist/core/ai-verify/types.d.ts.map +1 -0
- package/dist/core/ai-verify/types.js +9 -0
- package/dist/core/ai-verify/types.js.map +1 -0
- package/dist/core/ai-verify/visual-judge.d.ts +33 -0
- package/dist/core/ai-verify/visual-judge.d.ts.map +1 -0
- package/dist/core/ai-verify/visual-judge.js +123 -0
- package/dist/core/ai-verify/visual-judge.js.map +1 -0
- package/dist/core/ask-engine.d.ts +6 -0
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +83 -3
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/asset-stamp.d.ts +7 -4
- package/dist/core/asset-stamp.d.ts.map +1 -1
- package/dist/core/asset-stamp.js +9 -6
- package/dist/core/asset-stamp.js.map +1 -1
- package/dist/core/code-graph/builder.d.ts.map +1 -1
- package/dist/core/code-graph/builder.js +93 -75
- package/dist/core/code-graph/builder.js.map +1 -1
- package/dist/core/code-graph/incremental-build.d.ts.map +1 -1
- package/dist/core/code-graph/incremental-build.js +13 -19
- package/dist/core/code-graph/incremental-build.js.map +1 -1
- package/dist/core/code-graph/index.d.ts +1 -1
- package/dist/core/code-graph/index.d.ts.map +1 -1
- package/dist/core/code-graph/index.js +15 -12
- package/dist/core/code-graph/index.js.map +1 -1
- package/dist/core/code-graph/multimodal.js +1 -1
- package/dist/core/code-graph/parser.js +1 -1
- package/dist/core/code-graph/query.d.ts +1 -1
- package/dist/core/code-graph/reporter.d.ts +1 -1
- package/dist/core/code-graph/reporter.d.ts.map +1 -1
- package/dist/core/code-graph/reporter.js +18 -10
- package/dist/core/code-graph/reporter.js.map +1 -1
- package/dist/core/code-graph/requirement-linker.d.ts.map +1 -1
- package/dist/core/code-graph/requirement-linker.js +24 -14
- package/dist/core/code-graph/requirement-linker.js.map +1 -1
- package/dist/core/code-graph/types.d.ts +1 -1
- package/dist/core/code-graph/types.js +1 -1
- package/dist/core/code-graph/visualizer.d.ts +1 -7
- package/dist/core/code-graph/visualizer.d.ts.map +1 -1
- package/dist/core/code-graph/visualizer.js +476 -49
- package/dist/core/code-graph/visualizer.js.map +1 -1
- package/dist/core/deploy/engine.d.ts +21 -0
- package/dist/core/deploy/engine.d.ts.map +1 -1
- package/dist/core/deploy/engine.js +288 -12
- package/dist/core/deploy/engine.js.map +1 -1
- package/dist/core/deploy-ledger.d.ts +12 -0
- package/dist/core/deploy-ledger.d.ts.map +1 -0
- package/dist/core/deploy-ledger.js +35 -0
- package/dist/core/deploy-ledger.js.map +1 -0
- package/dist/core/environment-config.d.ts +11 -0
- package/dist/core/environment-config.d.ts.map +1 -1
- package/dist/core/environment-config.js +4 -0
- package/dist/core/environment-config.js.map +1 -1
- package/dist/core/intent-cache.d.ts.map +1 -1
- package/dist/core/intent-cache.js +6 -0
- package/dist/core/intent-cache.js.map +1 -1
- package/dist/core/knowledge-visualizer.js +1 -1
- package/dist/core/page-bundle.d.ts +2 -0
- package/dist/core/page-bundle.d.ts.map +1 -1
- package/dist/core/page-bundle.js +18 -1
- package/dist/core/page-bundle.js.map +1 -1
- package/dist/core/plan-html.js +1 -1
- package/dist/core/platform-inference.d.ts +35 -0
- package/dist/core/platform-inference.d.ts.map +1 -1
- package/dist/core/platform-inference.js +92 -0
- package/dist/core/platform-inference.js.map +1 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.d.ts.map +1 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.js +16 -1
- package/dist/core/prompt-plugins/analyze-graph-plugin.js.map +1 -1
- package/dist/core/prompt-plugins/execute-graph-plugin.d.ts +2 -0
- package/dist/core/prompt-plugins/execute-graph-plugin.d.ts.map +1 -1
- package/dist/core/prompt-plugins/execute-graph-plugin.js +127 -27
- package/dist/core/prompt-plugins/execute-graph-plugin.js.map +1 -1
- package/dist/core/quality-audit.d.ts.map +1 -1
- package/dist/core/quality-audit.js +18 -0
- package/dist/core/quality-audit.js.map +1 -1
- package/dist/core/reindex-engine.d.ts +20 -0
- package/dist/core/reindex-engine.d.ts.map +1 -1
- package/dist/core/reindex-engine.js +142 -0
- package/dist/core/reindex-engine.js.map +1 -1
- package/dist/core/requirement-clarifier.d.ts.map +1 -1
- package/dist/core/requirement-clarifier.js +22 -6
- package/dist/core/requirement-clarifier.js.map +1 -1
- package/dist/core/spec-paths.d.ts +5 -0
- package/dist/core/spec-paths.d.ts.map +1 -1
- package/dist/core/spec-paths.js +1 -0
- package/dist/core/spec-paths.js.map +1 -1
- package/dist/core/test-config.d.ts +7 -1
- package/dist/core/test-config.d.ts.map +1 -1
- package/dist/core/test-config.js +59 -11
- package/dist/core/test-config.js.map +1 -1
- package/dist/core/ui-verify/index.d.ts +1 -1
- package/dist/core/ui-verify/index.d.ts.map +1 -1
- package/dist/core/ui-verify/index.js +2 -1
- package/dist/core/ui-verify/index.js.map +1 -1
- package/dist/core/ui-verify/smoke-engine.js +71 -15
- package/dist/core/ui-verify/smoke-engine.js.map +1 -1
- package/dist/core/ui-verify/spec-generator.d.ts +5 -9
- package/dist/core/ui-verify/spec-generator.d.ts.map +1 -1
- package/dist/core/ui-verify/spec-generator.js +66 -3
- package/dist/core/ui-verify/spec-generator.js.map +1 -1
- package/dist/core/ui-verify/types.d.ts +25 -0
- package/dist/core/ui-verify/types.d.ts.map +1 -1
- package/dist/core/ui-verify/visual-model-client.d.ts +2 -0
- package/dist/core/ui-verify/visual-model-client.d.ts.map +1 -1
- package/dist/core/ui-verify/visual-model-client.js +4 -4
- package/dist/core/ui-verify/visual-model-client.js.map +1 -1
- package/dist/core/unified-config.d.ts +27 -0
- package/dist/core/unified-config.d.ts.map +1 -1
- package/dist/core/unified-config.js +37 -0
- package/dist/core/unified-config.js.map +1 -1
- package/package.json +1 -1
- package/templates/accounts-example.yaml +49 -0
- package/templates/deploy-examples.yaml +6 -7
- package/templates/html/fonts/JetBrainsMono.woff2 +0 -0
- package/templates/html/fonts/Orbitron.woff2 +0 -0
- package/templates/html/speccore-ask-explain.html +1 -1
- package/templates/html/speccore-ask-guide.html +2 -2
- package/templates/html/speccore-ask-match.html +1 -1
- package/templates/html/speccore-ask-pipeline.html +1 -1
- package/templates/html/speccore-ask-result.html +2 -2
- package/templates/html/speccore-help.html +2 -2
- package/templates/html/speccore-setup-guide.html +16 -1
- package/templates/speccore-yml-example.yml +12 -0
|
@@ -64,122 +64,166 @@ function generateEnvContent(t) {
|
|
|
64
64
|
|
|
65
65
|
env: ${t.name}
|
|
66
66
|
|
|
67
|
-
#
|
|
67
|
+
# ─────────────────────────────────────────────────────────────
|
|
68
|
+
# 该环境对应的 Git 目标分支(四级回退第 2 级)
|
|
69
|
+
# 回退顺序(v8.3.348+,deploy / pipeline 共用):
|
|
70
|
+
# ① platforms.{端}.branch 端级分支(本文件按端指定,优先级最高)
|
|
71
|
+
# ② 本 branch 环境全局分支(所有端默认使用)
|
|
72
|
+
# ③ PROJECT.yaml default_branch 项目级兜底
|
|
73
|
+
# ④ 子任务 git-config 源分支 任务级兜底
|
|
74
|
+
# 命令行显式 --branch 优先于以上全部。
|
|
68
75
|
${branchComment}
|
|
69
76
|
${t.branch ? `branch: ${t.branch}` : '# branch: (未配置,pipeline 不会执行 merge)'}
|
|
70
77
|
|
|
71
|
-
#
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
# v8.3.82+: 每个端可单独配置 branch,覆盖全局 branch
|
|
77
|
-
# branch: main # 该端使用独立分支,pipeline 时优先使用
|
|
78
|
+
# ─────────────────────────────────────────────────────────────
|
|
79
|
+
# 构建命令:各端各自配置 build_cmd(Java / Web / 移动端构建方式各异,
|
|
80
|
+
# 不设全局默认)。解析层支持 defaults.build_cmd 作为「端未写时的兜底」,
|
|
81
|
+
# 仅全端同构项目适用(如全是前端),异构项目不要设。
|
|
82
|
+
# ─────────────────────────────────────────────────────────────
|
|
78
83
|
platforms:
|
|
79
|
-
#
|
|
84
|
+
# ═══ 前端示例 1:H5 移动端 → S3/CDN(静态资源上传)═══
|
|
85
|
+
# 分支说明:本端不写 branch → 回退使用上方全局 branch(四级回退第 ② 级)
|
|
80
86
|
h5:
|
|
81
|
-
build_cmd: ${t.buildCmd}
|
|
87
|
+
build_cmd: ${t.buildCmd} # 本端构建命令(部署前在端源码目录执行)
|
|
82
88
|
deploy:
|
|
83
|
-
type: static
|
|
84
|
-
output_dir: dist
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
89
|
+
type: static # 部署类型:静态资源上传
|
|
90
|
+
output_dir: dist # 构建产物目录(相对端源码路径)
|
|
91
|
+
# 上传目标三种格式:s3://bucket/path(AWS S3)、rsync://user@host:/path 或
|
|
92
|
+
# user@host:/path(rsync 增量同步)、本地目录(直接复制,如挂载的 NFS)
|
|
93
|
+
target: s3://mybucket-${t.name}/h5/ # 上传目标:S3 路径 / rsync 地址 / 本地目录
|
|
94
|
+
|
|
95
|
+
# ═══ 前端示例 2:Admin 管理后台 → Nginx 服务器(SSH)═══
|
|
96
|
+
# 分支说明:示范端级分支覆盖——仅此端切 release 分支(四级回退第 ① 级,
|
|
97
|
+
# 覆盖上方全局 branch);其他端不写 branch 则照用全局 branch。
|
|
88
98
|
admin-web:
|
|
99
|
+
branch: release/admin-web-${t.name} # 端级分支(覆盖全局 branch)
|
|
89
100
|
build_cmd: ${t.buildCmd}
|
|
90
101
|
deploy:
|
|
91
|
-
type: ssh
|
|
92
|
-
output_dir: dist
|
|
93
|
-
host: deploy@${t.name === 'production' ? 'prod' : t.name}-server.example.com:22
|
|
94
|
-
remote_dir: /usr/share/nginx/html/admin/
|
|
95
|
-
key: ~/.ssh/deploy_key
|
|
96
|
-
|
|
102
|
+
type: ssh # 部署类型:SCP 上传产物 + SSH 执行远端命令
|
|
103
|
+
output_dir: dist # 构建产物目录(被 SCP 上传的内容)
|
|
104
|
+
host: deploy@${t.name === 'production' ? 'prod' : t.name}-server.example.com:22 # 远程主机(user@host:port)
|
|
105
|
+
remote_dir: /usr/share/nginx/html/admin/ # 远程部署目录(nginx 站点根,须有写权限)
|
|
106
|
+
key: ~/.ssh/deploy_key # SSH 私钥路径(与 password 二选一,推荐密钥认证)
|
|
107
|
+
# v8.3.348+ 备份开关:覆盖前远端 tar 备份旧包,backup_keep 份滚动清理;默认开启
|
|
108
|
+
# 备份命名:{远程目录}.bak-{时间戳}.tar.gz(如 /usr/share/nginx/html/admin.bak-2026-10-29_14-30-25.tar.gz),恢复时按时间选版本
|
|
109
|
+
backup: true # 是否备份(默认 true;--no-backup 或 backup: false 可关闭)
|
|
110
|
+
backup_keep: 5 # 备份保留份数(默认 5,超出自动删除最旧)
|
|
111
|
+
post_deploy: # 部署后钩子(逐条执行,如 reload 服务)
|
|
97
112
|
- ssh deploy@${t.name === 'production' ? 'prod' : t.name}-server.example.com "sudo nginx -s reload"
|
|
98
113
|
|
|
99
|
-
#
|
|
114
|
+
# ═══ 前端示例 3:Next.js SSR / 静态站 → Vercel(托管平台)═══
|
|
115
|
+
# 前置:项目目录执行过 npx vercel login(首次会要求浏览器授权),
|
|
116
|
+
# 且项目已关联 Vercel(npx vercel link)或首次部署时交互确认。
|
|
117
|
+
# 部署方式:production 环境自动加 --prod 上正式环境,其余环境走 preview。
|
|
118
|
+
# 构建由 Vercel 云端完成(本地 build_cmd 仅作可选预检,引擎不执行)。
|
|
119
|
+
web-ssr:
|
|
120
|
+
# build_cmd: npm run build # 可选:本地构建预检;正式构建由 Vercel 云端完成
|
|
121
|
+
deploy:
|
|
122
|
+
type: vercel # 部署类型:Vercel 托管(Next.js / Nuxt / 静态站等)
|
|
123
|
+
|
|
124
|
+
# ═══ 后端示例 1:Java Spring Boot → SSH + systemd(推荐)═══
|
|
100
125
|
# 前置:服务器上配置好 /etc/systemd/system/order-api.service
|
|
126
|
+
# 变体:传统 Tomcat 部署同样走 type: ssh,产物换成 war,script 改为
|
|
127
|
+
# cp app.war /opt/tomcat/webapps/ && systemctl restart tomcat 即可。
|
|
101
128
|
order-api:
|
|
102
|
-
build_cmd: ./mvnw clean package -DskipTests -P${t.name === 'local' ? 'dev' : t.name}
|
|
129
|
+
build_cmd: ./mvnw clean package -DskipTests -P${t.name === 'local' ? 'dev' : t.name} # 构建命令(maven 打包跳过测试)
|
|
103
130
|
deploy:
|
|
104
131
|
type: ssh
|
|
105
|
-
output_dir: target
|
|
132
|
+
output_dir: target # 构建产物目录(jar 所在)
|
|
106
133
|
host: deploy@${t.name === 'production' ? 'prod' : t.name}-server.example.com:22
|
|
107
|
-
remote_dir: /opt/services/order-api/
|
|
134
|
+
remote_dir: /opt/services/order-api/ # 远程部署目录
|
|
108
135
|
key: ~/.ssh/deploy_key
|
|
109
|
-
script
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
136
|
+
# 远端重启命令:ssh 类型的 script 是「远端 shell 命令串」,不经本地解析;
|
|
137
|
+
# 长脚本建议放远端文件(如 /opt/services/order-api/restart.sh),此处引用;
|
|
138
|
+
# 两三行短命令可直接内联(等价写法见下方注释)。
|
|
139
|
+
script: bash /opt/services/order-api/restart.sh
|
|
140
|
+
# 内联短命令等价写法:
|
|
141
|
+
# script: |
|
|
142
|
+
# sudo systemctl stop order-api
|
|
143
|
+
# sudo cp /opt/services/order-api/*.jar /opt/services/order-api/app.jar
|
|
144
|
+
# sudo systemctl start order-api
|
|
145
|
+
backup: true # v8.3.348+:覆盖前远端 tar 备份旧包(默认开启,backup: false 可关)
|
|
146
|
+
# 备份命名同 admin-web:{远程目录}.bak-{时间戳}.tar.gz
|
|
147
|
+
backup_keep: 5 # 备份保留份数
|
|
148
|
+
post_deploy: # 部署后钩子:确认服务状态
|
|
114
149
|
- ssh -i ~/.ssh/deploy_key deploy@${t.name === 'production' ? 'prod' : t.name}-server.example.com "sudo systemctl status order-api"
|
|
115
150
|
|
|
116
|
-
#
|
|
151
|
+
# ═══ 后端示例 2:Java API 服务 → Docker(容器化部署)═══
|
|
117
152
|
order-api-docker:
|
|
118
153
|
build_cmd: ./mvnw package -DskipTests -P${t.name === 'local' ? 'dev' : t.name}
|
|
119
154
|
deploy:
|
|
120
|
-
type: docker
|
|
121
|
-
registry: registry.example.com/myapp-${t.name === 'production' ? 'prod' : t.name}
|
|
122
|
-
image: order-service
|
|
123
|
-
tag: ${t.name === 'production' ? 'prod' : t.name}
|
|
124
|
-
|
|
125
|
-
|
|
155
|
+
type: docker # 部署类型:构建镜像并推送到 registry
|
|
156
|
+
registry: registry.example.com/myapp-${t.name === 'production' ? 'prod' : t.name} # 镜像仓库地址(远程部署必须配置)
|
|
157
|
+
image: order-service # 镜像名
|
|
158
|
+
tag: ${t.name === 'production' ? 'prod' : t.name} # 镜像标签(默认 latest)
|
|
159
|
+
backup: true # v8.3.348+:pull 前旧镜像打 backup tag(零成本,镜像层共享;默认开启)
|
|
160
|
+
# 备份 tag 命名:{原tag}.bak-{时间戳}(如 staging.bak-2026-10-29_14-30-25),docker images 可见
|
|
161
|
+
backup_keep: 5
|
|
162
|
+
|
|
163
|
+
# ═══ 后端示例 3:Node.js 服务 → PM2 ═══
|
|
126
164
|
notification-service:
|
|
127
|
-
build_cmd: npm run build
|
|
165
|
+
build_cmd: npm run build # 构建命令(产物交给 pm2 的 script 字段启动)
|
|
128
166
|
deploy:
|
|
129
|
-
type: pm2
|
|
130
|
-
output_dir: .
|
|
131
|
-
pm2_config: .speccore/environments/scripts/ecosystem.config.js
|
|
132
|
-
#
|
|
167
|
+
type: pm2 # 部署类型:PM2 进程管理(本地 reload 或 ssh 远端 reload)
|
|
168
|
+
output_dir: . # 产物目录(整个工程目录交给 PM2 管理)
|
|
169
|
+
pm2_config: .speccore/environments/scripts/ecosystem.config.js # PM2 配置(生成示例见 scripts/ 目录)
|
|
170
|
+
# 如需远程部署(ssh 到远端执行 pm2 reload),取消注释:
|
|
133
171
|
# host: deploy@server.example.com
|
|
134
172
|
# remote_dir: /opt/services/notification
|
|
135
173
|
|
|
136
|
-
#
|
|
174
|
+
# ═══ 后端示例 4:Go 网关 → K8s ═══
|
|
175
|
+
# 前置:本地 kubectl 已配置目标集群上下文
|
|
137
176
|
gateway:
|
|
138
|
-
build_cmd: go build -o bin/gateway ./cmd/gateway
|
|
177
|
+
build_cmd: go build -o bin/gateway ./cmd/gateway # 构建命令(镜像由清单内 image 字段决定)
|
|
139
178
|
deploy:
|
|
140
|
-
type: k8s
|
|
141
|
-
target: ${t.name}
|
|
142
|
-
script: .speccore/environments/scripts/k8s-deployment.yaml
|
|
143
|
-
|
|
144
|
-
#
|
|
179
|
+
type: k8s # 部署类型:kubectl 应用清单(apply 后等待就绪)
|
|
180
|
+
target: ${t.name} # k8s namespace(清单文件内 metadata.namespace 可再覆盖)
|
|
181
|
+
script: .speccore/environments/scripts/k8s-deployment.yaml # 清单文件路径(本地文件)
|
|
182
|
+
|
|
183
|
+
# ═══ 后端示例 5:Python 处理 → 脚本部署 ═══
|
|
184
|
+
# type: script 的 script 字段支持「本地脚本文件路径」或内联命令——
|
|
185
|
+
# 文件存在则执行文件,不存在则当命令执行(v8.3.296+ 双基准解析)。
|
|
186
|
+
# Python 服务也可用 script 调 gunicorn / supervisor 等进程管理工具。
|
|
145
187
|
data-processor:
|
|
146
188
|
build_cmd: pip install -r requirements.txt -t dist/
|
|
147
189
|
deploy:
|
|
148
|
-
type: script
|
|
149
|
-
script: .speccore/environments/scripts/deploy.sh
|
|
190
|
+
type: script # 部署类型:自定义脚本
|
|
191
|
+
script: .speccore/environments/scripts/deploy.sh # 脚本路径(或内联命令)
|
|
150
192
|
|
|
151
|
-
#
|
|
193
|
+
# ═══ 后端示例 6:用户服务 → Helm ═══
|
|
152
194
|
user-service:
|
|
153
|
-
build_cmd: ./mvnw package -DskipTests -P${t.name}
|
|
195
|
+
build_cmd: ./mvnw package -DskipTests -P${t.name} # 构建命令(镜像打包后由 Chart 引用)
|
|
154
196
|
deploy:
|
|
155
|
-
type: helm
|
|
156
|
-
target: ${t.name}
|
|
157
|
-
script: ./helm/user-service
|
|
158
|
-
output_dir: .speccore/environments/scripts/values-${t.name}.yaml
|
|
197
|
+
type: helm # 部署类型:Helm Chart 安装(升级或首装)
|
|
198
|
+
target: ${t.name} # helm namespace(如未创建需先 kubectl create ns)
|
|
199
|
+
script: ./helm/user-service # Chart 路径(本地目录或远程仓库引用)
|
|
200
|
+
output_dir: .speccore/environments/scripts/values-${t.name}.yaml # values 文件(按环境区分)
|
|
159
201
|
|
|
160
|
-
#
|
|
202
|
+
# ═══ 后端示例 7:定时任务 → SFTP 到服务器 ═══
|
|
203
|
+
# 适用场景:服务器只开放 SFTP、无 ssh shell 权限(如托管机)
|
|
161
204
|
scheduler:
|
|
162
|
-
build_cmd: go build -o bin/scheduler ./cmd/scheduler
|
|
205
|
+
build_cmd: go build -o bin/scheduler ./cmd/scheduler # 构建命令(产物为 bin/scheduler 可执行文件)
|
|
163
206
|
deploy:
|
|
164
|
-
type: sftp
|
|
165
|
-
output_dir: bin
|
|
166
|
-
host: deploy@server.example.com
|
|
167
|
-
remote_dir: /opt/services/scheduler/
|
|
168
|
-
key: ~/.ssh/deploy_key
|
|
207
|
+
type: sftp # 部署类型:SFTP 上传(无远端 shell 权限场景)
|
|
208
|
+
output_dir: bin # 构建产物目录(整个目录被上传)
|
|
209
|
+
host: deploy@server.example.com # 远程主机(user@host)
|
|
210
|
+
remote_dir: /opt/services/scheduler/ # 远程目录(必须配置)
|
|
211
|
+
key: ~/.ssh/deploy_key # SSH 私钥(sftp 暂不支持备份开关 backup/backup_keep,默认开启不生效)
|
|
169
212
|
|
|
170
|
-
#
|
|
213
|
+
# ═══ 后端示例 8:WebSocket 服务 → 函数计算 ═══
|
|
171
214
|
ws-handler:
|
|
172
|
-
build_cmd: npm run build
|
|
215
|
+
build_cmd: npm run build # 构建命令(产物打包为函数代码包)
|
|
173
216
|
deploy:
|
|
174
|
-
type: serverless
|
|
175
|
-
provider: aliyun-fc
|
|
176
|
-
target: ws-handler-${t.name}
|
|
217
|
+
type: serverless # 部署类型:函数计算(阿里云 FC / AWS Lambda / 腾讯 SCF)
|
|
218
|
+
provider: aliyun-fc # 提供商:aliyun-fc / aws-lambda / tencent-scf
|
|
219
|
+
target: ws-handler-${t.name} # 函数名(按环境区分)
|
|
177
220
|
|
|
178
221
|
# 测试相关配置(与 verify --config 联动)
|
|
222
|
+
# 键名须与上方 platforms 的端名一致(示例:h5 / admin-web / order-api)
|
|
179
223
|
tests:
|
|
180
224
|
base_urls:
|
|
181
225
|
h5: ${t.baseUrl}/h5
|
|
182
|
-
admin: ${t.baseUrl}/admin
|
|
226
|
+
admin-web: ${t.baseUrl}/admin
|
|
183
227
|
order-api: ${t.baseUrl.replace('www.', 'api-').replace('https://', 'https://api-')}
|
|
184
228
|
|
|
185
229
|
visual_model:
|
|
@@ -574,7 +618,9 @@ async function initEnvironmentConfigs(projectRoot) {
|
|
|
574
618
|
else {
|
|
575
619
|
// 已有环境配置,仅更新示例文件 + 补全缺失的 Helm values
|
|
576
620
|
const examplePath = (0, path_1.join)(envDir, 'staging.yaml.example');
|
|
577
|
-
|
|
621
|
+
// v8.3.348+: 示例取 staging 模板(ENV_TEMPLATES[3])——此前误用 test 模板,
|
|
622
|
+
// 文件名 staging 内容却是 test,名实不符
|
|
623
|
+
const exampleContent = generateEnvContent(ENV_TEMPLATES[3]) + '\n# 本文件为示例,可复制为 staging.yaml 后修改使用\n';
|
|
578
624
|
await (0, fs_extra_1.writeFile)(examplePath, exampleContent, 'utf-8');
|
|
579
625
|
created.push('.speccore/environments/staging.yaml.example');
|
|
580
626
|
// v8.3.69+: 已有环境配置时,补全可能缺失的 Helm values 模板
|
|
@@ -886,6 +932,16 @@ async function initTestConfigs(projectRoot) {
|
|
|
886
932
|
created.push(`.speccore/tests/${t.name}.yaml`);
|
|
887
933
|
}
|
|
888
934
|
}
|
|
935
|
+
// v8.3.350+: AI 浏览器验证账号配置(已存在不覆盖,保留用户填写的密码)
|
|
936
|
+
const accountsPath = (0, path_1.join)(testsDir, 'accounts.yaml');
|
|
937
|
+
if (!(await (0, fs_extra_1.pathExists)(accountsPath))) {
|
|
938
|
+
const accountsSrc = (0, path_1.join)(__dirname, '..', '..', 'templates', 'accounts-example.yaml');
|
|
939
|
+
if (await (0, fs_extra_1.pathExists)(accountsSrc)) {
|
|
940
|
+
const accountsContent = await (0, fs_extra_1.readFile)(accountsSrc, 'utf-8');
|
|
941
|
+
await (0, fs_extra_1.writeFile)(accountsPath, accountsContent, 'utf-8');
|
|
942
|
+
created.push('.speccore/tests/accounts.yaml');
|
|
943
|
+
}
|
|
944
|
+
}
|
|
889
945
|
return created;
|
|
890
946
|
}
|
|
891
947
|
//# sourceMappingURL=update-env-configs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-env-configs.js","sourceRoot":"","sources":["../../src/commands/update-env-configs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"update-env-configs.js","sourceRoot":"","sources":["../../src/commands/update-env-configs.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,14 @@ interface VerifyOptions {
|
|
|
50
50
|
baseUrl?: string;
|
|
51
51
|
envFile?: string;
|
|
52
52
|
config?: string;
|
|
53
|
+
/** v8.3.352+: API 测试缺契约时报错阻断(默认跳过仅告警,防「契约缺失=验证通过」假象) */
|
|
54
|
+
requireContract?: boolean;
|
|
55
|
+
ai?: boolean;
|
|
56
|
+
scope?: string;
|
|
57
|
+
platform?: string;
|
|
58
|
+
env?: string;
|
|
59
|
+
aiReport?: string;
|
|
60
|
+
aiJudge?: string;
|
|
53
61
|
}
|
|
54
62
|
export declare function verifyCommand(options: VerifyOptions): Promise<void>;
|
|
55
63
|
export declare function runUIVerification(taskId: string, iterDir: string, options: VerifyOptions, qgConfig?: import('../core/quality-gate').ResolvedQualityGate): Promise<UIVerifyReport | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAaH,OAAO,EAGL,cAAc,EAcf,MAAM,mBAAmB,CAAC;AAuB3B,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAC;IACjD,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAaH,OAAO,EAGL,cAAc,EAcf,MAAM,mBAAmB,CAAC;AAuB3B,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAC;IACjD,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0OzE;AAmFD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,QAAQ,CAAC,EAAE,OAAO,sBAAsB,EAAE,mBAAmB,GAC5D,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkPhC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAwCxD"}
|