claude-flow-novice 2.15.8 → 2.15.10
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/.claude/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +519 -0
- package/.claude/skills/cfn-loop-orchestration/ORCHESTRATOR_IMPLEMENTATION.md +493 -0
- package/.claude/skills/cfn-loop-orchestration/ORCHESTRATOR_QUICK_START.md +499 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +104 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +123 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +89 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +104 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +47 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +2 -2
- package/.claude/skills/cfn-loop-orchestration/src/orchestrate.ts +648 -0
- package/.claude/skills/cfn-loop-orchestration/tests/orchestrate.test.ts +836 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +55 -10
- package/.claude/skills/cfn-redis-coordination/store-context.sh +31 -1
- package/README.md +205 -10
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +6 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +180 -229
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +6 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +6 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +6 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +20 -8
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +20 -8
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +20 -9
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +17 -7
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +3 -0
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +4 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +4 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +4 -1
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +5 -0
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +19 -9
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +20 -9
- package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +2 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +9 -5
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +13 -6
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +13 -6
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +13 -6
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +15 -5
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +9 -5
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +8 -4
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +16 -13
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +9 -5
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +9 -5
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +16 -9
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +16 -9
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +16 -9
- package/claude-assets/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +519 -0
- package/claude-assets/skills/cfn-loop-orchestration/ORCHESTRATOR_IMPLEMENTATION.md +493 -0
- package/claude-assets/skills/cfn-loop-orchestration/ORCHESTRATOR_QUICK_START.md +499 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +104 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +123 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +89 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +104 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +47 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +2 -2
- package/claude-assets/skills/cfn-loop-orchestration/src/orchestrate.ts +648 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/orchestrate.test.ts +836 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +55 -10
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +31 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/coordination/coordinate.js +369 -0
- package/dist/coordination/coordinate.js.map +1 -0
- package/dist/coordination/spawn-agent.js +364 -0
- package/dist/coordination/spawn-agent.js.map +1 -0
- package/dist/coordination/types-export.js +38 -0
- package/dist/coordination/types-export.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
##############################################################################
|
|
4
|
+
# Iteration Manager (TypeScript Wrapper)
|
|
5
|
+
# Prepares next iteration and generates wake signals
|
|
6
|
+
#
|
|
7
|
+
# Usage:
|
|
8
|
+
# iteration-manager-ts.sh --current-iteration <n> \
|
|
9
|
+
# --agents <agent1,agent2,...> \
|
|
10
|
+
# [--feedback <json>]
|
|
11
|
+
#
|
|
12
|
+
# Returns:
|
|
13
|
+
# Next iteration metadata (JSON)
|
|
14
|
+
##############################################################################
|
|
15
|
+
|
|
16
|
+
set -euo pipefail
|
|
17
|
+
|
|
18
|
+
# Get script directory
|
|
19
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
20
|
+
HELPERS_DIR="$SCRIPT_DIR/../src/helpers"
|
|
21
|
+
|
|
22
|
+
# Parameters
|
|
23
|
+
CURRENT_ITERATION=""
|
|
24
|
+
AGENTS=""
|
|
25
|
+
FEEDBACK="{}"
|
|
26
|
+
|
|
27
|
+
# Parse arguments
|
|
28
|
+
while [[ $# -gt 0 ]]; do
|
|
29
|
+
case $1 in
|
|
30
|
+
--current-iteration) CURRENT_ITERATION="$2"; shift 2 ;;
|
|
31
|
+
--agents) AGENTS="$2"; shift 2 ;;
|
|
32
|
+
--feedback) FEEDBACK="$2"; shift 2 ;;
|
|
33
|
+
*) echo "Unknown option: $1" >&2; exit 1 ;;
|
|
34
|
+
esac
|
|
35
|
+
done
|
|
36
|
+
|
|
37
|
+
# Validation
|
|
38
|
+
if [ -z "$CURRENT_ITERATION" ] || [ -z "$AGENTS" ]; then
|
|
39
|
+
echo "Error: Missing required parameters" >&2
|
|
40
|
+
exit 1
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
# Convert comma-separated agents to JSON array
|
|
44
|
+
IFS=',' read -ra AGENT_ARRAY <<< "$AGENTS"
|
|
45
|
+
AGENTS_JSON="["
|
|
46
|
+
for i in "${!AGENT_ARRAY[@]}"; do
|
|
47
|
+
if [ $i -gt 0 ]; then
|
|
48
|
+
AGENTS_JSON+=","
|
|
49
|
+
fi
|
|
50
|
+
AGENTS_JSON+="\"${AGENT_ARRAY[$i]}\""
|
|
51
|
+
done
|
|
52
|
+
AGENTS_JSON+="]"
|
|
53
|
+
|
|
54
|
+
# Build TypeScript invocation
|
|
55
|
+
TS_CODE="
|
|
56
|
+
import { prepareIteration, wakeAgents } from './iteration-manager';
|
|
57
|
+
|
|
58
|
+
const iteration = prepareIteration({
|
|
59
|
+
currentIteration: $CURRENT_ITERATION,
|
|
60
|
+
feedback: $FEEDBACK
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
console.log('Iteration Preparation:');
|
|
64
|
+
console.log(\` Next Iteration: \${iteration.nextIteration}\`);
|
|
65
|
+
console.log(\` Timestamp: \${iteration.timestamp}\`);
|
|
66
|
+
console.log();
|
|
67
|
+
|
|
68
|
+
const agentIds = $AGENTS_JSON;
|
|
69
|
+
const wake = wakeAgents(agentIds);
|
|
70
|
+
|
|
71
|
+
console.log('Wake Signals Generated:');
|
|
72
|
+
wake.signals.forEach((signal, idx) => {
|
|
73
|
+
console.log(\` [\${idx + 1}] \${signal}\`);
|
|
74
|
+
});
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(\`✅ Prepared iteration \${iteration.nextIteration} for \${agentIds.length} agents\`);
|
|
77
|
+
|
|
78
|
+
// Output JSON for programmatic consumption
|
|
79
|
+
console.log();
|
|
80
|
+
console.log('JSON_OUTPUT:', JSON.stringify({
|
|
81
|
+
nextIteration: iteration.nextIteration,
|
|
82
|
+
timestamp: iteration.timestamp,
|
|
83
|
+
signals: wake.signals
|
|
84
|
+
}));
|
|
85
|
+
"
|
|
86
|
+
|
|
87
|
+
# Execute TypeScript code
|
|
88
|
+
cd "$HELPERS_DIR"
|
|
89
|
+
ts-node -e "$TS_CODE"
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
##############################################################################
|
|
4
|
+
# Bash Wrapper for TypeScript Orchestrator
|
|
5
|
+
# Provides backward compatibility with bash-based orchestration
|
|
6
|
+
# Routes all calls to TypeScript implementation
|
|
7
|
+
#
|
|
8
|
+
# Usage:
|
|
9
|
+
# ./orchestrate-ts.sh --task-id <id> \
|
|
10
|
+
# --mode <mvp|standard|enterprise> \
|
|
11
|
+
# --max-iterations <n>
|
|
12
|
+
##############################################################################
|
|
13
|
+
|
|
14
|
+
set -euo pipefail
|
|
15
|
+
|
|
16
|
+
# Determine script directory and project root
|
|
17
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
18
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
|
|
19
|
+
ORCHESTRATION_SKILL="$SCRIPT_DIR/.."
|
|
20
|
+
|
|
21
|
+
# Input validation
|
|
22
|
+
sanitize_input() {
|
|
23
|
+
local input="$1"
|
|
24
|
+
local max_length="${2:-256}"
|
|
25
|
+
|
|
26
|
+
input="${input:0:$max_length}"
|
|
27
|
+
echo "$input" | sed 's/[^a-zA-Z0-9._:, /-]//g'
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# Configuration
|
|
31
|
+
TASK_ID=""
|
|
32
|
+
MODE="standard"
|
|
33
|
+
MAX_ITERATIONS=10
|
|
34
|
+
|
|
35
|
+
# Parse arguments
|
|
36
|
+
while [[ $# -gt 0 ]]; do
|
|
37
|
+
case $1 in
|
|
38
|
+
--task-id)
|
|
39
|
+
if [[ $# -lt 2 ]]; then
|
|
40
|
+
echo "Error: --task-id requires a value" >&2
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
TASK_ID=$(sanitize_input "$2") || { echo "Invalid task ID"; exit 1; }
|
|
44
|
+
shift 2
|
|
45
|
+
;;
|
|
46
|
+
--mode)
|
|
47
|
+
if [[ $# -lt 2 ]]; then
|
|
48
|
+
echo "Error: --mode requires a value" >&2
|
|
49
|
+
exit 1
|
|
50
|
+
fi
|
|
51
|
+
MODE="$2"
|
|
52
|
+
if [[ ! "$MODE" =~ ^(mvp|standard|enterprise)$ ]]; then
|
|
53
|
+
echo "Invalid mode. Must be mvp, standard, or enterprise." >&2
|
|
54
|
+
exit 1
|
|
55
|
+
fi
|
|
56
|
+
shift 2
|
|
57
|
+
;;
|
|
58
|
+
--max-iterations)
|
|
59
|
+
if [[ $# -lt 2 ]]; then
|
|
60
|
+
echo "Error: --max-iterations requires a value" >&2
|
|
61
|
+
exit 1
|
|
62
|
+
fi
|
|
63
|
+
if [[ ! "$2" =~ ^[1-9][0-9]*$ ]]; then
|
|
64
|
+
echo "Max iterations must be a positive integer" >&2
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
if [[ "$2" -gt 100 ]]; then
|
|
68
|
+
echo "Max iterations cannot exceed 100" >&2
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
|
71
|
+
MAX_ITERATIONS="$2"
|
|
72
|
+
shift 2
|
|
73
|
+
;;
|
|
74
|
+
*)
|
|
75
|
+
echo "Error: Unknown option: '$1'" >&2
|
|
76
|
+
echo "Usage: $0 --task-id <id> --mode <mode> --max-iterations <n>" >&2
|
|
77
|
+
exit 1
|
|
78
|
+
;;
|
|
79
|
+
esac
|
|
80
|
+
done
|
|
81
|
+
|
|
82
|
+
# Validate required arguments
|
|
83
|
+
if [ -z "$TASK_ID" ]; then
|
|
84
|
+
echo "Error: --task-id is required" >&2
|
|
85
|
+
exit 1
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
# Ensure TypeScript is compiled
|
|
89
|
+
if [ ! -d "$ORCHESTRATION_SKILL/dist" ]; then
|
|
90
|
+
echo "Building TypeScript orchestrator..." >&2
|
|
91
|
+
cd "$ORCHESTRATION_SKILL"
|
|
92
|
+
npm run build >/dev/null 2>&1 || {
|
|
93
|
+
echo "Error: Failed to build TypeScript orchestrator" >&2
|
|
94
|
+
exit 1
|
|
95
|
+
}
|
|
96
|
+
fi
|
|
97
|
+
|
|
98
|
+
# Execute TypeScript orchestrator via Node
|
|
99
|
+
node "$ORCHESTRATION_SKILL/dist/orchestrate.js" \
|
|
100
|
+
--task-id "$TASK_ID" \
|
|
101
|
+
--mode "$MODE" \
|
|
102
|
+
--max-iterations "$MAX_ITERATIONS"
|
|
103
|
+
|
|
104
|
+
exit $?
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
##############################################################################
|
|
4
|
+
# Timeout Calculator (TypeScript Wrapper)
|
|
5
|
+
# Calculates mode and phase-specific timeouts for agent execution
|
|
6
|
+
#
|
|
7
|
+
# Usage:
|
|
8
|
+
# timeout-calculator-ts.sh --mode <mvp|standard|enterprise> [--phase <phase-id>]
|
|
9
|
+
#
|
|
10
|
+
# Returns:
|
|
11
|
+
# Timeout value in seconds (stdout)
|
|
12
|
+
##############################################################################
|
|
13
|
+
|
|
14
|
+
set -euo pipefail
|
|
15
|
+
|
|
16
|
+
# Get script directory
|
|
17
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
18
|
+
HELPERS_DIR="$SCRIPT_DIR/../src/helpers"
|
|
19
|
+
|
|
20
|
+
# Parameters
|
|
21
|
+
MODE="standard"
|
|
22
|
+
PHASE=""
|
|
23
|
+
|
|
24
|
+
# Parse arguments
|
|
25
|
+
while [[ $# -gt 0 ]]; do
|
|
26
|
+
case $1 in
|
|
27
|
+
--mode) MODE="$2"; shift 2 ;;
|
|
28
|
+
--phase) PHASE="$2"; shift 2 ;;
|
|
29
|
+
*) echo "Unknown option: $1" >&2; exit 1 ;;
|
|
30
|
+
esac
|
|
31
|
+
done
|
|
32
|
+
|
|
33
|
+
# Build TypeScript invocation
|
|
34
|
+
TS_CODE="
|
|
35
|
+
import { calculateTimeout } from './timeout-calculator';
|
|
36
|
+
|
|
37
|
+
const timeout = calculateTimeout({
|
|
38
|
+
mode: '$MODE',
|
|
39
|
+
${PHASE:+phase: '$PHASE'}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
console.log(timeout);
|
|
43
|
+
"
|
|
44
|
+
|
|
45
|
+
# Execute TypeScript code
|
|
46
|
+
cd "$HELPERS_DIR"
|
|
47
|
+
ts-node -e "$TS_CODE"
|
|
@@ -381,7 +381,7 @@ if [ -n "$SUCCESS_CRITERIA" ]; then
|
|
|
381
381
|
CRITERIA_VALUE=$("$REDIS_COORD_SKILL/get-context.sh" \
|
|
382
382
|
--task-id "$TASK_ID" \
|
|
383
383
|
--key "success-criteria" \
|
|
384
|
-
--namespace "
|
|
384
|
+
--namespace "cfn_loop:task" 2>/dev/null || echo "")
|
|
385
385
|
|
|
386
386
|
if [ -z "$CRITERIA_VALUE" ]; then
|
|
387
387
|
echo "❌ Pre-flight failed: --success-criteria flag set but not found in Redis" >&2
|
|
@@ -480,7 +480,7 @@ function store_context() {
|
|
|
480
480
|
CRITERIA_VALUE=$("$REDIS_COORD_SKILL/get-context.sh" \
|
|
481
481
|
--task-id "$task_id" \
|
|
482
482
|
--key "success-criteria" \
|
|
483
|
-
--namespace "
|
|
483
|
+
--namespace "cfn_loop:task" 2>/dev/null || echo "")
|
|
484
484
|
|
|
485
485
|
if [ -n "$CRITERIA_VALUE" ]; then
|
|
486
486
|
echo "✅ Success criteria loaded from Redis (stored by coordinator)"
|