@zmice/zc 0.2.5 → 0.2.6
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 +85 -8
- package/dist/cli/__tests__/platform.test.js +169 -2
- package/dist/cli/__tests__/platform.test.js.map +1 -1
- package/dist/cli/__tests__/surface.test.js +52 -0
- package/dist/cli/__tests__/surface.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.d.ts +2 -0
- package/dist/cli/__tests__/team.test.d.ts.map +1 -0
- package/dist/cli/__tests__/team.test.js +29 -0
- package/dist/cli/__tests__/team.test.js.map +1 -0
- package/dist/cli/__tests__/upstream.test.js +4 -0
- package/dist/cli/__tests__/upstream.test.js.map +1 -1
- package/dist/cli/platform.d.ts +11 -3
- package/dist/cli/platform.d.ts.map +1 -1
- package/dist/cli/platform.js +186 -49
- package/dist/cli/platform.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +114 -4
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/upstream.d.ts +1 -0
- package/dist/cli/upstream.d.ts.map +1 -1
- package/dist/cli/upstream.js +84 -5
- package/dist/cli/upstream.js.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.js +68 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
- package/dist/runtime/__tests__/worktree-manager.test.js +63 -1
- package/dist/runtime/__tests__/worktree-manager.test.js.map +1 -1
- package/dist/runtime/worktree-manager.d.ts +26 -1
- package/dist/runtime/worktree-manager.d.ts.map +1 -1
- package/dist/runtime/worktree-manager.js +126 -12
- package/dist/runtime/worktree-manager.js.map +1 -1
- package/dist/team/__tests__/orchestrator.test.js +40 -0
- package/dist/team/__tests__/orchestrator.test.js.map +1 -1
- package/dist/team/__tests__/planner.test.d.ts +2 -0
- package/dist/team/__tests__/planner.test.d.ts.map +1 -0
- package/dist/team/__tests__/planner.test.js +43 -0
- package/dist/team/__tests__/planner.test.js.map +1 -0
- package/dist/team/__tests__/task-queue.test.js +18 -0
- package/dist/team/__tests__/task-queue.test.js.map +1 -1
- package/dist/team/orchestrator.d.ts +2 -1
- package/dist/team/orchestrator.d.ts.map +1 -1
- package/dist/team/orchestrator.js +29 -10
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/planner.d.ts +27 -0
- package/dist/team/planner.d.ts.map +1 -0
- package/dist/team/planner.js +120 -0
- package/dist/team/planner.js.map +1 -0
- package/dist/team/task-queue.d.ts +3 -0
- package/dist/team/task-queue.d.ts.map +1 -1
- package/dist/team/task-queue.js +11 -2
- package/dist/team/task-queue.js.map +1 -1
- package/package.json +3 -3
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.js +68 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
- package/vendor/packages/platform-claude/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-claude/dist/index.js +12 -70
- package/vendor/packages/platform-claude/dist/index.js.map +1 -1
- package/vendor/packages/platform-codex/dist/generate.d.ts +1 -1
- package/vendor/packages/platform-codex/dist/generate.d.ts.map +1 -1
- package/vendor/packages/platform-codex/dist/generate.js +1 -1
- package/vendor/packages/platform-codex/dist/generate.js.map +1 -1
- package/vendor/packages/platform-codex/dist/index.d.ts +15 -1
- package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-codex/dist/index.js +215 -39
- package/vendor/packages/platform-codex/dist/index.js.map +1 -1
- package/vendor/packages/platform-codex/dist/index.test.js +94 -5
- package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
- package/vendor/packages/platform-opencode/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-opencode/dist/index.js +15 -81
- package/vendor/packages/platform-opencode/dist/index.js.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.js +28 -84
- package/vendor/packages/platform-qwen/dist/index.js.map +1 -1
- package/vendor/packages/toolkit/src/content/agents/architect/body.md +8 -0
- package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +10 -0
- package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +8 -0
- package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +3 -1
- package/vendor/packages/toolkit/src/content/commands/start/body.md +51 -2
- package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +2 -2
- package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +17 -0
- package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +77 -520
- package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +56 -387
- package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +10 -0
- package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +55 -301
- package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +10 -0
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +66 -331
- package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +30 -1
- package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +79 -317
- package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +60 -330
- package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +35 -0
- package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +66 -342
- package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +66 -303
- package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +81 -327
- package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +50 -346
- package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +26 -2
- package/vendor/references/upstreams.yaml +5 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { attachPlanMetadata,
|
|
1
|
+
import { attachPlanMetadata, createMarkdownAgentArtifact, createMarkdownCommandArtifact, createNamespacedAssetSlug, prefixArtifacts, renderPlatformAssetList, } from "@zmice/platform-core";
|
|
2
2
|
export const platformName = "claude";
|
|
3
3
|
export const packageName = "@zmice/platform-claude";
|
|
4
4
|
export const templateFiles = {
|
|
@@ -40,14 +40,6 @@ function selectMatchedAssetsByKind(manifest, kind) {
|
|
|
40
40
|
function selectMatchedAssets(manifest) {
|
|
41
41
|
return manifest.assets.filter((asset) => asset.platforms.includes(platformName));
|
|
42
42
|
}
|
|
43
|
-
function renderAssetList(assets) {
|
|
44
|
-
if (assets.length === 0) {
|
|
45
|
-
return "- 尚未匹配到任何工具包资产。";
|
|
46
|
-
}
|
|
47
|
-
return assets
|
|
48
|
-
.map((asset) => `- \`${asset.kind}\` \`${asset.id}\`: ${describeAsset(asset)}`)
|
|
49
|
-
.join("\n");
|
|
50
|
-
}
|
|
51
43
|
function renderClaudeFile(manifestSource, assets, skippedSkills) {
|
|
52
44
|
const commandCount = assets.filter((asset) => asset.kind === "command").length;
|
|
53
45
|
const agentCount = assets.filter((asset) => asset.kind === "agent").length;
|
|
@@ -125,55 +117,11 @@ function renderClaudeFile(manifestSource, assets, skippedSkills) {
|
|
|
125
117
|
- agents:${agentCount} 个
|
|
126
118
|
- 未生成的 skill 资产:${skippedSkills.length} 个
|
|
127
119
|
|
|
128
|
-
${
|
|
120
|
+
${renderPlatformAssetList(assets)}
|
|
129
121
|
`;
|
|
130
122
|
}
|
|
131
|
-
function renderYamlFrontmatter(fields) {
|
|
132
|
-
const lines = ["---"];
|
|
133
|
-
for (const [key, value] of Object.entries(fields)) {
|
|
134
|
-
if (value === undefined) {
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
if (Array.isArray(value)) {
|
|
138
|
-
if (value.length === 0) {
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
lines.push(`${key}:`);
|
|
142
|
-
for (const entry of value) {
|
|
143
|
-
lines.push(` - ${JSON.stringify(entry)}`);
|
|
144
|
-
}
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
lines.push(`${key}: ${JSON.stringify(value)}`);
|
|
148
|
-
}
|
|
149
|
-
lines.push("---");
|
|
150
|
-
return `${lines.join("\n")}\n`;
|
|
151
|
-
}
|
|
152
|
-
function renderMarkdownCommandFile(options) {
|
|
153
|
-
return `${renderYamlFrontmatter({
|
|
154
|
-
name: options.name,
|
|
155
|
-
description: options.description,
|
|
156
|
-
})}\n${options.body.trim()}\n`;
|
|
157
|
-
}
|
|
158
|
-
function renderMarkdownAgentFile(options) {
|
|
159
|
-
return `${renderYamlFrontmatter({
|
|
160
|
-
name: options.name,
|
|
161
|
-
description: options.description,
|
|
162
|
-
tools: options.tools,
|
|
163
|
-
})}\n${options.body.trim()}\n`;
|
|
164
|
-
}
|
|
165
|
-
function stripKindPrefix(value) {
|
|
166
|
-
return value.replace(/^(command|skill|agent)[:-]/, "");
|
|
167
|
-
}
|
|
168
123
|
function toNamespacedSlug(asset) {
|
|
169
|
-
|
|
170
|
-
const base = (assetName ?? stripKindPrefix(asset.id))
|
|
171
|
-
.trim()
|
|
172
|
-
.toLowerCase()
|
|
173
|
-
.replace(/[^a-z0-9-]+/g, "-")
|
|
174
|
-
.replace(/-{2,}/g, "-")
|
|
175
|
-
.replace(/^-|-$/g, "");
|
|
176
|
-
return `zc-${base || stripKindPrefix(asset.id)}`;
|
|
124
|
+
return createNamespacedAssetSlug(asset, { separators: [":", "-"] });
|
|
177
125
|
}
|
|
178
126
|
function toScopedRelativeDir(scope, relativeDir) {
|
|
179
127
|
return scope === "project" ? `.claude/${relativeDir}` : relativeDir;
|
|
@@ -182,14 +130,11 @@ function renderCommandArtifacts(scope, assets) {
|
|
|
182
130
|
const relativeDir = toScopedRelativeDir(scope, capability.commands.relativeDir);
|
|
183
131
|
return assets.map((asset) => {
|
|
184
132
|
const slug = toNamespacedSlug(asset);
|
|
185
|
-
return {
|
|
133
|
+
return createMarkdownCommandArtifact({
|
|
186
134
|
path: `${relativeDir}/${slug}.md`,
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
body: asset.body ?? `# ${describeAsset(asset)}\n`,
|
|
191
|
-
}),
|
|
192
|
-
};
|
|
135
|
+
asset,
|
|
136
|
+
name: slug,
|
|
137
|
+
});
|
|
193
138
|
});
|
|
194
139
|
}
|
|
195
140
|
function renderAgentArtifacts(scope, assets) {
|
|
@@ -197,15 +142,12 @@ function renderAgentArtifacts(scope, assets) {
|
|
|
197
142
|
return assets.map((asset) => {
|
|
198
143
|
const slug = toNamespacedSlug(asset);
|
|
199
144
|
const assetTools = "tools" in asset && Array.isArray(asset.tools) ? asset.tools : undefined;
|
|
200
|
-
return {
|
|
145
|
+
return createMarkdownAgentArtifact({
|
|
201
146
|
path: `${relativeDir}/${slug}.md`,
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
tools: assetTools,
|
|
207
|
-
}),
|
|
208
|
-
};
|
|
147
|
+
asset,
|
|
148
|
+
name: slug,
|
|
149
|
+
tools: assetTools,
|
|
150
|
+
});
|
|
209
151
|
});
|
|
210
152
|
}
|
|
211
153
|
export function createClaudeGenerationPlan(manifest, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { createCodexGenerationPlan, packageName, platformName, templateFiles, type GenerationOptions, type GenerationPlan, type PlatformArtifact, type ToolkitAssetLike, type ToolkitManifestLike, } from "./index.js";
|
|
1
|
+
export { createCodexGenerationPlan, createCodexMarketplaceGenerationPlan, createCodexPluginGenerationPlan, packageName, platformName, templateFiles, type GenerationOptions, type GenerationPlan, type PlatformArtifact, type ToolkitAssetLike, type ToolkitManifestLike, } from "./index.js";
|
|
2
2
|
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,+BAA+B,EAC/B,WAAW,EACX,YAAY,EACZ,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { createCodexGenerationPlan, packageName, platformName, templateFiles, } from "./index.js";
|
|
1
|
+
export { createCodexGenerationPlan, createCodexMarketplaceGenerationPlan, createCodexPluginGenerationPlan, packageName, platformName, templateFiles, } from "./index.js";
|
|
2
2
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,aAAa,GAMd,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,+BAA+B,EAC/B,WAAW,EACX,YAAY,EACZ,aAAa,GAMd,MAAM,YAAY,CAAC"}
|
|
@@ -3,9 +3,13 @@ export interface GenerationOptions {
|
|
|
3
3
|
readonly packageName?: string;
|
|
4
4
|
readonly manifestSource?: string;
|
|
5
5
|
readonly scope?: InstallScope;
|
|
6
|
+
readonly pluginName?: string;
|
|
7
|
+
readonly pluginVersion?: string;
|
|
8
|
+
readonly marketplaceName?: string;
|
|
9
|
+
readonly marketplaceDisplayName?: string;
|
|
6
10
|
}
|
|
7
11
|
export type InstallScope = "project" | "global" | "dir";
|
|
8
|
-
export type PlatformCapabilitySurface = "entry-file" | "skills-dir";
|
|
12
|
+
export type PlatformCapabilitySurface = "entry-file" | "plugin-dir" | "skills-dir" | "agents-dir";
|
|
9
13
|
export interface PlatformCapability {
|
|
10
14
|
readonly platform: typeof platformName;
|
|
11
15
|
readonly namespace: string;
|
|
@@ -17,6 +21,10 @@ export interface PlatformCapability {
|
|
|
17
21
|
readonly relativeDir: string;
|
|
18
22
|
readonly fileName: "SKILL.md";
|
|
19
23
|
};
|
|
24
|
+
readonly agents?: {
|
|
25
|
+
readonly relativeDir: string;
|
|
26
|
+
readonly fileExtension: ".toml";
|
|
27
|
+
};
|
|
20
28
|
}
|
|
21
29
|
export interface ToolkitAssetLike extends BaseToolkitAssetLike {
|
|
22
30
|
readonly name?: string;
|
|
@@ -43,8 +51,14 @@ export declare const packageName: "@zmice/platform-codex";
|
|
|
43
51
|
export type { PlatformArtifact, };
|
|
44
52
|
export declare const templateFiles: {
|
|
45
53
|
readonly agents: "AGENTS.md";
|
|
54
|
+
readonly config: "config.toml";
|
|
55
|
+
readonly projectConfig: ".codex/config.toml";
|
|
56
|
+
readonly pluginManifest: ".codex-plugin/plugin.json";
|
|
57
|
+
readonly marketplace: ".agents/plugins/marketplace.json";
|
|
46
58
|
};
|
|
47
59
|
export declare const capability: PlatformCapability;
|
|
48
60
|
export declare function createCodexGenerationPlan(manifest: ToolkitManifestLike, options?: GenerationOptions): GenerationPlan;
|
|
61
|
+
export declare function createCodexPluginGenerationPlan(manifest: ToolkitManifestLike, options?: GenerationOptions): GenerationPlan;
|
|
62
|
+
export declare function createCodexMarketplaceGenerationPlan(manifest: ToolkitManifestLike, options?: GenerationOptions): GenerationPlan;
|
|
49
63
|
export declare function createCodexInstallPlan(manifest: ToolkitManifestLike, options: InstallOptions): InstallPlan;
|
|
50
64
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { attachPlanMetadata, createInstallPlan, describeAsset, selectMatchedAssets, } from "@zmice/platform-core";
|
|
1
|
+
import { attachPlanMetadata, createSkillArtifact, createInstallPlan, describeAsset, renderPlatformAssetList, selectMatchedAssets, stripAssetKindPrefix, } from "@zmice/platform-core";
|
|
2
2
|
export const platformName = "codex";
|
|
3
3
|
export const packageName = "@zmice/platform-codex";
|
|
4
4
|
export const templateFiles = {
|
|
5
5
|
agents: "AGENTS.md",
|
|
6
|
+
config: "config.toml",
|
|
7
|
+
projectConfig: ".codex/config.toml",
|
|
8
|
+
pluginManifest: ".codex-plugin/plugin.json",
|
|
9
|
+
marketplace: ".agents/plugins/marketplace.json",
|
|
6
10
|
};
|
|
7
11
|
export const capability = {
|
|
8
12
|
platform: platformName,
|
|
9
13
|
namespace: "zc",
|
|
10
|
-
surfaces: ["entry-file", "skills-dir"],
|
|
14
|
+
surfaces: ["entry-file", "skills-dir", "agents-dir"],
|
|
11
15
|
entryFile: {
|
|
12
16
|
fileName: templateFiles.agents,
|
|
13
17
|
},
|
|
@@ -15,26 +19,45 @@ export const capability = {
|
|
|
15
19
|
relativeDir: "skills",
|
|
16
20
|
fileName: "SKILL.md",
|
|
17
21
|
},
|
|
22
|
+
agents: {
|
|
23
|
+
relativeDir: "agents",
|
|
24
|
+
fileExtension: ".toml",
|
|
25
|
+
},
|
|
18
26
|
};
|
|
19
27
|
function getScopeLayout(scope) {
|
|
20
28
|
if (scope === "project") {
|
|
21
29
|
return {
|
|
22
30
|
entryFile: templateFiles.agents,
|
|
31
|
+
configFile: templateFiles.projectConfig,
|
|
32
|
+
displayConfigFile: ".codex/config.toml",
|
|
23
33
|
skillsDir: ".codex/skills",
|
|
24
34
|
displaySkillsDir: ".codex/skills",
|
|
35
|
+
agentsDir: ".codex/agents",
|
|
36
|
+
displayAgentsDir: ".codex/agents",
|
|
37
|
+
agentConfigPrefix: "agents",
|
|
25
38
|
};
|
|
26
39
|
}
|
|
27
40
|
if (scope === "global") {
|
|
28
41
|
return {
|
|
29
42
|
entryFile: templateFiles.agents,
|
|
43
|
+
configFile: templateFiles.config,
|
|
44
|
+
displayConfigFile: "~/.codex/config.toml",
|
|
30
45
|
skillsDir: "skills",
|
|
31
46
|
displaySkillsDir: "~/.codex/skills",
|
|
47
|
+
agentsDir: "agents",
|
|
48
|
+
displayAgentsDir: "~/.codex/agents",
|
|
49
|
+
agentConfigPrefix: "agents",
|
|
32
50
|
};
|
|
33
51
|
}
|
|
34
52
|
return {
|
|
35
53
|
entryFile: templateFiles.agents,
|
|
54
|
+
configFile: templateFiles.config,
|
|
55
|
+
displayConfigFile: "config.toml",
|
|
36
56
|
skillsDir: "skills",
|
|
37
57
|
displaySkillsDir: "skills",
|
|
58
|
+
agentsDir: "agents",
|
|
59
|
+
displayAgentsDir: "agents",
|
|
60
|
+
agentConfigPrefix: "agents",
|
|
38
61
|
};
|
|
39
62
|
}
|
|
40
63
|
function createCapability(layout) {
|
|
@@ -48,22 +71,19 @@ function createCapability(layout) {
|
|
|
48
71
|
relativeDir: layout.skillsDir,
|
|
49
72
|
fileName: capability.skills.fileName,
|
|
50
73
|
},
|
|
74
|
+
agents: {
|
|
75
|
+
relativeDir: layout.agentsDir,
|
|
76
|
+
fileExtension: ".toml",
|
|
77
|
+
},
|
|
51
78
|
};
|
|
52
79
|
}
|
|
53
80
|
function selectMatchedAssetsByKind(manifest, kind) {
|
|
54
81
|
return selectMatchedAssets(manifest, platformName).filter((asset) => asset.kind === kind);
|
|
55
82
|
}
|
|
56
|
-
function renderAssetList(assets) {
|
|
57
|
-
if (assets.length === 0) {
|
|
58
|
-
return "- 尚未匹配到任何工具包资产。";
|
|
59
|
-
}
|
|
60
|
-
return assets
|
|
61
|
-
.map((asset) => `- \`${asset.kind}\` \`${asset.id}\`: ${describeAsset(asset)}`)
|
|
62
|
-
.join("\n");
|
|
63
|
-
}
|
|
64
83
|
function renderAgentsFile(manifestSource, assets, layout) {
|
|
65
84
|
const commandCount = assets.filter((asset) => asset.kind === "command").length;
|
|
66
85
|
const skillCount = assets.filter((asset) => asset.kind === "skill").length;
|
|
86
|
+
const agentCount = assets.filter((asset) => asset.kind === "agent").length;
|
|
67
87
|
return `# Codex 工作流入口
|
|
68
88
|
|
|
69
89
|
这是安装到 Codex 的薄入口文件。
|
|
@@ -75,10 +95,13 @@ function renderAgentsFile(manifestSource, assets, layout) {
|
|
|
75
95
|
3. 把 \`zc:*\` 命令语义映射成 Codex 实际可调用的 \`$zc-*\` skill
|
|
76
96
|
|
|
77
97
|
详细方法不写在这里,完整内容都在 \`${layout.displaySkillsDir}/zc-*/SKILL.md\`。
|
|
98
|
+
角色化 custom agents 位于 \`${layout.displayAgentsDir}/zc-*.toml\`。
|
|
99
|
+
Codex agent role 注册位于 \`${layout.displayConfigFile}\` 的 \`[agents.*]\` 配置。
|
|
78
100
|
其中:
|
|
79
101
|
|
|
80
102
|
- \`$zc-start\`、\`$zc-spec\`、\`$zc-build\` 这类是 command-alias skill
|
|
81
103
|
- \`$zc-sdd-tdd-workflow\`、\`$zc-debugging-and-error-recovery\` 这类是专题/流程 skill
|
|
104
|
+
- \`zc_*\` 这类是 Codex custom agent,只在显式要求多 agent / 指定 agent 时使用
|
|
82
105
|
|
|
83
106
|
## 核心规则
|
|
84
107
|
|
|
@@ -196,32 +219,75 @@ function renderAgentsFile(manifestSource, assets, layout) {
|
|
|
196
219
|
- 匹配到的资产:${assets.length}
|
|
197
220
|
- command-alias skills:${commandCount} 个
|
|
198
221
|
- skills:${skillCount} 个
|
|
222
|
+
- custom agents:${agentCount} 个
|
|
199
223
|
|
|
200
|
-
${
|
|
224
|
+
${renderPlatformAssetList(assets)}
|
|
201
225
|
`;
|
|
202
226
|
}
|
|
227
|
+
function renderPluginManifest(options) {
|
|
228
|
+
const commandCount = options.matchedAssets.filter((asset) => asset.kind === "command").length;
|
|
229
|
+
const skillCount = options.matchedAssets.filter((asset) => asset.kind === "skill").length;
|
|
230
|
+
return `${JSON.stringify({
|
|
231
|
+
name: options.name,
|
|
232
|
+
version: options.version,
|
|
233
|
+
description: "Bundle zc AI coding workflows for Codex.",
|
|
234
|
+
author: {
|
|
235
|
+
name: "zc",
|
|
236
|
+
},
|
|
237
|
+
license: "MIT",
|
|
238
|
+
keywords: ["codex", "skills", "workflow", "multi-agent"],
|
|
239
|
+
skills: "./skills/",
|
|
240
|
+
interface: {
|
|
241
|
+
displayName: "zc AI Coding Toolkit",
|
|
242
|
+
shortDescription: "Reusable engineering workflows for Codex.",
|
|
243
|
+
longDescription: "Installs zc workflow skills for planning, building, reviewing, verifying, and coordinating agentic coding work in Codex.",
|
|
244
|
+
developerName: "zc",
|
|
245
|
+
category: "Developer Tools",
|
|
246
|
+
capabilities: ["Read", "Write"],
|
|
247
|
+
defaultPrompt: [
|
|
248
|
+
"Use zc-start to choose the right workflow for this task.",
|
|
249
|
+
"Use zc-team-orchestration when multiple agents need coordinated worktree isolation.",
|
|
250
|
+
],
|
|
251
|
+
},
|
|
252
|
+
zc: {
|
|
253
|
+
commands: commandCount,
|
|
254
|
+
skills: skillCount,
|
|
255
|
+
},
|
|
256
|
+
}, null, 2)}\n`;
|
|
257
|
+
}
|
|
258
|
+
function renderMarketplaceManifest(options) {
|
|
259
|
+
return `${JSON.stringify({
|
|
260
|
+
name: options.marketplaceName,
|
|
261
|
+
interface: {
|
|
262
|
+
displayName: options.marketplaceDisplayName,
|
|
263
|
+
},
|
|
264
|
+
plugins: [
|
|
265
|
+
{
|
|
266
|
+
name: options.pluginName,
|
|
267
|
+
source: {
|
|
268
|
+
source: "local",
|
|
269
|
+
path: options.pluginPath,
|
|
270
|
+
},
|
|
271
|
+
policy: {
|
|
272
|
+
installation: "AVAILABLE",
|
|
273
|
+
authentication: "ON_INSTALL",
|
|
274
|
+
},
|
|
275
|
+
category: "Developer Tools",
|
|
276
|
+
},
|
|
277
|
+
],
|
|
278
|
+
}, null, 2)}\n`;
|
|
279
|
+
}
|
|
203
280
|
function toCodexSkillSlug(asset) {
|
|
204
|
-
return asset.id
|
|
281
|
+
return stripAssetKindPrefix(asset.id);
|
|
205
282
|
}
|
|
206
283
|
function toCodexSkillDirectory(asset, layout) {
|
|
207
284
|
return `${layout.skillsDir}/zc-${toCodexSkillSlug(asset)}`;
|
|
208
285
|
}
|
|
209
|
-
function
|
|
210
|
-
|
|
211
|
-
for (const [key, value] of Object.entries(fields)) {
|
|
212
|
-
if (!value) {
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
215
|
-
lines.push(`${key}: ${JSON.stringify(value)}`);
|
|
216
|
-
}
|
|
217
|
-
lines.push("---");
|
|
218
|
-
return `${lines.join("\n")}\n`;
|
|
286
|
+
function toCodexAgentName(asset) {
|
|
287
|
+
return `zc_${toCodexSkillSlug(asset).replace(/[^A-Za-z0-9_]+/g, "_")}`;
|
|
219
288
|
}
|
|
220
|
-
function
|
|
221
|
-
return
|
|
222
|
-
name: options.name,
|
|
223
|
-
description: options.description,
|
|
224
|
-
})}\n${options.body.trim()}\n`;
|
|
289
|
+
function renderTomlScalar(value) {
|
|
290
|
+
return JSON.stringify(value);
|
|
225
291
|
}
|
|
226
292
|
function renderCodexCommandAliasBody(asset) {
|
|
227
293
|
const commandName = toCodexSkillSlug(asset);
|
|
@@ -239,23 +305,56 @@ ${(asset.body ?? `# ${describeAsset(asset)}\n`).trim()}
|
|
|
239
305
|
`;
|
|
240
306
|
}
|
|
241
307
|
function renderCodexSkillArtifacts(assets, layout) {
|
|
242
|
-
return assets.map((asset) => ({
|
|
308
|
+
return assets.map((asset) => createSkillArtifact({
|
|
243
309
|
path: `${toCodexSkillDirectory(asset, layout)}/SKILL.md`,
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}),
|
|
310
|
+
asset,
|
|
311
|
+
name: `zc-${asset.name ?? toCodexSkillSlug(asset)}`,
|
|
312
|
+
description: asset.summary ?? describeAsset(asset),
|
|
313
|
+
body: asset.body ?? `# ${describeAsset(asset)}\n`,
|
|
249
314
|
}));
|
|
250
315
|
}
|
|
316
|
+
function renderCodexAgentArtifacts(assets, layout) {
|
|
317
|
+
return assets.map((asset) => {
|
|
318
|
+
const slug = toCodexSkillSlug(asset);
|
|
319
|
+
return {
|
|
320
|
+
path: `${layout.agentsDir}/zc-${slug}.toml`,
|
|
321
|
+
content: [
|
|
322
|
+
`name = ${renderTomlScalar(toCodexAgentName(asset))}`,
|
|
323
|
+
`description = ${renderTomlScalar(asset.summary ?? describeAsset(asset))}`,
|
|
324
|
+
`developer_instructions = ${renderTomlScalar(asset.body ?? `# ${describeAsset(asset)}\n`)}`,
|
|
325
|
+
"",
|
|
326
|
+
].join("\n"),
|
|
327
|
+
};
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
function renderCodexAgentConfigArtifacts(assets, layout) {
|
|
331
|
+
if (assets.length === 0) {
|
|
332
|
+
return [];
|
|
333
|
+
}
|
|
334
|
+
const lines = [
|
|
335
|
+
"# Generated by zc. Merge with existing Codex config before forcing overwrites.",
|
|
336
|
+
"# See: https://developers.openai.com/codex/config-reference",
|
|
337
|
+
"",
|
|
338
|
+
];
|
|
339
|
+
for (const asset of assets) {
|
|
340
|
+
const slug = toCodexSkillSlug(asset);
|
|
341
|
+
const agentName = toCodexAgentName(asset);
|
|
342
|
+
lines.push(`[agents.${agentName}]`, `description = ${renderTomlScalar(asset.summary ?? describeAsset(asset))}`, `config_file = ${renderTomlScalar(`${layout.agentConfigPrefix}/zc-${slug}.toml`)}`, "");
|
|
343
|
+
}
|
|
344
|
+
return [
|
|
345
|
+
{
|
|
346
|
+
path: layout.configFile,
|
|
347
|
+
content: `${lines.join("\n").trimEnd()}\n`,
|
|
348
|
+
},
|
|
349
|
+
];
|
|
350
|
+
}
|
|
251
351
|
function renderCodexCommandAliasArtifacts(assets, layout) {
|
|
252
|
-
return assets.map((asset) => ({
|
|
352
|
+
return assets.map((asset) => createSkillArtifact({
|
|
253
353
|
path: `${toCodexSkillDirectory(asset, layout)}/SKILL.md`,
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}),
|
|
354
|
+
asset,
|
|
355
|
+
name: `zc-${asset.name ?? toCodexSkillSlug(asset)}`,
|
|
356
|
+
description: asset.summary ?? describeAsset(asset),
|
|
357
|
+
body: renderCodexCommandAliasBody(asset),
|
|
259
358
|
}));
|
|
260
359
|
}
|
|
261
360
|
export function createCodexGenerationPlan(manifest, options = {}) {
|
|
@@ -265,6 +364,7 @@ export function createCodexGenerationPlan(manifest, options = {}) {
|
|
|
265
364
|
const matchedAssets = selectMatchedAssets(manifest, platformName);
|
|
266
365
|
const commandAssets = selectMatchedAssetsByKind(manifest, "command");
|
|
267
366
|
const skillAssets = selectMatchedAssetsByKind(manifest, "skill");
|
|
367
|
+
const agentAssets = selectMatchedAssetsByKind(manifest, "agent");
|
|
268
368
|
const manifestSource = options.manifestSource ?? manifest.source ?? "toolkit-manifest";
|
|
269
369
|
const resolvedPackageName = options.packageName ?? packageName;
|
|
270
370
|
return attachPlanMetadata({
|
|
@@ -278,11 +378,87 @@ export function createCodexGenerationPlan(manifest, options = {}) {
|
|
|
278
378
|
path: layout.entryFile,
|
|
279
379
|
content: renderAgentsFile(manifestSource, matchedAssets, layout),
|
|
280
380
|
},
|
|
381
|
+
...renderCodexAgentConfigArtifacts(agentAssets, layout),
|
|
382
|
+
...renderCodexCommandAliasArtifacts(commandAssets, layout),
|
|
383
|
+
...renderCodexSkillArtifacts(skillAssets, layout),
|
|
384
|
+
...renderCodexAgentArtifacts(agentAssets, layout),
|
|
385
|
+
],
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
export function createCodexPluginGenerationPlan(manifest, options = {}) {
|
|
389
|
+
const layout = getScopeLayout("dir");
|
|
390
|
+
const matchedAssets = selectMatchedAssets(manifest, platformName);
|
|
391
|
+
const commandAssets = selectMatchedAssetsByKind(manifest, "command");
|
|
392
|
+
const skillAssets = selectMatchedAssetsByKind(manifest, "skill");
|
|
393
|
+
const manifestSource = options.manifestSource ?? manifest.source ?? "toolkit-manifest";
|
|
394
|
+
const resolvedPackageName = options.packageName ?? packageName;
|
|
395
|
+
const pluginName = options.pluginName ?? "zc-toolkit";
|
|
396
|
+
const pluginVersion = options.pluginVersion ?? "0.0.0";
|
|
397
|
+
return attachPlanMetadata({
|
|
398
|
+
platform: platformName,
|
|
399
|
+
packageName: resolvedPackageName,
|
|
400
|
+
manifestSource,
|
|
401
|
+
matchedAssets,
|
|
402
|
+
capability: {
|
|
403
|
+
...createCapability(layout),
|
|
404
|
+
surfaces: ["plugin-dir", "skills-dir"],
|
|
405
|
+
entryFile: undefined,
|
|
406
|
+
},
|
|
407
|
+
artifacts: [
|
|
408
|
+
{
|
|
409
|
+
path: templateFiles.pluginManifest,
|
|
410
|
+
content: renderPluginManifest({
|
|
411
|
+
name: pluginName,
|
|
412
|
+
version: pluginVersion,
|
|
413
|
+
matchedAssets,
|
|
414
|
+
}),
|
|
415
|
+
},
|
|
281
416
|
...renderCodexCommandAliasArtifacts(commandAssets, layout),
|
|
282
417
|
...renderCodexSkillArtifacts(skillAssets, layout),
|
|
283
418
|
],
|
|
284
419
|
});
|
|
285
420
|
}
|
|
421
|
+
export function createCodexMarketplaceGenerationPlan(manifest, options = {}) {
|
|
422
|
+
const pluginName = options.pluginName ?? "zc-toolkit";
|
|
423
|
+
const marketplaceName = options.marketplaceName ?? "zc-toolkit";
|
|
424
|
+
const marketplaceDisplayName = options.marketplaceDisplayName ?? "zc AI Coding Toolkit";
|
|
425
|
+
const marketplaceScope = options.scope ?? "project";
|
|
426
|
+
const pluginRoot = marketplaceScope === "global"
|
|
427
|
+
? `.codex/plugins/${pluginName}`
|
|
428
|
+
: `plugins/${pluginName}`;
|
|
429
|
+
const pluginPlan = createCodexPluginGenerationPlan(manifest, options);
|
|
430
|
+
const repoLayout = getScopeLayout("project");
|
|
431
|
+
const agentAssets = selectMatchedAssetsByKind(manifest, "agent");
|
|
432
|
+
return attachPlanMetadata({
|
|
433
|
+
...pluginPlan,
|
|
434
|
+
capability: {
|
|
435
|
+
...pluginPlan.capability,
|
|
436
|
+
surfaces: ["plugin-dir", "skills-dir", "agents-dir"],
|
|
437
|
+
entryFile: undefined,
|
|
438
|
+
agents: {
|
|
439
|
+
relativeDir: repoLayout.agentsDir,
|
|
440
|
+
fileExtension: ".toml",
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
artifacts: [
|
|
444
|
+
{
|
|
445
|
+
path: templateFiles.marketplace,
|
|
446
|
+
content: renderMarketplaceManifest({
|
|
447
|
+
marketplaceName,
|
|
448
|
+
marketplaceDisplayName,
|
|
449
|
+
pluginName,
|
|
450
|
+
pluginPath: `./${pluginRoot}`,
|
|
451
|
+
}),
|
|
452
|
+
},
|
|
453
|
+
...pluginPlan.artifacts.map((artifact) => ({
|
|
454
|
+
path: `${pluginRoot}/${artifact.path}`,
|
|
455
|
+
content: artifact.content,
|
|
456
|
+
})),
|
|
457
|
+
...renderCodexAgentConfigArtifacts(agentAssets, repoLayout),
|
|
458
|
+
...renderCodexAgentArtifacts(agentAssets, repoLayout),
|
|
459
|
+
],
|
|
460
|
+
});
|
|
461
|
+
}
|
|
286
462
|
export function createCodexInstallPlan(manifest, options) {
|
|
287
463
|
const generationPlan = createCodexGenerationPlan(manifest, options);
|
|
288
464
|
const installPlan = createInstallPlan(generationPlan, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|