code-workspace-zhuiyi 0.1.0-beta.9 → 1.0.0-beta.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 +35 -24
- package/README.zh-CN.md +35 -24
- package/artifacts/manifest.json +3 -124
- package/artifacts/templates/user-guide/en-US.md +31 -8
- package/artifacts/templates/user-guide/zh-CN.md +31 -8
- package/docs/extension-architecture.zh-CN.md +11 -14
- package/docs/extension-development/extension-development-guide.zh-CN.md +394 -0
- package/docs/extension-development/nexus-publish.zh-CN.md +351 -0
- package/{artifacts/templates/claude/commands/code-workspace → extensions/codew-workspace-guard/1.0.0/assets/claude}/add-projects.md +3 -3
- package/{artifacts/templates/codex/skills/code-workspace-add-projects/SKILL.md → extensions/codew-workspace-guard/1.0.0/assets/codew-add-projects.SKILL.md} +4 -4
- package/{artifacts/templates/agents/skills/code-workspace-resolve-branch/SKILL.md → extensions/codew-workspace-guard/1.0.0/assets/codew-resolve-branch.SKILL.md} +1 -1
- package/extensions/codew-workspace-guard/1.0.0/assets/codex/add-projects-openai.yaml +6 -0
- package/extensions/codew-workspace-guard/1.0.0/assets/codex/resolve-branch-openai.yaml +6 -0
- package/{artifacts/templates/agents → extensions/codew-workspace-guard/1.0.0/assets/templates}/WORKSPACE_GUARD.md.template +3 -3
- package/extensions/codew-workspace-guard/1.0.0/init.js +62 -0
- package/extensions/codew-workspace-guard/1.0.0/manifest.json +24 -0
- package/package.json +8 -2
- package/schemas/extension-manifest-v3.json +2 -1
- package/schemas/extension-npm-transport-envelope-v1.json +53 -0
- package/spec/extension/v1/specification.en-US.md +5 -1
- package/spec/extension/v1/specification.zh-CN.md +5 -1
- package/src/cli/commands/ext.js +1 -6
- package/src/cli/commands/extension.js +340 -24
- package/src/cli/commands/init.js +89 -23
- package/src/cli/parser.js +7 -0
- package/src/cli/registry.js +13 -3
- package/src/core/assets.js +7 -0
- package/src/core/config.js +5 -5
- package/src/core/extension-package-providers.js +45 -0
- package/src/core/extension-package.js +727 -0
- package/src/core/extension-registry-lifecycle.js +799 -0
- package/src/core/extension-store.js +103 -24
- package/src/core/extensions.js +175 -34
- package/src/core/managed-files.js +2 -2
- package/src/core/nexus-extension-provider.js +803 -0
- package/src/core/system-extensions.js +3 -0
- package/src/index.js +8 -0
- package/src/init/extension-picker.js +295 -0
- package/src/init/registry-picker.js +58 -0
- package/src/init/ui.js +13 -1
- package/src/init/wizard.js +63 -19
- package/artifacts/templates/agents/skills/code-workspace-resolve-branch/evals/evals.json +0 -45
- package/extensions/monitor/1.0.0/assets/i18n-icon.svg +0 -1
- package/extensions/monitor/1.0.0/assets/logo-vector.svg +0 -30
- package/extensions/monitor/1.0.0/assets/request_tip.mp3 +0 -0
- package/extensions/monitor/1.0.0/assets/session_finish.mp3 +0 -0
- package/extensions/monitor/1.0.0/i18n/index.js +0 -33
- package/extensions/monitor/1.0.0/i18n/locales/en-US.js +0 -85
- package/extensions/monitor/1.0.0/i18n/locales/zh-CN.js +0 -79
- package/extensions/monitor/1.0.0/init.js +0 -38
- package/extensions/monitor/1.0.0/manifest.json +0 -39
- package/extensions/monitor/1.0.0/monitor.js +0 -347
- package/extensions/monitor/1.0.0/page.js +0 -118
- package/extensions/monitor/1.0.0/runtime.js +0 -76
- package/extensions/monitor/1.1.0/assets/i18n-icon.svg +0 -1
- package/extensions/monitor/1.1.0/assets/logo-vector.svg +0 -30
- package/extensions/monitor/1.1.0/assets/request_tip.mp3 +0 -0
- package/extensions/monitor/1.1.0/assets/session_finish.mp3 +0 -0
- package/extensions/monitor/1.1.0/i18n/index.js +0 -33
- package/extensions/monitor/1.1.0/i18n/locales/en-US.js +0 -85
- package/extensions/monitor/1.1.0/i18n/locales/zh-CN.js +0 -79
- package/extensions/monitor/1.1.0/init.js +0 -37
- package/extensions/monitor/1.1.0/manifest.json +0 -39
- package/extensions/monitor/1.1.0/monitor.js +0 -372
- package/extensions/monitor/1.1.0/page.js +0 -118
- package/extensions/monitor/1.1.0/runtime.js +0 -105
- package/extensions/zhuiyi-jira-mcp/0.1.0/artifacts/claude/server.json +0 -16
- package/extensions/zhuiyi-jira-mcp/0.1.0/artifacts/codex/config.toml +0 -13
- package/extensions/zhuiyi-jira-mcp/0.1.0/artifacts/gitignore +0 -2
- package/extensions/zhuiyi-jira-mcp/0.1.0/init.js +0 -56
- package/extensions/zhuiyi-jira-mcp/0.1.0/lib/archive.js +0 -200
- package/extensions/zhuiyi-jira-mcp/0.1.0/manifest.json +0 -45
- package/extensions/zhuiyi-jira-mcp/0.1.0/release.json +0 -15
- package/extensions/zhuiyi-jira-mcp/1.0.0/artifacts/claude/server.json +0 -21
- package/extensions/zhuiyi-jira-mcp/1.0.0/artifacts/codex/config.toml +0 -18
- package/extensions/zhuiyi-jira-mcp/1.0.0/artifacts/gitignore +0 -2
- package/extensions/zhuiyi-jira-mcp/1.0.0/init.js +0 -56
- package/extensions/zhuiyi-jira-mcp/1.0.0/lib/archive.js +0 -200
- package/extensions/zhuiyi-jira-mcp/1.0.0/manifest.json +0 -45
- package/extensions/zhuiyi-jira-mcp/1.0.0/release.json +0 -15
- package/extensions/zhuiyi-opensvn-mcp/0.1.0/artifacts/claude/server.json +0 -12
- package/extensions/zhuiyi-opensvn-mcp/0.1.0/artifacts/codex/config.toml +0 -9
- package/extensions/zhuiyi-opensvn-mcp/0.1.0/init.js +0 -53
- package/extensions/zhuiyi-opensvn-mcp/0.1.0/lib/archive.js +0 -200
- package/extensions/zhuiyi-opensvn-mcp/0.1.0/manifest.json +0 -38
- package/extensions/zhuiyi-opensvn-mcp/0.1.0/release.json +0 -15
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ Use `--tools claude`, `--tools codex`, or `--tools none` to override the default
|
|
|
37
37
|
|
|
38
38
|
Initialization writes only Workspace-owned state and integrations:
|
|
39
39
|
|
|
40
|
-
- `.
|
|
40
|
+
- `.codew/config.yaml`, its referenced project configuration file (default: `.codew/config-projects.yaml`), and `.codew/state.json`
|
|
41
41
|
- `USER_GUIDE.md`
|
|
42
42
|
- `CLAUDE.md` and/or `AGENTS.md`
|
|
43
43
|
- Workspace-specific commands and skills whose names start with `code-workspace-` or use the `/code-workspace` namespace
|
|
@@ -45,31 +45,42 @@ Initialization writes only Workspace-owned state and integrations:
|
|
|
45
45
|
|
|
46
46
|
It does not create `openspec/`, install native `/opsx` commands, or install native `openspec-*` skills.
|
|
47
47
|
|
|
48
|
-
### Experimental
|
|
48
|
+
### Experimental extensions
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Ordinary extensions are published to the configured `@codew-ext` Nexus Registry and installed into the verified local Extension Store. Interactive `init` opens the shared Nexus picker: type in the search field, press Tab or Enter to focus the list, use Space to select, ←/→ to move between the visible pages, and press Enter to confirm (ESC cancels without changes). The picker marks installed latest versions as disabled and offers installed older versions as updates. If Nexus is unavailable or a page request fails, the ordinary-extension step can be skipped while core initialization continues. The package-local `extensions/` directory contains only the system-managed `codew-workspace-guard`:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
codew init . --extensions
|
|
54
|
-
codew init . --extensions zhuiyi-opensvn-mcp --yes
|
|
53
|
+
codew init . --extensions monitor --yes
|
|
55
54
|
codew init . --extensions none --yes
|
|
56
55
|
codew extension install
|
|
57
|
-
codew extension install
|
|
58
|
-
codew extension
|
|
59
|
-
codew extension
|
|
56
|
+
codew extension install monitor --yes
|
|
57
|
+
codew extension uninstall monitor --yes
|
|
58
|
+
codew extension search jira --json
|
|
59
|
+
codew extension info zhuiyi-jira-mcp --json
|
|
60
|
+
codew extension install zhuiyi-jira-mcp --version 1.1.0 --yes
|
|
61
|
+
codew extension install zhuiyi-jira-mcp --offline --version 1.1.0 --yes
|
|
62
|
+
codew extension upgrade zhuiyi-jira-mcp --yes
|
|
60
63
|
```
|
|
61
64
|
|
|
62
65
|
The Workspace operation lock shared by init, extension install, and extension uninstall is configured in the Code Workspace project's `.env` (not in the target Workspace). `CODE_WORKSPACE_INIT_LOCK_UPDATE_MS` defaults to `5000`, and `CODE_WORKSPACE_INIT_LOCK_STALE_MS` defaults to `30000`; process environment variables take precedence. See `.env.example` for the project configuration names.
|
|
63
66
|
|
|
64
|
-
Users select names, not
|
|
67
|
+
Users select names, not `name@version` positions. A default install resolves the highest compatible stable, non-deprecated version from the configured `@codew-ext` Nexus Registry and the verified local Store. A single-target install may instead pass an exact SemVer with `--version`; prereleases require that exact form, and a deprecated version additionally requires `--allow-deprecated`. `--offline` disables Registry access and resolves only local facts. `codew-workspace-guard` is the system extension containing the Workspace Guard, `codew-add-projects`, and `codew-resolve-branch`: `init` installs or upgrades it automatically, it is hidden from extension selection, and it cannot be managed through `extension install/uninstall/upgrade`. A new non-interactive Workspace installs no ordinary extensions unless `--extensions` is provided; `init` does not implicitly query Nexus. `none` skips ordinary extension work and does not uninstall existing artifacts or disable system extension processing.
|
|
65
68
|
|
|
66
|
-
`extension install` does not rerun core Workspace initialization. In JSON, non-TTY, or `--yes` mode, at least one extension name is required. Multiple names are installed in order with one confirmation boundary and independent transactions; any failure makes the install command fail while later extensions still run.
|
|
69
|
+
`extension install` does not rerun core Workspace initialization. In JSON, non-TTY, or `--yes` mode, at least one extension name is required. Multiple names are installed in order with one confirmation boundary and independent transactions; any failure makes the install command fail while later extensions still run. When the Registry is configured and a default resolution cannot obtain the remote metadata, installation fails before Workspace writes instead of silently using an older package.
|
|
67
70
|
|
|
68
|
-
|
|
71
|
+
`extension info` remains a Workspace-independent Registry read. In a TTY, `extension search` opens the same paged picker as `init`; selecting an uninstalled extension installs it, while selecting an outdated installed extension updates it. The picker hides system extensions and disables installed latest versions. JSON, non-TTY, or `--yes` search remains read-only and returns the Registry result envelope. `extension upgrade` accepts one or more installed ordinary extensions, freezes the default target for each, confirms once, and reuses the same per-extension transaction and rollback as install. An already-current target is skipped.
|
|
69
72
|
|
|
70
|
-
`
|
|
73
|
+
`extension pack` creates a Nexus/npm-ready `codew-ext-<extension-id>-<version>.tgz` from an extension package directory:
|
|
71
74
|
|
|
72
|
-
|
|
75
|
+
```bash
|
|
76
|
+
code-workspace extension pack /path/to/extension/1.0.0 --output dist/extensions --json
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The command is Workspace-independent, creates a missing output directory recursively, never executes extension or npm lifecycle code, and reopens the generated tarball to verify the npm envelope, manifest, entry digest, and unchanged `packageSha256` before atomically committing it. Existing outputs are never overwritten. It does not publish or store Registry credentials; CI can pass the verified tarball to `npm publish --registry`.
|
|
80
|
+
|
|
81
|
+
The system-managed `codew-workspace-guard` extension is installed or upgraded automatically by `init`; it is hidden from ordinary extension selection and cannot be installed, upgraded, or uninstalled manually. Ordinary extension packages are downloaded from Nexus, verified, and cached in the user-level Extension Store.
|
|
82
|
+
|
|
83
|
+
Extension entries run in separate Node processes and generate files in temporary staging directories. The host rejects undeclared, missing, symbolic-link, non-file, path-escaping, conflicting, and checksum-mismatched artifacts before transactionally installing them. Per-Workspace state is stored in `.codew/ext-manifest.json`. A failed extension is reported as a warning and does not roll back successful core initialization or stop later extensions; a failed upgrade restores and retains the previous installed version.
|
|
73
84
|
|
|
74
85
|
Extensions may own complete files or declare Host-managed abstract Hooks. Codex and Claude
|
|
75
86
|
adaptors render those declarations into each provider's native configuration and dynamically plug
|
|
@@ -78,7 +89,7 @@ verified by Code Workspace; extensions never patch the real Workspace directly.
|
|
|
78
89
|
recorded installed state and does not execute extension code. Unknown changes to extension-owned
|
|
79
90
|
files or contributions stop the operation instead of being overwritten.
|
|
80
91
|
|
|
81
|
-
This is fault isolation, not a malicious-code security sandbox. The experimental release trusts
|
|
92
|
+
This is fault isolation, not a malicious-code security sandbox. The experimental release trusts system extension code shipped with Code Workspace and ordinary extension code downloaded from the configured company Nexus after archive, identity, manifest, entry, runtime, and package-digest verification. External extension directories, dependencies, arbitrary patches, force uninstall, disable commands, and automatic extension updates through `codew update` are not supported. The developer contract is in `docs/extensions.md`; a step-by-step guide is in `docs/extension-development/extension-development-guide.zh-CN.md`.
|
|
82
93
|
|
|
83
94
|
## Register projects
|
|
84
95
|
|
|
@@ -91,10 +102,10 @@ code-workspace project inspect /absolute/path/to/project --json
|
|
|
91
102
|
Claude Code users can invoke:
|
|
92
103
|
|
|
93
104
|
```text
|
|
94
|
-
/
|
|
105
|
+
/codew:add-projects /absolute/path/to/project-a /absolute/path/to/project-b
|
|
95
106
|
```
|
|
96
107
|
|
|
97
|
-
Codex users can invoke `$
|
|
108
|
+
Codex users can invoke `$codew-add-projects` with the same explicit paths. For low-level automation, pass complete project records through stdin:
|
|
98
109
|
|
|
99
110
|
```bash
|
|
100
111
|
cat projects.json | code-workspace project add --stdin --yes --json
|
|
@@ -104,10 +115,10 @@ cat projects.json | code-workspace project add --stdin --yes --json
|
|
|
104
115
|
|
|
105
116
|
The registry stores each project's name, real location, registered branch, type, and context. The registered branch is the Code Workspace expected state; the actual branch is observed from the selected Git worktree. Workspace never guesses a path from a conversation or automatically decides which branch is authoritative.
|
|
106
117
|
|
|
107
|
-
Project registration is always stored in a separate file in the `.
|
|
118
|
+
Project registration is always stored in a separate file in the `.codew` directory. Initialization uses `config-projects.yaml` by default, while `projects.ref` may name any safe regular filename in that directory:
|
|
108
119
|
|
|
109
120
|
```yaml
|
|
110
|
-
# .
|
|
121
|
+
# .codew/config.yaml
|
|
111
122
|
projects:
|
|
112
123
|
ref: config-projects.yaml
|
|
113
124
|
```
|
|
@@ -115,7 +126,7 @@ projects:
|
|
|
115
126
|
The referenced file uses this format:
|
|
116
127
|
|
|
117
128
|
```yaml
|
|
118
|
-
# .
|
|
129
|
+
# .codew/config-projects.yaml
|
|
119
130
|
schemaVersion: 1
|
|
120
131
|
projects:
|
|
121
132
|
- name: payments
|
|
@@ -126,9 +137,9 @@ projects:
|
|
|
126
137
|
Service ownership and navigation context.
|
|
127
138
|
```
|
|
128
139
|
|
|
129
|
-
`projects.ref` is resolved relative to `config.yaml`. It must be one safe regular filename in the same `.
|
|
140
|
+
`projects.ref` is resolved relative to `config.yaml`. It must be one safe regular filename in the same `.codew` directory; URLs, globs, absolute paths, path traversal, and inline `projects` arrays are not supported. Existing project command arguments and behavior remain compatible, `project add` additionally supports `--stdin`, and project data is still read from and written to the referenced file. The `.codew/` directory is ignored by default, so Git history for this local registry requires an explicit repository policy.
|
|
130
141
|
|
|
131
|
-
For example, `ref: team-projects.yaml` makes the project registry `.
|
|
142
|
+
For example, `ref: team-projects.yaml` makes the project registry `.codew/team-projects.yaml`; the default remains `config-projects.yaml`.
|
|
132
143
|
|
|
133
144
|
## Daily commands
|
|
134
145
|
|
|
@@ -154,10 +165,10 @@ The two reconciliation directions are deliberately separate:
|
|
|
154
165
|
|
|
155
166
|
Both commands detect plan drift and verify postconditions. `project branch update-latest` is the separate, opt-in path for projects with `updateLatest: true`; it only fetches the configured upstream and fast-forwards a clean matching branch. Code Workspace never creates or downloads a branch and never performs stash, reset, rebase, non-fast-forward merge, production-code edits, or conflict resolution.
|
|
156
167
|
|
|
157
|
-
Users may manually set the optional project policy in the file named by `projects.ref` (default: `.
|
|
168
|
+
Users may manually set the optional project policy in the file named by `projects.ref` (default: `.codew/config-projects.yaml`):
|
|
158
169
|
|
|
159
170
|
```yaml
|
|
160
|
-
# .
|
|
171
|
+
# .codew/config-projects.yaml
|
|
161
172
|
schemaVersion: 1
|
|
162
173
|
projects:
|
|
163
174
|
- name: payments
|
|
@@ -185,7 +196,7 @@ code-workspace language --json
|
|
|
185
196
|
|
|
186
197
|
## Monitor
|
|
187
198
|
|
|
188
|
-
Monitor
|
|
199
|
+
Monitor is an ordinary Nexus extension. Install it into a workspace and run its dashboard through the generic extension runtime:
|
|
189
200
|
|
|
190
201
|
```bash
|
|
191
202
|
code-workspace extension install monitor --yes
|
package/README.zh-CN.md
CHANGED
|
@@ -37,7 +37,7 @@ code-workspace init . \
|
|
|
37
37
|
|
|
38
38
|
初始化只写入 Workspace 自有状态和集成:
|
|
39
39
|
|
|
40
|
-
- `.
|
|
40
|
+
- `.codew/config.yaml`、其引用的项目配置文件(默认:`.codew/config-projects.yaml`)与 `.codew/state.json`
|
|
41
41
|
- `USER_GUIDE.md`
|
|
42
42
|
- `CLAUDE.md` 和/或 `AGENTS.md`
|
|
43
43
|
- 名称以 `code-workspace-` 开头或使用 `/code-workspace` 命名空间的 Workspace 专用命令与 Skill
|
|
@@ -45,38 +45,49 @@ code-workspace init . \
|
|
|
45
45
|
|
|
46
46
|
它不会创建 `openspec/`,不会安装原生 `/opsx` 命令,也不会安装原生 `openspec-*` Skill。
|
|
47
47
|
|
|
48
|
-
###
|
|
48
|
+
### 试验性扩展
|
|
49
49
|
|
|
50
|
-
`init`
|
|
50
|
+
普通扩展发布到配置的 `@codew-ext` Nexus Registry,并安装到经过验证的本地 Extension Store。`init` 和独立安装命令从 Nexus/Store 选择普通扩展;npm 包内的 `extensions/` 目录只保留系统扩展 `codew-workspace-guard`。交互选择按 ESC 可无修改退出:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
codew init . --extensions
|
|
54
|
-
codew init . --extensions zhuiyi-opensvn-mcp --yes
|
|
53
|
+
codew init . --extensions monitor --yes
|
|
55
54
|
codew init . --extensions none --yes
|
|
56
55
|
codew extension install
|
|
57
|
-
codew extension install
|
|
58
|
-
codew extension
|
|
59
|
-
codew extension
|
|
56
|
+
codew extension install monitor --yes
|
|
57
|
+
codew extension uninstall monitor --yes
|
|
58
|
+
codew extension search jira --json
|
|
59
|
+
codew extension info zhuiyi-jira-mcp --json
|
|
60
|
+
codew extension install zhuiyi-jira-mcp --version 1.1.0 --yes
|
|
61
|
+
codew extension install zhuiyi-jira-mcp --offline --version 1.1.0 --yes
|
|
62
|
+
codew extension upgrade zhuiyi-jira-mcp --yes
|
|
60
63
|
```
|
|
61
64
|
|
|
62
65
|
`init`、扩展安装和扩展卸载共享的 Workspace 操作锁配置在 Code Workspace 项目自身的 `.env` 中(不在目标 Workspace 中)。`CODE_WORKSPACE_INIT_LOCK_UPDATE_MS` 默认值为 `5000`,`CODE_WORKSPACE_INIT_LOCK_STALE_MS` 默认值为 `30000`;进程环境变量优先于 `.env`。配置项名称见 `.env.example`。
|
|
63
66
|
|
|
64
|
-
|
|
67
|
+
用户选择扩展名,不使用 `name@version` 位置语法。默认安装会从已配置的 `@codew-ext` Nexus Registry 和已验证本地 Store 中选择最高的兼容、稳定、非 deprecated 版本。单目标安装可用 `--version` 指定精确 SemVer; prerelease 必须通过精确版本请求,deprecated 版本还必须加 `--allow-deprecated`。`--offline` 禁止 Registry 访问,只基于本地事实解析。`codew-workspace-guard` 是包含 Workspace Guard、`codew-add-projects` 和 `codew-resolve-branch` 的系统扩展,由 `init` 自动安装或升级,不出现在扩展选择列表中,也不能通过 `extension install/uninstall/upgrade` 手动管理。新 Workspace 非交互初始化时,未传 `--extensions` 就不安装普通扩展;`init` 不会隐式查询 Nexus。`none` 只跳过本次普通扩展初始化,不会卸载已有制品,也不会取消系统扩展处理。
|
|
65
68
|
|
|
66
|
-
`extension install` 不会重新执行 Workspace 核心初始化。在 JSON、非 TTY 或 `--yes` 模式下,必须至少提供一个扩展名。多个名称按顺序安装,只确认一次且各自使用独立事务;任一扩展失败会使安装命令失败,但后续扩展仍会继续执行。
|
|
69
|
+
`extension install` 不会重新执行 Workspace 核心初始化。在 JSON、非 TTY 或 `--yes` 模式下,必须至少提供一个扩展名。多个名称按顺序安装,只确认一次且各自使用独立事务;任一扩展失败会使安装命令失败,但后续扩展仍会继续执行。Registry 已配置且默认解析无法取得远端 metadata 时,安装会在 Workspace 写入前失败,不会静默选择旧包。
|
|
67
70
|
|
|
68
|
-
|
|
71
|
+
`extension info` 仍是与 Workspace 无关的 Registry 读取命令。在 TTY 中,`extension search` 会打开与 `init` 相同的分页扩展选择器;选择未安装扩展会执行安装,选择已安装但过期的扩展会执行更新。系统扩展不会出现在列表中,已是最新版的扩展不可选择。JSON、非 TTY 或使用 `--yes` 时,search 保持只读并返回 Registry 结果 envelope。`extension upgrade` 接受一个或多个已安装普通扩展,逐个冻结默认目标,统一确认后复用安装的逐扩展事务和回滚;已是当前版本的目标返回 skipped。
|
|
69
72
|
|
|
70
|
-
`
|
|
73
|
+
`extension pack` 可以从扩展包目录生成可交给 Nexus/npm 的 `codew-ext-<extension-id>-<version>.tgz`:
|
|
71
74
|
|
|
72
|
-
|
|
75
|
+
```bash
|
|
76
|
+
code-workspace extension pack /path/to/extension/1.1.0 --output dist/extensions --json
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
该命令与 Workspace 无关,会在输出目录缺失时递归创建,不执行扩展入口或任何 npm 生命周期脚本;生成 tarball 后会重新读取并验证 npm envelope、manifest、入口摘要和未变化的 `packageSha256`,再原子提交。目标文件已存在时拒绝覆盖。命令本身不发布、不保存 Registry 凭证;CI 可将已验证的 tarball 交给 `npm publish --registry`。
|
|
80
|
+
|
|
81
|
+
系统管理的 `codew-workspace-guard` 由 `init` 自动安装或升级,不出现在普通扩展选择列表中,也不能手动安装、升级或卸载。普通扩展包从 Nexus 下载、验证,并缓存到用户级 Extension Store。
|
|
82
|
+
|
|
83
|
+
扩展入口在独立 Node 进程中运行,只向临时 staging 目录生成文件。Host 会在事务安装前拒绝未声明、缺失、符号链接、非文件、路径逃逸、目标冲突和 hash 不匹配的制品。Workspace 状态存放在 `.codew/ext-manifest.json`。扩展失败以 warning 报告,不回滚已成功的核心初始化,也不阻止后续扩展;升级失败会恢复并保留旧的已安装版本。
|
|
73
84
|
|
|
74
85
|
扩展可以独占完整文件,也可以声明由 Host 管理的抽象 Hook。Host 通过 Codex/Claude adaptor
|
|
75
86
|
把声明转换为各自的原生配置,并在扩展安装、升级和卸载时动态插拔;共享目标由 Code
|
|
76
87
|
Workspace 合成和验证,扩展不会直接 patch 真实 Workspace。卸载只使用已安装状态,不执行
|
|
77
88
|
扩展代码;扩展所有的文件或贡献存在未知修改时会拒绝覆盖或删除。
|
|
78
89
|
|
|
79
|
-
|
|
90
|
+
这是故障隔离,不是恶意代码安全沙箱。试验版本信任随 Code Workspace 发布的系统扩展代码,以及从已配置公司 Nexus 下载并通过归档、身份、manifest、入口、runtime 和 package digest 验证的普通扩展包。外部扩展目录、扩展依赖、任意 patch、强制卸载、禁用命令和通过 `codew update` 自动更新扩展仍不支持。开发契约见 `docs/extensions.zh-CN.md`;从目录结构到打包发布的完整流程见 `docs/extension-development/extension-development-guide.zh-CN.md`。
|
|
80
91
|
|
|
81
92
|
## 注册项目
|
|
82
93
|
|
|
@@ -89,10 +100,10 @@ code-workspace project inspect /absolute/path/to/project --json
|
|
|
89
100
|
Claude Code 用户可显式调用:
|
|
90
101
|
|
|
91
102
|
```text
|
|
92
|
-
/
|
|
103
|
+
/codew:add-projects /absolute/path/to/project-a /absolute/path/to/project-b
|
|
93
104
|
```
|
|
94
105
|
|
|
95
|
-
Codex 用户可对相同的显式路径调用 `$
|
|
106
|
+
Codex 用户可对相同的显式路径调用 `$codew-add-projects`。底层自动化可通过 stdin 一次传入完整项目记录:
|
|
96
107
|
|
|
97
108
|
```bash
|
|
98
109
|
cat projects.json | code-workspace project add --stdin --yes --json
|
|
@@ -102,10 +113,10 @@ cat projects.json | code-workspace project add --stdin --yes --json
|
|
|
102
113
|
|
|
103
114
|
注册表保存项目名称、真实路径、注册分支、类型和上下文。注册分支是 Code Workspace 的期望状态,实际分支是从选中 Git worktree 观测到的状态。Workspace 不会根据对话猜测路径,也不会自动判断哪一侧分支更权威。
|
|
104
115
|
|
|
105
|
-
项目注册配置始终独立保存于 `.
|
|
116
|
+
项目注册配置始终独立保存于 `.codew` 目录下的单独文件。初始化默认使用 `config-projects.yaml`,但 `projects.ref` 可以引用该目录下任意安全的普通文件名:
|
|
106
117
|
|
|
107
118
|
```yaml
|
|
108
|
-
# .
|
|
119
|
+
# .codew/config.yaml
|
|
109
120
|
projects:
|
|
110
121
|
ref: config-projects.yaml
|
|
111
122
|
```
|
|
@@ -113,7 +124,7 @@ projects:
|
|
|
113
124
|
引用文件使用以下格式:
|
|
114
125
|
|
|
115
126
|
```yaml
|
|
116
|
-
# .
|
|
127
|
+
# .codew/config-projects.yaml
|
|
117
128
|
schemaVersion: 1
|
|
118
129
|
projects:
|
|
119
130
|
- name: payments
|
|
@@ -124,9 +135,9 @@ projects:
|
|
|
124
135
|
服务职责和代码导航上下文。
|
|
125
136
|
```
|
|
126
137
|
|
|
127
|
-
`projects.ref` 相对于 `config.yaml` 解析,必须是同一 `.
|
|
138
|
+
`projects.ref` 相对于 `config.yaml` 解析,必须是同一 `.codew` 目录下的安全普通文件名。不支持 URL、glob、绝对路径、路径逃逸或内联 `projects` 数组。项目命令的现有参数和行为保持兼容,`project add` 额外支持 `--stdin`;项目数据仍只读取和写入引用文件。`.codew/` 默认被忽略;如需 Git 历史,需要显式制定仓库策略。
|
|
128
139
|
|
|
129
|
-
例如,`ref: team-projects.yaml` 会将项目注册表放在 `.
|
|
140
|
+
例如,`ref: team-projects.yaml` 会将项目注册表放在 `.codew/team-projects.yaml`;默认名称仍为 `config-projects.yaml`。
|
|
130
141
|
|
|
131
142
|
## 日常命令
|
|
132
143
|
|
|
@@ -152,10 +163,10 @@ code-workspace doctor --json
|
|
|
152
163
|
|
|
153
164
|
两条命令都会检查计划漂移并验证后置条件。`project branch update-latest` 是独立的显式配置路径:仅当项目 `updateLatest: true` 时,才对干净且分支一致的 worktree fetch upstream 并 fast-forward。Code Workspace 不会创建或下载分支,也不会执行 stash、reset、rebase、非 fast-forward merge、生产代码编辑或冲突处理。
|
|
154
165
|
|
|
155
|
-
用户可以手动在 `projects.ref` 指定的文件(默认:`.
|
|
166
|
+
用户可以手动在 `projects.ref` 指定的文件(默认:`.codew/config-projects.yaml`)中设置项目策略:
|
|
156
167
|
|
|
157
168
|
```yaml
|
|
158
|
-
# .
|
|
169
|
+
# .codew/config-projects.yaml
|
|
159
170
|
schemaVersion: 1
|
|
160
171
|
projects:
|
|
161
172
|
- name: payments
|
|
@@ -183,7 +194,7 @@ code-workspace language --json
|
|
|
183
194
|
|
|
184
195
|
## 监控
|
|
185
196
|
|
|
186
|
-
|
|
197
|
+
监控以 Nexus 中的 `monitor` 扩展提供。先在 Workspace 中安装扩展,再通过通用扩展运行时启动面板:
|
|
187
198
|
|
|
188
199
|
```bash
|
|
189
200
|
code-workspace extension install monitor --yes
|
package/artifacts/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
|
-
"releaseVersion": "
|
|
3
|
+
"releaseVersion": "1.0.0-beta.2",
|
|
4
4
|
"requirements": {
|
|
5
5
|
"node": ">=20.19.0"
|
|
6
6
|
},
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
"id": "workspace-user-guide-en-US",
|
|
14
14
|
"kind": "asset",
|
|
15
15
|
"path": "templates/user-guide/en-US.md",
|
|
16
|
-
"sha256": "
|
|
16
|
+
"sha256": "7babab78319aa76329e159753d7110a8bbc8a5b5f349eef9a7779e6b4172a6af"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"id": "workspace-user-guide-zh-CN",
|
|
20
20
|
"kind": "asset",
|
|
21
21
|
"path": "templates/user-guide/zh-CN.md",
|
|
22
|
-
"sha256": "
|
|
22
|
+
"sha256": "aca3fc5997adc41bc44a64e0c3d7aed9470e343087da40303dad1e39f6cdbffb"
|
|
23
23
|
}
|
|
24
24
|
],
|
|
25
25
|
"managedFiles": [
|
|
@@ -39,127 +39,6 @@
|
|
|
39
39
|
"provenance": {
|
|
40
40
|
"kind": "template"
|
|
41
41
|
}
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"id": "workspace-claude-instructions",
|
|
45
|
-
"target": "CLAUDE.md",
|
|
46
|
-
"tools": [
|
|
47
|
-
"claude"
|
|
48
|
-
],
|
|
49
|
-
"allowMissing": true,
|
|
50
|
-
"desired": {
|
|
51
|
-
"source": "templates/agents/WORKSPACE_GUARD.md.template",
|
|
52
|
-
"sha256": "bddb8e2ee25b7a63614b4297453e5803d2740fc475d97f5d8489dbaf17380c2c"
|
|
53
|
-
},
|
|
54
|
-
"render": {
|
|
55
|
-
"variables": [
|
|
56
|
-
"ADD_PROJECTS_INVOCATION"
|
|
57
|
-
],
|
|
58
|
-
"values": {
|
|
59
|
-
"ADD_PROJECTS_INVOCATION": "/code-workspace:add-projects /absolute/path/to/project"
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
"provenance": {
|
|
63
|
-
"kind": "template"
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"id": "workspace-codex-instructions",
|
|
68
|
-
"target": "AGENTS.md",
|
|
69
|
-
"tools": [
|
|
70
|
-
"codex"
|
|
71
|
-
],
|
|
72
|
-
"allowMissing": true,
|
|
73
|
-
"desired": {
|
|
74
|
-
"source": "templates/agents/WORKSPACE_GUARD.md.template",
|
|
75
|
-
"sha256": "bddb8e2ee25b7a63614b4297453e5803d2740fc475d97f5d8489dbaf17380c2c"
|
|
76
|
-
},
|
|
77
|
-
"render": {
|
|
78
|
-
"variables": [
|
|
79
|
-
"ADD_PROJECTS_INVOCATION"
|
|
80
|
-
],
|
|
81
|
-
"values": {
|
|
82
|
-
"ADD_PROJECTS_INVOCATION": "$code-workspace-add-projects /absolute/path/to/project"
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
"provenance": {
|
|
86
|
-
"kind": "template"
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
"id": "workspace-claude-add-projects-command",
|
|
91
|
-
"target": ".claude/commands/code-workspace/add-projects.md",
|
|
92
|
-
"tools": [
|
|
93
|
-
"claude"
|
|
94
|
-
],
|
|
95
|
-
"allowMissing": true,
|
|
96
|
-
"desired": {
|
|
97
|
-
"source": "templates/claude/commands/code-workspace/add-projects.md",
|
|
98
|
-
"sha256": "177fbebf35383e1499c274007a2c577a7cd2f727407bcd0a0ca0511f4666dd6e"
|
|
99
|
-
},
|
|
100
|
-
"provenance": {
|
|
101
|
-
"kind": "template"
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
"id": "workspace-claude-add-projects-skill",
|
|
106
|
-
"target": ".claude/skills/code-workspace-add-projects/SKILL.md",
|
|
107
|
-
"tools": [
|
|
108
|
-
"claude"
|
|
109
|
-
],
|
|
110
|
-
"allowMissing": true,
|
|
111
|
-
"desired": {
|
|
112
|
-
"source": "templates/codex/skills/code-workspace-add-projects/SKILL.md",
|
|
113
|
-
"sha256": "1b3a10870bd748244d85945b9a2562b7b30a8792bcd6163d8d53ed73cd9ef619"
|
|
114
|
-
},
|
|
115
|
-
"provenance": {
|
|
116
|
-
"kind": "template"
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"id": "workspace-codex-add-projects-skill",
|
|
121
|
-
"target": ".codex/skills/code-workspace-add-projects/SKILL.md",
|
|
122
|
-
"tools": [
|
|
123
|
-
"codex"
|
|
124
|
-
],
|
|
125
|
-
"allowMissing": true,
|
|
126
|
-
"desired": {
|
|
127
|
-
"source": "templates/codex/skills/code-workspace-add-projects/SKILL.md",
|
|
128
|
-
"sha256": "1b3a10870bd748244d85945b9a2562b7b30a8792bcd6163d8d53ed73cd9ef619"
|
|
129
|
-
},
|
|
130
|
-
"provenance": {
|
|
131
|
-
"kind": "template"
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
"id": "workspace-claude-resolve-branch-skill",
|
|
136
|
-
"target": ".claude/skills/code-workspace-resolve-branch/SKILL.md",
|
|
137
|
-
"tools": [
|
|
138
|
-
"claude"
|
|
139
|
-
],
|
|
140
|
-
"allowMissing": true,
|
|
141
|
-
"desired": {
|
|
142
|
-
"source": "templates/agents/skills/code-workspace-resolve-branch/SKILL.md",
|
|
143
|
-
"sha256": "df8c65fbadf917b7247bbd1f40144da8c904a95f2b3ee905a4d2d6176e0a5f1b"
|
|
144
|
-
},
|
|
145
|
-
"provenance": {
|
|
146
|
-
"kind": "template"
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
"id": "workspace-codex-resolve-branch-skill",
|
|
151
|
-
"target": ".codex/skills/code-workspace-resolve-branch/SKILL.md",
|
|
152
|
-
"tools": [
|
|
153
|
-
"codex"
|
|
154
|
-
],
|
|
155
|
-
"allowMissing": true,
|
|
156
|
-
"desired": {
|
|
157
|
-
"source": "templates/agents/skills/code-workspace-resolve-branch/SKILL.md",
|
|
158
|
-
"sha256": "df8c65fbadf917b7247bbd1f40144da8c904a95f2b3ee905a4d2d6176e0a5f1b"
|
|
159
|
-
},
|
|
160
|
-
"provenance": {
|
|
161
|
-
"kind": "template"
|
|
162
|
-
}
|
|
163
42
|
}
|
|
164
43
|
]
|
|
165
44
|
}
|
|
@@ -7,13 +7,13 @@ A short reminder for using Code Workspace after initialization.
|
|
|
7
7
|
Codex:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
$
|
|
10
|
+
$codew-add-projects /absolute/path/to/project-a /absolute/path/to/project-b
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Claude Code:
|
|
14
14
|
|
|
15
15
|
```text
|
|
16
|
-
/
|
|
16
|
+
/codew:add-projects /absolute/path/to/project-a /absolute/path/to/project-b
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Review the project records and confirm once. The add-projects skill uses one read-only collection to inspect every path independently; a failed project reports its diagnostic without stopping the remaining paths or being silently ignored. After confirmation, all valid records are sent to `project add` through stdin in one operation, with no temporary JSON file and no default second verify.
|
|
@@ -39,7 +39,7 @@ codew init --language en-US
|
|
|
39
39
|
codew language
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
The selected preference is stored at `workspace.language` in `.
|
|
42
|
+
The selected preference is stored at `workspace.language` in `.codew/config.yaml`. Change an initialized workspace with:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
45
|
codew update --language en-US
|
|
@@ -64,7 +64,7 @@ Use another port when necessary:
|
|
|
64
64
|
codew ext monitor serve --port 8080
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
The extension reports to the URL recorded in `.
|
|
67
|
+
The extension reports to the URL recorded in `.codew/monitor-reporting.json`. After installation, review and trust the project hooks with `/hooks` in Codex.
|
|
68
68
|
|
|
69
69
|
## Practical commands
|
|
70
70
|
|
|
@@ -89,10 +89,33 @@ Add `--json` when a query result is consumed by Codex or a script.
|
|
|
89
89
|
|
|
90
90
|
## Workspace skills
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
Installed by default during Workspace initialization:
|
|
93
|
+
|
|
94
|
+
- `$codew-add-projects` — inspect and register local Git projects with concise AI-generated navigation context.
|
|
95
|
+
- `$codew-resolve-branch` — safely resolve a selected project's branch mismatch and confirm branch alignment.
|
|
96
|
+
|
|
97
|
+
The following skills are distributed as independent extensions. They are not installed by `init` or `update`; install or uninstall each one explicitly. The interactive extension picker starts with no extensions selected, and each choice shows the extension name and a short description:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
codew extension install zhuiyi-jira-prd-analysis --yes
|
|
101
|
+
codew extension install zhuiyi-jira-task-breakdown --yes
|
|
102
|
+
codew extension install zhuiyi-jira-issue-fix-summary --yes
|
|
103
|
+
codew extension install zhuiyi-guangda-coding-spec --yes
|
|
104
|
+
codew extension uninstall zhuiyi-jira-prd-analysis --yes
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- `$zhuiyi-jira-prd-analysis` — confirm Jira scope, then analyze requirement clarity, consistency, and code feasibility.
|
|
108
|
+
- `$zhuiyi-jira-task-breakdown` — split a confirmed Jira requirement into executable frontend, backend, and test tasks.
|
|
109
|
+
- `$zhuiyi-jira-issue-fix-summary` — summarize a completed fix and, after confirmation, publish it as a Jira comment.
|
|
110
|
+
- `$zhuiyi-guangda-coding-spec` — apply research, security, testing, and release rules by risk area, only for China Everbright Bank customer projects.
|
|
111
|
+
|
|
112
|
+
These extensions install skill instructions only. Install the `zhuiyi-jira-mcp` extension separately when the Jira-related skills require Jira access; the Guangda coding spec requires no MCP service.
|
|
94
113
|
|
|
95
114
|
| Purpose | Codex | Claude Code |
|
|
96
115
|
| --- | --- | --- |
|
|
97
|
-
| Add workspace projects | `$
|
|
98
|
-
| Resolve a project branch mismatch | `$
|
|
116
|
+
| Add workspace projects | `$codew-add-projects` | `/codew:add-projects` |
|
|
117
|
+
| Resolve a project branch mismatch | `$codew-resolve-branch` | `/codew-resolve-branch` |
|
|
118
|
+
| Analyze a Jira requirement | `$zhuiyi-jira-prd-analysis` | `$zhuiyi-jira-prd-analysis` |
|
|
119
|
+
| Break down Jira tasks | `$zhuiyi-jira-task-breakdown` | `$zhuiyi-jira-task-breakdown` |
|
|
120
|
+
| Summarize an issue fix | `$zhuiyi-jira-issue-fix-summary` | `$zhuiyi-jira-issue-fix-summary` |
|
|
121
|
+
| Apply the Guangda coding spec | `$zhuiyi-guangda-coding-spec` | `$zhuiyi-guangda-coding-spec` |
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
Codex:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
$
|
|
10
|
+
$codew-add-projects /absolute/path/to/project-a /absolute/path/to/project-b
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Claude Code:
|
|
14
14
|
|
|
15
15
|
```text
|
|
16
|
-
/
|
|
16
|
+
/codew:add-projects /absolute/path/to/project-a /absolute/path/to/project-b
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
根据提示检查项目记录并只确认一次。add-projects skill 会用一次只读采集逐项检查路径;某个项目失败时会报告具体诊断并继续检查其他项目,不会静默忽略失败项。确认后,所有有效记录通过 stdin 一次交给 `project add`,不需要临时 JSON 文件,也不会默认追加第二次 verify。
|
|
@@ -39,7 +39,7 @@ codew init --language zh-CN
|
|
|
39
39
|
codew language
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
所选偏好保存在 `.
|
|
42
|
+
所选偏好保存在 `.codew/config.yaml` 的 `workspace.language`。已有工作区可通过以下命令切换语言:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
45
|
codew update --language zh-CN
|
|
@@ -64,7 +64,7 @@ codew ext monitor
|
|
|
64
64
|
codew ext monitor serve --port 8080
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
扩展会向 `.
|
|
67
|
+
扩展会向 `.codew/monitor-reporting.json` 中记录的 URL 上报。安装后,请在 Codex 中使用 `/hooks` 检查并信任项目 Hook。
|
|
68
68
|
|
|
69
69
|
## 实用命令
|
|
70
70
|
|
|
@@ -89,10 +89,33 @@ codew project verify <project-name>
|
|
|
89
89
|
|
|
90
90
|
## Workspace Skills
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
默认随 Workspace 初始化安装:
|
|
93
|
+
|
|
94
|
+
- `$codew-add-projects` — 检查并注册本地 Git 项目,同时生成供 AI 导航使用的简洁 context。
|
|
95
|
+
- `$codew-resolve-branch` — 安全解决选中项目的分支不一致问题,并确认分支对齐。
|
|
96
|
+
|
|
97
|
+
以下 Skill 以独立扩展提供,不会随 `init` 或 `update` 自动安装。需要时按名称安装,也可以单独卸载;交互式扩展选择默认不勾选任何扩展,每个选项会显示扩展名称和简短描述:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
codew extension install zhuiyi-jira-prd-analysis --yes
|
|
101
|
+
codew extension install zhuiyi-jira-task-breakdown --yes
|
|
102
|
+
codew extension install zhuiyi-jira-issue-fix-summary --yes
|
|
103
|
+
codew extension install zhuiyi-guangda-coding-spec --yes
|
|
104
|
+
codew extension uninstall zhuiyi-jira-prd-analysis --yes
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- `$zhuiyi-jira-prd-analysis` — 在确认 Jira 范围后分析需求清晰度、一致性和代码可行性。
|
|
108
|
+
- `$zhuiyi-jira-task-breakdown` — 将已确认的 Jira 需求按前端、后端、测试拆分为可执行任务。
|
|
109
|
+
- `$zhuiyi-jira-issue-fix-summary` — 总结已完成的问题修复,并在确认后发布到 Jira 评论。
|
|
110
|
+
- `$zhuiyi-guangda-coding-spec` — 仅在项目属于中国光大银行客户项目时,按本次任务的风险域落实研发、安全、测试与投产规范。
|
|
111
|
+
|
|
112
|
+
这些扩展只安装 Skill 指令。Jira 相关扩展需要实际访问 Jira 时,还应安装 `zhuiyi-jira-mcp` 扩展;光大规范扩展不依赖任何 MCP 服务。
|
|
94
113
|
|
|
95
114
|
| 用途 | Codex | Claude Code |
|
|
96
115
|
| --- | --- | --- |
|
|
97
|
-
| 添加工作区项目 | `$
|
|
98
|
-
| 解决项目分支不一致 | `$
|
|
116
|
+
| 添加工作区项目 | `$codew-add-projects` | `/codew:add-projects` |
|
|
117
|
+
| 解决项目分支不一致 | `$codew-resolve-branch` | `/codew-resolve-branch` |
|
|
118
|
+
| 分析 Jira 需求 | `$zhuiyi-jira-prd-analysis` | `$zhuiyi-jira-prd-analysis` |
|
|
119
|
+
| 拆分 Jira 任务 | `$zhuiyi-jira-task-breakdown` | `$zhuiyi-jira-task-breakdown` |
|
|
120
|
+
| 总结问题修复 | `$zhuiyi-jira-issue-fix-summary` | `$zhuiyi-jira-issue-fix-summary` |
|
|
121
|
+
| 落实光大研发规范 | `$zhuiyi-guangda-coding-spec` | `$zhuiyi-guangda-coding-spec` |
|