mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-26 19:56:37 +08:00
feat: add CCW Loop System for automated iterative workflow execution
Implements a complete loop execution system with multi-loop parallel support, dashboard monitoring, and comprehensive security validation. Core features: - Loop orchestration engine (loop-manager, loop-state-manager) - Multi-loop parallel execution with independent state management - REST API endpoints for loop control (pause, resume, stop, retry) - WebSocket real-time status updates - Dashboard Loop Monitor view with live updates - Security: path traversal protection and sandboxed JavaScript evaluation Test coverage: - 42 comprehensive tests covering multi-loop, API, WebSocket, security - Security validation for success_condition injection attacks - Edge case handling and end-to-end workflow tests
This commit is contained in:
@@ -14,6 +14,7 @@ import { coreMemoryCommand } from './commands/core-memory.js';
|
||||
import { hookCommand } from './commands/hook.js';
|
||||
import { issueCommand } from './commands/issue.js';
|
||||
import { workflowCommand } from './commands/workflow.js';
|
||||
import { loopCommand } from './commands/loop.js';
|
||||
import { readFileSync, existsSync } from 'fs';
|
||||
import { fileURLToPath } from 'url';
|
||||
import { dirname, join } from 'path';
|
||||
@@ -172,7 +173,7 @@ export function run(argv: string[]): void {
|
||||
.description('Unified CLI tool executor (gemini/qwen/codex/claude)')
|
||||
.option('-p, --prompt <prompt>', 'Prompt text (alternative to positional argument)')
|
||||
.option('-f, --file <file>', 'Read prompt from file (best for multi-line prompts)')
|
||||
.option('--tool <tool>', 'CLI tool to use', 'gemini')
|
||||
.option('--tool <tool>', 'CLI tool to use (reads from cli-settings.json defaultTool if not specified)')
|
||||
.option('--mode <mode>', 'Execution mode: analysis, write, auto', 'analysis')
|
||||
.option('-d, --debug', 'Enable debug logging for troubleshooting')
|
||||
.option('--model <model>', 'Model override')
|
||||
@@ -301,6 +302,13 @@ export function run(argv: string[]): void {
|
||||
.option('--queue <queue-id>', 'Target queue ID for multi-queue operations')
|
||||
.action((subcommand, args, options) => issueCommand(subcommand, args, options));
|
||||
|
||||
// Loop command - Loop management for multi-CLI orchestration
|
||||
program
|
||||
.command('loop [subcommand] [args...]')
|
||||
.description('Loop management for automated multi-CLI execution')
|
||||
.option('--session <name>', 'Specify workflow session')
|
||||
.action((subcommand, args, options) => loopCommand(subcommand, args, options));
|
||||
|
||||
// Workflow command - Workflow installation and management
|
||||
program
|
||||
.command('workflow [subcommand] [args...]')
|
||||
|
||||
Reference in New Issue
Block a user