@jspg-ai/coding-bb 0.0.2-beta.22 → 0.0.2-beta.24

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.
@@ -108,7 +108,7 @@ function loadWorkspaces(configPath = DEFAULT_CONFIG) {
108
108
  * - 文件存在且为合法 JSON
109
109
  * - 含 apps 数组且非空
110
110
  * - 每个 app 对象必须含 name / repo / side 三个字段
111
- * - name、repo 为非空字符串;side 必须为 'front' 或 'back'
111
+ * - name、repo 为非空字符串;side 必须为 'front'、'back' 或 'mixed'
112
112
  * - desc 为可选字段;一旦出现必须是非空字符串(应用职责描述)
113
113
  *
114
114
  * @param {string} configPath workspace-config.json 的绝对路径
@@ -138,7 +138,7 @@ function validateWorkspaceConfig(configPath) {
138
138
  return { valid: false, message: 'workspace-config.json 中 apps 数组为空,请至少配置一个关联应用' };
139
139
  }
140
140
 
141
- const VALID_SIDES = ['front', 'back'];
141
+ const VALID_SIDES = ['front', 'back', 'mixed'];
142
142
  for (let i = 0; i < raw.apps.length; i++) {
143
143
  const app = raw.apps[i];
144
144
  const label = `第 ${i + 1} 项`;
@@ -153,10 +153,10 @@ function validateWorkspaceConfig(configPath) {
153
153
  return { valid: false, message: `workspace-config.json "${app.name}" 缺少 repo(Git 仓库地址)` };
154
154
  }
155
155
  if (typeof app.side !== 'string' || !app.side.trim()) {
156
- return { valid: false, message: `workspace-config.json "${app.name}" 缺少 side(仓库类型,可选值:front / back)` };
156
+ return { valid: false, message: `workspace-config.json "${app.name}" 缺少 side(仓库类型,可选值:front / back / mixed)` };
157
157
  }
158
158
  if (!VALID_SIDES.includes(app.side.trim())) {
159
- return { valid: false, message: `workspace-config.json "${app.name}" 的 side 字段值无效:"${app.side}"(可选值:front / back)` };
159
+ return { valid: false, message: `workspace-config.json "${app.name}" 的 side 字段值无效:"${app.side}"(可选值:front / back / mixed)` };
160
160
  }
161
161
  if (app.desc !== undefined && (typeof app.desc !== 'string' || !app.desc.trim())) {
162
162
  return { valid: false, message: `workspace-config.json "${app.name}" 的 desc 字段应为非空字符串(该应用的职责描述),不需要可整条删除` };
@@ -114,11 +114,11 @@ worktree 需要知道要关联哪些应用仓库。
114
114
  ```
115
115
  应用名: ep-user-auth-app
116
116
  仓库地址: git@code.example.com:team/ep-user-auth-app.git
117
- 类型: back(后端)
117
+ 类型: back(可选值:front 前端 / back 后端 / mixed 前后端混合)
118
118
 
119
119
  应用名: ep-user-info-server
120
120
  仓库地址: git@code.example.com:team/ep-user-info-server.git
121
- 类型: back(后端)
121
+ 类型: back(可选值:front 前端 / back 后端 / mixed 前后端混合)
122
122
  ```
123
123
  - 解析后写入 `workspace-config.json`:
124
124
  ```json
@@ -1,5 +1,5 @@
1
1
  {
2
- "_comment": "AI 开发工作空间配置样例(请勿修改本文件,复制为工作空间根目录的 workspace-config.json 后编辑使用)。apps 数组中每个对象需包含:name(应用名,同时作为 .codespace/ 子目录名)、repo(Git 仓库地址,支持 SSH 或 HTTPS)、side(仓库类型,'front' 表示前端工程,'back' 表示后端工程);可选 desc(该应用的职责描述,便于人与 AI 理解应用分工)。",
2
+ "_comment": "AI 开发工作空间配置样例(请勿修改本文件,复制为工作空间根目录的 workspace-config.json 后编辑使用)。apps 数组中每个对象需包含:name(应用名,同时作为 .codespace/ 子目录名)、repo(Git 仓库地址,支持 SSH 或 HTTPS)、side(仓库类型,'front' 表示前端工程,'back' 表示后端工程,'mixed' 表示前后端混合工程);可选 desc(该应用的职责描述,便于人与 AI 理解应用分工)。",
3
3
  "apps":
4
4
  [
5
5
  {
@@ -12,7 +12,7 @@
12
12
  "businessLine": "yzg-ai"
13
13
  },
14
14
  {
15
- "name": "江苏港口集团数据-AI开发工作空间",
15
+ "name": "数据标注平台-AI开发工作空间",
16
16
  "repo": "http://git.portjs.cn/jspg-ai/ai-workspace/jspg-data-labeling-aiws.git",
17
17
  "businessLine": "yzg-ai"
18
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jspg-ai/coding-bb",
3
- "version": "0.0.2-beta.22",
3
+ "version": "0.0.2-beta.24",
4
4
  "description": "整合业界热门且高价值的工具、框架与技能,为 AI CODING AGENT 提供统一的行为准则与工作流,辅助开发者将需求高效落地为符合规范的代码",
5
5
  "main": "cbb/lib/install/init.js",
6
6
  "bin": {