claude-code-workflow 6.3.31 → 6.3.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.claude/CLAUDE.md +2 -3
  2. package/.claude/commands/workflow/clean.md +3 -3
  3. package/.claude/commands/workflow/init.md +25 -12
  4. package/.claude/commands/workflow/lite-execute.md +2 -2
  5. package/.claude/commands/workflow/session/complete.md +31 -4
  6. package/.claude/commands/workflow/session/start.md +1 -1
  7. package/.claude/commands/workflow/tools/context-gather.md +2 -2
  8. package/.claude/skills/ccw-help/command.json +10 -1
  9. package/.claude/workflows/chinese-response.md +1 -1
  10. package/.claude/workflows/cli-templates/schemas/project-guidelines-schema.json +141 -0
  11. package/.claude/workflows/cli-templates/schemas/{project-json-schema.json → project-tech-schema.json} +2 -2
  12. package/.claude/workflows/cli-tools-usage.md +28 -4
  13. package/ccw/dist/commands/cli.js +1 -1
  14. package/ccw/dist/commands/cli.js.map +1 -1
  15. package/ccw/dist/core/data-aggregator.d.ts +13 -2
  16. package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
  17. package/ccw/dist/core/data-aggregator.js +10 -16
  18. package/ccw/dist/core/data-aggregator.js.map +1 -1
  19. package/ccw/dist/core/routes/help-routes.d.ts.map +1 -1
  20. package/ccw/dist/core/routes/help-routes.js +156 -58
  21. package/ccw/dist/core/routes/help-routes.js.map +1 -1
  22. package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
  23. package/ccw/dist/tools/cli-executor-core.js +5 -4
  24. package/ccw/dist/tools/cli-executor-core.js.map +1 -1
  25. package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -1
  26. package/ccw/dist/tools/cli-executor-utils.js +16 -1
  27. package/ccw/dist/tools/cli-executor-utils.js.map +1 -1
  28. package/ccw/src/commands/cli.ts +1 -1
  29. package/ccw/src/core/data-aggregator.ts +25 -19
  30. package/ccw/src/core/routes/help-routes.ts +172 -60
  31. package/ccw/src/templates/dashboard-js/components/hook-manager.js +120 -0
  32. package/ccw/src/templates/dashboard-js/views/hook-manager.js +21 -5
  33. package/ccw/src/tools/cli-executor-core.ts +6 -5
  34. package/ccw/src/tools/cli-executor-utils.ts +15 -1
  35. package/package.json +1 -1
@@ -524,16 +524,32 @@ async function installHookTemplate(templateId, scope) {
524
524
  return;
525
525
  }
526
526
 
527
+ // Platform compatibility check
528
+ const compatibility = PlatformUtils.checkCompatibility(template);
529
+ if (compatibility.issues.length > 0) {
530
+ const warnings = compatibility.issues.filter(i => i.level === 'warning');
531
+ if (warnings.length > 0) {
532
+ const platform = PlatformUtils.detect();
533
+ const warningMsg = warnings.map(w => w.message).join('; ');
534
+ console.warn(`[Hook Install] Platform: ${platform}, Warnings: ${warningMsg}`);
535
+ // Show warning but continue installation
536
+ showRefreshToast(`Warning: ${warningMsg}`, 'warning', 5000);
537
+ }
538
+ }
539
+
540
+ // Get platform-specific variant if available
541
+ const adaptedTemplate = PlatformUtils.getVariant(template);
542
+
527
543
  const hookData = {
528
- command: template.command,
529
- args: template.args
544
+ command: adaptedTemplate.command,
545
+ args: adaptedTemplate.args
530
546
  };
531
547
 
532
- if (template.matcher) {
533
- hookData.matcher = template.matcher;
548
+ if (adaptedTemplate.matcher) {
549
+ hookData.matcher = adaptedTemplate.matcher;
534
550
  }
535
551
 
536
- await saveHook(scope, template.event, hookData);
552
+ await saveHook(scope, adaptedTemplate.event, hookData);
537
553
  }
538
554
 
539
555
  async function uninstallHookTemplate(templateId) {
@@ -160,7 +160,7 @@ interface ClaudeWithSettingsParams {
160
160
  prompt: string;
161
161
  settingsPath: string;
162
162
  endpointId: string;
163
- mode: 'analysis' | 'write' | 'auto';
163
+ mode: 'analysis' | 'write' | 'auto' | 'review';
164
164
  workingDir: string;
165
165
  cd?: string;
166
166
  includeDirs?: string[];
@@ -351,7 +351,7 @@ type BuiltinCliTool = typeof BUILTIN_CLI_TOOLS[number];
351
351
  const ParamsSchema = z.object({
352
352
  tool: z.string().min(1, 'Tool is required'), // Accept any tool ID (built-in or custom endpoint)
353
353
  prompt: z.string().min(1, 'Prompt is required'),
354
- mode: z.enum(['analysis', 'write', 'auto']).default('analysis'),
354
+ mode: z.enum(['analysis', 'write', 'auto', 'review']).default('analysis'),
355
355
  format: z.enum(['plain', 'yaml', 'json']).default('plain'), // Multi-turn prompt concatenation format
356
356
  model: z.string().optional(),
357
357
  cd: z.string().optional(),
@@ -1176,7 +1176,8 @@ export const schema: ToolSchema = {
1176
1176
  Modes:
1177
1177
  - analysis: Read-only operations (default)
1178
1178
  - write: File modifications allowed
1179
- - auto: Full autonomous operations (codex only)`,
1179
+ - auto: Full autonomous operations (codex only)
1180
+ - review: Code review mode (codex uses 'codex review' subcommand, others accept but no operation change)`,
1180
1181
  inputSchema: {
1181
1182
  type: 'object',
1182
1183
  properties: {
@@ -1191,8 +1192,8 @@ Modes:
1191
1192
  },
1192
1193
  mode: {
1193
1194
  type: 'string',
1194
- enum: ['analysis', 'write', 'auto'],
1195
- description: 'Execution mode (default: analysis)',
1195
+ enum: ['analysis', 'write', 'auto', 'review'],
1196
+ description: 'Execution mode (default: analysis). review mode uses codex review subcommand for codex tool.',
1196
1197
  default: 'analysis'
1197
1198
  },
1198
1199
  model: {
@@ -223,7 +223,21 @@ export function buildCommand(params: {
223
223
 
224
224
  case 'codex':
225
225
  useStdin = true;
226
- if (nativeResume?.enabled) {
226
+ if (mode === 'review') {
227
+ // codex review mode: non-interactive code review
228
+ // Format: codex review [OPTIONS] [PROMPT]
229
+ args.push('review');
230
+ // Default to --uncommitted if no specific review target in prompt
231
+ args.push('--uncommitted');
232
+ if (model) {
233
+ args.push('-m', model);
234
+ }
235
+ // codex review uses positional prompt argument, not stdin
236
+ useStdin = false;
237
+ if (prompt) {
238
+ args.push(prompt);
239
+ }
240
+ } else if (nativeResume?.enabled) {
227
241
  args.push('resume');
228
242
  if (nativeResume.isLatest) {
229
243
  args.push('--last');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-workflow",
3
- "version": "6.3.31",
3
+ "version": "6.3.32",
4
4
  "description": "JSON-driven multi-agent development framework with intelligent CLI orchestration (Gemini/Qwen/Codex), context-first architecture, and automated workflow execution",
5
5
  "type": "module",
6
6
  "main": "ccw/src/index.js",