claude-flow-novice 2.10.8 → 2.11.0
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/commands/README.md +157 -0
- package/.claude/hooks/cfn-invoke-post-edit.sh +1 -1
- package/.claude/hooks/cfn-invoke-pre-edit.sh +88 -0
- package/.claude/skills/cfn-agent-spawning/spawn-worker.sh +176 -0
- package/.claude/skills/cfn-backlog-management/SKILL.md +199 -0
- package/.claude/skills/cfn-backlog-management/add-backlog-item.sh +210 -0
- package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +7 -21
- package/claude-assets/agents/cfn-dev-team/testing/test-validation-agent.md +312 -0
- package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +480 -115
- package/claude-assets/agents/csuite/cto-agent.md +371 -0
- package/claude-assets/agents/marketing_hybrid/cost_tracker.md +13 -0
- package/claude-assets/agents/marketing_hybrid/docker_deployer.md +13 -0
- package/claude-assets/agents/marketing_hybrid/zai_worker_spawner.md +13 -0
- package/claude-assets/hooks/cfn-invoke-post-edit.sh +1 -1
- package/claude-assets/hooks/cfn-invoke-pre-edit.sh +88 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh +176 -0
- package/claude-assets/skills/cfn-backlog-management/SKILL.md +199 -0
- package/claude-assets/skills/cfn-backlog-management/add-backlog-item.sh +210 -0
- package/claude-assets/skills/pre-edit-backup/backup.sh +130 -0
- package/claude-assets/skills/pre-edit-backup/cleanup.sh +155 -0
- package/claude-assets/skills/pre-edit-backup/restore.sh +128 -0
- package/claude-assets/skills/pre-edit-backup/revert-file.sh +168 -0
- package/dist/agents/agent-loader.js +315 -0
- package/dist/agents/agent-loader.js.map +1 -1
- package/package.json +3 -2
- package/scripts/init-project.js +38 -3
- package/scripts/marketing_hybrid_deployment.sh +45 -0
- package/scripts/redis-prometheus-exporter.sh +33 -0
- package/scripts/track-zai-costs.sh +19 -0
- package/claude-assets/commands/agents/README.md +0 -10
- package/claude-assets/commands/agents/agent-capabilities.md +0 -21
- package/claude-assets/commands/agents/agent-coordination.md +0 -28
- package/claude-assets/commands/agents/agent-spawning.md +0 -28
- package/claude-assets/commands/agents/agent-types.md +0 -26
- package/claude-assets/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
- package/claude-assets/commands/analysis/README.md +0 -9
- package/claude-assets/commands/analysis/bottleneck-detect.md +0 -162
- package/claude-assets/commands/analysis/performance-bottlenecks.md +0 -59
- package/claude-assets/commands/analysis/performance-report.md +0 -25
- package/claude-assets/commands/analysis/token-efficiency.md +0 -45
- package/claude-assets/commands/analysis/token-usage.md +0 -25
- package/claude-assets/commands/automation/README.md +0 -9
- package/claude-assets/commands/automation/auto-agent.md +0 -122
- package/claude-assets/commands/automation/self-healing.md +0 -106
- package/claude-assets/commands/automation/session-memory.md +0 -90
- package/claude-assets/commands/automation/smart-agents.md +0 -73
- package/claude-assets/commands/automation/smart-spawn.md +0 -25
- package/claude-assets/commands/automation/workflow-select.md +0 -25
- package/claude-assets/commands/claude-md.js +0 -237
- package/claude-assets/commands/claude-soul.js +0 -28
- package/claude-assets/commands/cli-integration.js +0 -216
- package/claude-assets/commands/coordination/README.md +0 -9
- package/claude-assets/commands/coordination/agent-spawn.md +0 -25
- package/claude-assets/commands/coordination/coordination-system.md +0 -88
- package/claude-assets/commands/coordination/init.md +0 -44
- package/claude-assets/commands/coordination/orchestrate.md +0 -43
- package/claude-assets/commands/coordination/spawn.md +0 -45
- package/claude-assets/commands/coordination/swarm-init.md +0 -85
- package/claude-assets/commands/coordination/task-orchestrate.md +0 -25
- package/claude-assets/commands/github/README.md +0 -11
- package/claude-assets/commands/github/code-review-swarm.md +0 -514
- package/claude-assets/commands/github/code-review.md +0 -25
- package/claude-assets/commands/github/github-modes.md +0 -147
- package/claude-assets/commands/github/github-swarm.md +0 -121
- package/claude-assets/commands/github/issue-tracker.md +0 -292
- package/claude-assets/commands/github/issue-triage.md +0 -25
- package/claude-assets/commands/github/multi-repo-swarm.md +0 -519
- package/claude-assets/commands/github/pr-enhance.md +0 -26
- package/claude-assets/commands/github/pr-manager.md +0 -170
- package/claude-assets/commands/github/project-board-sync.md +0 -471
- package/claude-assets/commands/github/release-manager.md +0 -338
- package/claude-assets/commands/github/release-swarm.md +0 -544
- package/claude-assets/commands/github/repo-analyze.md +0 -25
- package/claude-assets/commands/github/repo-architect.md +0 -367
- package/claude-assets/commands/github/swarm-issue.md +0 -482
- package/claude-assets/commands/github/swarm-pr.md +0 -285
- package/claude-assets/commands/github/sync-coordinator.md +0 -301
- package/claude-assets/commands/github/workflow-automation.md +0 -442
- package/claude-assets/commands/github.js +0 -638
- package/claude-assets/commands/hive-mind/README.md +0 -17
- package/claude-assets/commands/hive-mind/hive-mind-consensus.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind-init.md +0 -18
- package/claude-assets/commands/hive-mind/hive-mind-memory.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind-metrics.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind-resume.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind-sessions.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind-spawn.md +0 -21
- package/claude-assets/commands/hive-mind/hive-mind-status.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind-stop.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind-wizard.md +0 -8
- package/claude-assets/commands/hive-mind/hive-mind.md +0 -27
- package/claude-assets/commands/hooks/README.md +0 -11
- package/claude-assets/commands/hooks/overview.md +0 -58
- package/claude-assets/commands/hooks/post-edit.md +0 -117
- package/claude-assets/commands/hooks/post-task.md +0 -112
- package/claude-assets/commands/hooks/pre-edit.md +0 -113
- package/claude-assets/commands/hooks/pre-task.md +0 -111
- package/claude-assets/commands/hooks/session-end.md +0 -118
- package/claude-assets/commands/hooks/session-start.md +0 -9
- package/claude-assets/commands/hooks/setup.md +0 -103
- package/claude-assets/commands/hooks.js +0 -651
- package/claude-assets/commands/index.js +0 -119
- package/claude-assets/commands/memory/README.md +0 -9
- package/claude-assets/commands/memory/memory-bank.md +0 -58
- package/claude-assets/commands/memory/memory-persist.md +0 -25
- package/claude-assets/commands/memory/memory-search.md +0 -25
- package/claude-assets/commands/memory/memory-usage.md +0 -25
- package/claude-assets/commands/memory/neural.md +0 -47
- package/claude-assets/commands/memory/usage.md +0 -46
- package/claude-assets/commands/monitoring/README.md +0 -9
- package/claude-assets/commands/monitoring/agent-metrics.md +0 -25
- package/claude-assets/commands/monitoring/agents.md +0 -44
- package/claude-assets/commands/monitoring/real-time-view.md +0 -25
- package/claude-assets/commands/monitoring/status.md +0 -46
- package/claude-assets/commands/monitoring/swarm-monitor.md +0 -25
- package/claude-assets/commands/neural.js +0 -572
- package/claude-assets/commands/optimization/README.md +0 -9
- package/claude-assets/commands/optimization/auto-topology.md +0 -62
- package/claude-assets/commands/optimization/cache-manage.md +0 -25
- package/claude-assets/commands/optimization/parallel-execute.md +0 -25
- package/claude-assets/commands/optimization/parallel-execution.md +0 -50
- package/claude-assets/commands/optimization/topology-optimize.md +0 -25
- package/claude-assets/commands/pair/README.md +0 -261
- package/claude-assets/commands/pair/commands.md +0 -546
- package/claude-assets/commands/pair/config.md +0 -510
- package/claude-assets/commands/pair/examples.md +0 -512
- package/claude-assets/commands/pair/modes.md +0 -348
- package/claude-assets/commands/pair/session.md +0 -407
- package/claude-assets/commands/pair/start.md +0 -209
- package/claude-assets/commands/parse-epic.js +0 -180
- package/claude-assets/commands/performance.js +0 -582
- package/claude-assets/commands/register-all-commands.js +0 -320
- package/claude-assets/commands/register-claude-md.js +0 -82
- package/claude-assets/commands/register-claude-soul.js +0 -80
- package/claude-assets/commands/sparc/analyzer.md +0 -52
- package/claude-assets/commands/sparc/architect.md +0 -53
- package/claude-assets/commands/sparc/batch-executor.md +0 -54
- package/claude-assets/commands/sparc/coder.md +0 -54
- package/claude-assets/commands/sparc/debugger.md +0 -54
- package/claude-assets/commands/sparc/designer.md +0 -53
- package/claude-assets/commands/sparc/documenter.md +0 -54
- package/claude-assets/commands/sparc/innovator.md +0 -54
- package/claude-assets/commands/sparc/memory-manager.md +0 -54
- package/claude-assets/commands/sparc/optimizer.md +0 -54
- package/claude-assets/commands/sparc/orchestrator.md +0 -132
- package/claude-assets/commands/sparc/researcher.md +0 -54
- package/claude-assets/commands/sparc/reviewer.md +0 -54
- package/claude-assets/commands/sparc/sparc-modes.md +0 -174
- package/claude-assets/commands/sparc/swarm-coordinator.md +0 -54
- package/claude-assets/commands/sparc/tdd.md +0 -54
- package/claude-assets/commands/sparc/tester.md +0 -54
- package/claude-assets/commands/sparc/workflow-manager.md +0 -54
- package/claude-assets/commands/sparc.js +0 -110
- package/claude-assets/commands/stream-chain/pipeline.md +0 -121
- package/claude-assets/commands/stream-chain/run.md +0 -70
- package/claude-assets/commands/swarm/README.md +0 -15
- package/claude-assets/commands/swarm/analysis.md +0 -95
- package/claude-assets/commands/swarm/development.md +0 -96
- package/claude-assets/commands/swarm/examples.md +0 -168
- package/claude-assets/commands/swarm/maintenance.md +0 -102
- package/claude-assets/commands/swarm/optimization.md +0 -117
- package/claude-assets/commands/swarm/research.md +0 -136
- package/claude-assets/commands/swarm/swarm-analysis.md +0 -8
- package/claude-assets/commands/swarm/swarm-background.md +0 -8
- package/claude-assets/commands/swarm/swarm-init.md +0 -19
- package/claude-assets/commands/swarm/swarm-modes.md +0 -8
- package/claude-assets/commands/swarm/swarm-monitor.md +0 -8
- package/claude-assets/commands/swarm/swarm-spawn.md +0 -19
- package/claude-assets/commands/swarm/swarm-status.md +0 -8
- package/claude-assets/commands/swarm/swarm-strategies.md +0 -8
- package/claude-assets/commands/swarm/swarm.md +0 -27
- package/claude-assets/commands/swarm/testing.md +0 -131
- package/claude-assets/commands/swarm.js +0 -423
- package/claude-assets/commands/testing/playwright-e2e.md +0 -288
- package/claude-assets/commands/training/README.md +0 -9
- package/claude-assets/commands/training/model-update.md +0 -25
- package/claude-assets/commands/training/neural-patterns.md +0 -74
- package/claude-assets/commands/training/neural-train.md +0 -25
- package/claude-assets/commands/training/pattern-learn.md +0 -25
- package/claude-assets/commands/training/specialization.md +0 -63
- package/claude-assets/commands/truth/start.md +0 -143
- package/claude-assets/commands/validate-commands.js +0 -223
- package/claude-assets/commands/verify/check.md +0 -50
- package/claude-assets/commands/verify/start.md +0 -128
- package/claude-assets/commands/workflow.js +0 -606
- package/claude-assets/commands/workflows/README.md +0 -9
- package/claude-assets/commands/workflows/development.md +0 -78
- package/claude-assets/commands/workflows/research.md +0 -63
- package/claude-assets/commands/workflows/workflow-create.md +0 -25
- package/claude-assets/commands/workflows/workflow-execute.md +0 -25
- package/claude-assets/commands/workflows/workflow-export.md +0 -25
- package/claude-assets/hooks/post-edit.config.json +0 -12
- package/claude-assets/skills/team-provider-routing/spawn-worker.sh +0 -91
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# CLAUDE.md Slash Command System
|
|
2
|
+
|
|
3
|
+
## 🎯 Simple, Focused CLAUDE.md Generation
|
|
4
|
+
|
|
5
|
+
A lightweight slash command system for generating CLAUDE.md files with NPX protection.
|
|
6
|
+
|
|
7
|
+
## 📋 Features
|
|
8
|
+
|
|
9
|
+
### ✅ **Simple Slash Command**
|
|
10
|
+
```bash
|
|
11
|
+
/claude-md # Generate CLAUDE.md for current project
|
|
12
|
+
/claude-md --preview # Show what would be generated
|
|
13
|
+
/claude-md --force # Overwrite without confirmation
|
|
14
|
+
/claude-md --detect # Auto-detect project and show recommendations
|
|
15
|
+
/claude-md --no-backup # Skip backup creation
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### 🛡️ **NPX Protection System**
|
|
19
|
+
- **Problem**: NPX installs overwrite customized CLAUDE.md files
|
|
20
|
+
- **Solution**: Generate `claude-copy-to-main.md` when existing CLAUDE.md detected
|
|
21
|
+
- **Benefit**: User customizations are never lost
|
|
22
|
+
|
|
23
|
+
### 🔄 **Integration Flow**
|
|
24
|
+
|
|
25
|
+
**Normal Usage (Slash Command):**
|
|
26
|
+
1. User runs `/claude-md`
|
|
27
|
+
2. System detects project type
|
|
28
|
+
3. Generates appropriate CLAUDE.md
|
|
29
|
+
4. Creates backup if file exists
|
|
30
|
+
|
|
31
|
+
**NPX Install Protection:**
|
|
32
|
+
1. NPX installs claude-flow-novice
|
|
33
|
+
2. `postinstall` script runs
|
|
34
|
+
3. Detects existing CLAUDE.md
|
|
35
|
+
4. Creates `claude-copy-to-main.md` instead
|
|
36
|
+
5. User manually merges desired changes
|
|
37
|
+
|
|
38
|
+
## 🏗️ Architecture
|
|
39
|
+
|
|
40
|
+
### **Files:**
|
|
41
|
+
- `claude-md.js` - Core slash command implementation
|
|
42
|
+
- `register-claude-md.js` - Slash command registration
|
|
43
|
+
- `../npx/claude-md-protection.js` - NPX protection logic
|
|
44
|
+
- `../../scripts/post-install-claude-md.js` - Post-install hook
|
|
45
|
+
|
|
46
|
+
### **Integration Points:**
|
|
47
|
+
- **Existing Generator**: Uses `../language/claude-md-generator.js`
|
|
48
|
+
- **Language Detection**: Uses `../language/language-detector.js`
|
|
49
|
+
- **Preferences**: Reads `.claude-flow-novice/preferences/generation.json`
|
|
50
|
+
- **Package.json**: `postinstall` script triggers protection
|
|
51
|
+
|
|
52
|
+
## 🎮 Usage Examples
|
|
53
|
+
|
|
54
|
+
### **Basic Generation:**
|
|
55
|
+
```bash
|
|
56
|
+
# Generate CLAUDE.md for current project
|
|
57
|
+
/claude-md
|
|
58
|
+
|
|
59
|
+
# Output:
|
|
60
|
+
# 🚀 Generating CLAUDE.md...
|
|
61
|
+
# ✅ CLAUDE.md generated successfully
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### **Preview Mode:**
|
|
65
|
+
```bash
|
|
66
|
+
# See what would be generated
|
|
67
|
+
/claude-md --preview
|
|
68
|
+
|
|
69
|
+
# Output:
|
|
70
|
+
# 📄 CLAUDE.md Preview:
|
|
71
|
+
# ══════════════════════════════════════════════════
|
|
72
|
+
# # Claude Code Configuration - JavaScript Project
|
|
73
|
+
# ...
|
|
74
|
+
# ══════════════════════════════════════════════════
|
|
75
|
+
# 📊 Total length: 2,847 characters
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### **NPX Protection:**
|
|
79
|
+
```bash
|
|
80
|
+
# When NPX detects existing CLAUDE.md
|
|
81
|
+
npm install claude-flow-novice
|
|
82
|
+
|
|
83
|
+
# Output:
|
|
84
|
+
# 🛡️ NPX Protection Activated
|
|
85
|
+
# 📄 Generated: claude-copy-to-main.md
|
|
86
|
+
# 💡 Your existing CLAUDE.md is protected from overwrite
|
|
87
|
+
# 🔄 Review and merge changes manually as needed
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 🧠 Smart Detection
|
|
91
|
+
|
|
92
|
+
### **Project Type Detection:**
|
|
93
|
+
- Analyzes `package.json`, file patterns, and directory structure
|
|
94
|
+
- Detects frameworks (React, Express, Django, etc.)
|
|
95
|
+
- Suggests appropriate CLAUDE.md configurations
|
|
96
|
+
|
|
97
|
+
### **Confidence Levels:**
|
|
98
|
+
- **High (>70%)**: Automatic generation recommended
|
|
99
|
+
- **Medium (30-70%)**: Generate with user confirmation
|
|
100
|
+
- **Low (<30%)**: Manual review suggested
|
|
101
|
+
|
|
102
|
+
## 🔧 Configuration
|
|
103
|
+
|
|
104
|
+
### **Generation Preferences:**
|
|
105
|
+
`.claude-flow-novice/preferences/generation.json`:
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"autoGenerate": true,
|
|
109
|
+
"includeFrameworkSpecific": true,
|
|
110
|
+
"includeBestPractices": true,
|
|
111
|
+
"backupExisting": true,
|
|
112
|
+
"confidenceThreshold": 0.3
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### **NPX Detection:**
|
|
117
|
+
- Environment variables (`NPX_INSTALL=true`)
|
|
118
|
+
- Temporary directory patterns (`/.npm/_npx/`)
|
|
119
|
+
- Package.json analysis (fresh installs)
|
|
120
|
+
|
|
121
|
+
## 🎯 Design Principles
|
|
122
|
+
|
|
123
|
+
### **Keep It Simple:**
|
|
124
|
+
- Single focused command
|
|
125
|
+
- Minimal configuration
|
|
126
|
+
- Clear user feedback
|
|
127
|
+
- No feature bloat
|
|
128
|
+
|
|
129
|
+
### **Protect User Work:**
|
|
130
|
+
- Never overwrite without permission
|
|
131
|
+
- Always offer backup options
|
|
132
|
+
- Provide clear merge instructions
|
|
133
|
+
- Preserve customizations
|
|
134
|
+
|
|
135
|
+
### **Smart Defaults:**
|
|
136
|
+
- Auto-detect project type
|
|
137
|
+
- Use appropriate templates
|
|
138
|
+
- Respect user preferences
|
|
139
|
+
- Fail safely
|
|
140
|
+
|
|
141
|
+
## 🚀 Future Enhancements
|
|
142
|
+
|
|
143
|
+
### **Potential Improvements (If Needed):**
|
|
144
|
+
- Interactive confirmation prompts
|
|
145
|
+
- Template customization options
|
|
146
|
+
- Multi-project detection
|
|
147
|
+
- Advanced merge assistance
|
|
148
|
+
|
|
149
|
+
### **Not Planned (Avoiding Bloat):**
|
|
150
|
+
- SQLite analysis integration
|
|
151
|
+
- Multi-file scaffolding
|
|
152
|
+
- Complex workflow automation
|
|
153
|
+
- Enterprise features
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
**Simple, focused, and protective - exactly what CLAUDE.md generation should be!** 🎯
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Pre-Edit Backup Hook Wrapper
|
|
4
|
+
# Creates backup before file modifications in agent workflows
|
|
5
|
+
#
|
|
6
|
+
# Usage: .claude/hooks/cfn-invoke-pre-edit.sh FILE_PATH --agent-id AGENT_ID
|
|
7
|
+
#
|
|
8
|
+
# Arguments:
|
|
9
|
+
# FILE_PATH - Absolute path to file about to be edited
|
|
10
|
+
# --agent-id - Unique identifier for the agent performing the edit
|
|
11
|
+
#
|
|
12
|
+
# Returns:
|
|
13
|
+
# Backup directory path on success
|
|
14
|
+
# Exit code 1 on failure
|
|
15
|
+
#
|
|
16
|
+
# Example:
|
|
17
|
+
# BACKUP_PATH=$(./.claude/hooks/cfn-invoke-pre-edit.sh "/path/to/file.txt" --agent-id "backend-dev-1")
|
|
18
|
+
|
|
19
|
+
set -euo pipefail
|
|
20
|
+
|
|
21
|
+
# === Parse Arguments ===
|
|
22
|
+
|
|
23
|
+
FILE_PATH=""
|
|
24
|
+
AGENT_ID=""
|
|
25
|
+
|
|
26
|
+
# First positional argument is file path
|
|
27
|
+
if [[ -n "${1:-}" ]] && [[ "$1" != --* ]]; then
|
|
28
|
+
FILE_PATH="$1"
|
|
29
|
+
shift
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
# Parse remaining named arguments
|
|
33
|
+
while [[ "$#" -gt 0 ]]; do
|
|
34
|
+
case $1 in
|
|
35
|
+
--agent-id)
|
|
36
|
+
if [[ -z "${2:-}" ]]; then
|
|
37
|
+
echo "Error: --agent-id requires a value" >&2
|
|
38
|
+
exit 1
|
|
39
|
+
fi
|
|
40
|
+
AGENT_ID="$2"
|
|
41
|
+
shift 2
|
|
42
|
+
;;
|
|
43
|
+
*)
|
|
44
|
+
echo "Error: Unknown argument: $1" >&2
|
|
45
|
+
echo "Usage: cfn-invoke-pre-edit.sh FILE_PATH --agent-id AGENT_ID" >&2
|
|
46
|
+
exit 1
|
|
47
|
+
;;
|
|
48
|
+
esac
|
|
49
|
+
done
|
|
50
|
+
|
|
51
|
+
# === Validate Inputs ===
|
|
52
|
+
|
|
53
|
+
if [[ -z "$FILE_PATH" ]]; then
|
|
54
|
+
echo "Error: No file path provided" >&2
|
|
55
|
+
echo "Usage: cfn-invoke-pre-edit.sh FILE_PATH --agent-id AGENT_ID" >&2
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
if [[ -z "$AGENT_ID" ]]; then
|
|
60
|
+
echo "Error: No agent ID provided" >&2
|
|
61
|
+
echo "Usage: cfn-invoke-pre-edit.sh FILE_PATH --agent-id AGENT_ID" >&2
|
|
62
|
+
exit 1
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
if [[ ! -f "$FILE_PATH" ]]; then
|
|
66
|
+
echo "Error: File does not exist: $FILE_PATH" >&2
|
|
67
|
+
exit 1
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# === Execute Pre-Edit Backup ===
|
|
71
|
+
|
|
72
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
73
|
+
BACKUP_SCRIPT="${SCRIPT_DIR}/../skills/pre-edit-backup/backup.sh"
|
|
74
|
+
|
|
75
|
+
if [[ ! -f "$BACKUP_SCRIPT" ]]; then
|
|
76
|
+
echo "Error: Backup script not found: $BACKUP_SCRIPT" >&2
|
|
77
|
+
exit 1
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# Execute backup and capture output
|
|
81
|
+
if ! BACKUP_DIR=$("$BACKUP_SCRIPT" "$FILE_PATH" "$AGENT_ID" 2>&1); then
|
|
82
|
+
echo "Error: Backup failed: $BACKUP_DIR" >&2
|
|
83
|
+
exit 1
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
# Return backup directory path
|
|
87
|
+
echo "$BACKUP_DIR"
|
|
88
|
+
exit 0
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
# Get the project root directory
|
|
5
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
|
|
7
|
+
|
|
8
|
+
# Load team providers configuration
|
|
9
|
+
PROVIDERS_CONFIG="${PROJECT_ROOT}/.claude/cfn-config/team-providers.json"
|
|
10
|
+
|
|
11
|
+
# Validate configuration file exists
|
|
12
|
+
if [[ ! -f "$PROVIDERS_CONFIG" ]]; then
|
|
13
|
+
echo "Error: Team providers configuration not found at $PROVIDERS_CONFIG"
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
# Function to validate provider configuration
|
|
18
|
+
validate_provider_config() {
|
|
19
|
+
local team="$1"
|
|
20
|
+
local role="$2" # coordinator or workers
|
|
21
|
+
|
|
22
|
+
# Use jq to validate JSON structure and extract provider details
|
|
23
|
+
if ! jq -e ".teams.${team}.${role}" "$PROVIDERS_CONFIG" &>/dev/null; then
|
|
24
|
+
echo "Error: Invalid or missing provider configuration for team=${team}, role=${role}"
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
# Function to select appropriate model based on complexity
|
|
30
|
+
select_model() {
|
|
31
|
+
local team="$1"
|
|
32
|
+
local complexity="$2" # simple or complex
|
|
33
|
+
|
|
34
|
+
# Retrieve model based on complexity and team configuration
|
|
35
|
+
local model=$(jq -r ".teams.${team}.workers.models.${complexity}" "$PROVIDERS_CONFIG")
|
|
36
|
+
|
|
37
|
+
if [[ "$model" == "null" ]]; then
|
|
38
|
+
# Fallback to default complexity from global config
|
|
39
|
+
local default_complexity=$(jq -r ".global_config.default_complexity // \"simple\"" "$PROVIDERS_CONFIG")
|
|
40
|
+
model=$(jq -r ".teams.${team}.workers.models.${default_complexity}" "$PROVIDERS_CONFIG")
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
echo "$model"
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# Function to get API key from environment
|
|
47
|
+
get_api_key() {
|
|
48
|
+
local team="$1"
|
|
49
|
+
local role="$2" # coordinator or workers
|
|
50
|
+
|
|
51
|
+
# Extract apiKeyEnvVar from config
|
|
52
|
+
local api_key_env_var=$(jq -r ".teams.${team}.${role}.apiKeyEnvVar" "$PROVIDERS_CONFIG")
|
|
53
|
+
|
|
54
|
+
if [[ "$api_key_env_var" == "null" ]]; then
|
|
55
|
+
echo "Error: apiKeyEnvVar not found for team=${team}, role=${role}"
|
|
56
|
+
exit 1
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# Get actual API key value from environment
|
|
60
|
+
local api_key_value="${!api_key_env_var:-}"
|
|
61
|
+
|
|
62
|
+
if [[ -z "$api_key_value" ]]; then
|
|
63
|
+
echo "Error: API key not found in environment variable: $api_key_env_var"
|
|
64
|
+
exit 1
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
echo "$api_key_value"
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
# Main worker spawning logic
|
|
71
|
+
spawn_worker() {
|
|
72
|
+
local team="$1"
|
|
73
|
+
local complexity="${2:-simple}"
|
|
74
|
+
local provider_mode="${3:-auto}"
|
|
75
|
+
local agent_type="${4:-}"
|
|
76
|
+
local task_context="${5:-}"
|
|
77
|
+
|
|
78
|
+
# Validate input parameters
|
|
79
|
+
validate_provider_config "$team" "workers"
|
|
80
|
+
|
|
81
|
+
# Retrieve provider details from config
|
|
82
|
+
local provider=$(jq -r ".teams.${team}.workers.provider" "$PROVIDERS_CONFIG")
|
|
83
|
+
local api_key_env_var=$(jq -r ".teams.${team}.workers.apiKeyEnvVar" "$PROVIDERS_CONFIG")
|
|
84
|
+
local base_url=$(jq -r ".teams.${team}.workers.baseUrl" "$PROVIDERS_CONFIG")
|
|
85
|
+
|
|
86
|
+
# Select model dynamically based on complexity
|
|
87
|
+
local model=$(select_model "$team" "$complexity")
|
|
88
|
+
|
|
89
|
+
# Get API key from environment
|
|
90
|
+
local api_key=$(get_api_key "$team" "workers")
|
|
91
|
+
|
|
92
|
+
# Provider routing logic
|
|
93
|
+
case "$provider_mode" in
|
|
94
|
+
auto)
|
|
95
|
+
# Use provider routing rules from config
|
|
96
|
+
case "$provider" in
|
|
97
|
+
zai)
|
|
98
|
+
echo "Spawning Z.ai worker for team ${team} (Model: ${model}, Complexity: ${complexity})"
|
|
99
|
+
|
|
100
|
+
# Set environment variables for Z.ai spawning
|
|
101
|
+
export ZAI_API_KEY="$api_key"
|
|
102
|
+
export ZAI_BASE_URL="$base_url"
|
|
103
|
+
export ZAI_MODEL="$model"
|
|
104
|
+
|
|
105
|
+
# Call actual spawning logic (to be implemented)
|
|
106
|
+
# npx claude-flow-novice spawn "$agent_type" \
|
|
107
|
+
# --provider zai \
|
|
108
|
+
# --model "$model" \
|
|
109
|
+
# --context "$task_context"
|
|
110
|
+
;;
|
|
111
|
+
anthropic)
|
|
112
|
+
echo "Spawning Anthropic worker for team ${team} (Model: ${model}, Complexity: ${complexity})"
|
|
113
|
+
|
|
114
|
+
# Set environment variables for Anthropic spawning
|
|
115
|
+
export ANTHROPIC_API_KEY="$api_key"
|
|
116
|
+
export ANTHROPIC_BASE_URL="$base_url"
|
|
117
|
+
export ANTHROPIC_MODEL="$model"
|
|
118
|
+
|
|
119
|
+
# Call actual spawning logic (to be implemented)
|
|
120
|
+
# npx claude-flow-novice spawn "$agent_type" \
|
|
121
|
+
# --provider anthropic \
|
|
122
|
+
# --model "$model" \
|
|
123
|
+
# --context "$task_context"
|
|
124
|
+
;;
|
|
125
|
+
*)
|
|
126
|
+
echo "Error: Unsupported provider: ${provider}"
|
|
127
|
+
exit 1
|
|
128
|
+
;;
|
|
129
|
+
esac
|
|
130
|
+
;;
|
|
131
|
+
zai)
|
|
132
|
+
echo "Force spawning Z.ai worker for team ${team} (Model: ${model})"
|
|
133
|
+
local api_key=$(get_api_key "$team" "workers")
|
|
134
|
+
export ZAI_API_KEY="$api_key"
|
|
135
|
+
export ZAI_BASE_URL="$base_url"
|
|
136
|
+
export ZAI_MODEL="$model"
|
|
137
|
+
;;
|
|
138
|
+
anthropic)
|
|
139
|
+
echo "Force spawning Anthropic worker for team ${team} (Model: ${model})"
|
|
140
|
+
local api_key=$(get_api_key "$team" "workers")
|
|
141
|
+
export ANTHROPIC_API_KEY="$api_key"
|
|
142
|
+
export ANTHROPIC_BASE_URL="$base_url"
|
|
143
|
+
export ANTHROPIC_MODEL="$model"
|
|
144
|
+
;;
|
|
145
|
+
*)
|
|
146
|
+
echo "Error: Invalid provider mode: ${provider_mode}"
|
|
147
|
+
exit 1
|
|
148
|
+
;;
|
|
149
|
+
esac
|
|
150
|
+
|
|
151
|
+
# Log successful configuration
|
|
152
|
+
echo "Worker configuration complete:"
|
|
153
|
+
echo " Team: $team"
|
|
154
|
+
echo " Provider: $provider"
|
|
155
|
+
echo " Model: $model"
|
|
156
|
+
echo " Base URL: $base_url"
|
|
157
|
+
echo " Complexity: $complexity"
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
# Allow script to be used as a function or executed directly
|
|
161
|
+
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
162
|
+
# Script is being run directly
|
|
163
|
+
if [[ $# -lt 1 ]]; then
|
|
164
|
+
echo "Usage: $0 <team> [complexity] [provider_mode] [agent_type] [task_context]"
|
|
165
|
+
echo ""
|
|
166
|
+
echo "Arguments:"
|
|
167
|
+
echo " team - Team name (marketing, engineering, sales, support, finance)"
|
|
168
|
+
echo " complexity - simple|complex (default: simple)"
|
|
169
|
+
echo " provider_mode - auto|zai|anthropic (default: auto)"
|
|
170
|
+
echo " agent_type - Agent type to spawn (optional)"
|
|
171
|
+
echo " task_context - Task context for agent (optional)"
|
|
172
|
+
exit 1
|
|
173
|
+
fi
|
|
174
|
+
|
|
175
|
+
spawn_worker "$@"
|
|
176
|
+
fi
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill_id: cfn-backlog-management
|
|
3
|
+
name: CFN Backlog Management
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
category: coordination
|
|
6
|
+
tags: [backlog, documentation, sprint-planning, technical-debt]
|
|
7
|
+
dependencies: []
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# CFN Backlog Management Skill
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
Systematically capture and track backlogged items during CFN sprints to prevent work from being forgotten. Provides centralized documentation of deferred tasks with context, rationale, and proposed solutions.
|
|
14
|
+
|
|
15
|
+
## Problem Solved
|
|
16
|
+
During CFN Loop execution, agents frequently identify improvements, optimizations, or edge cases that should be addressed but are out of scope for the current sprint. Without systematic capture, these items are lost in chat history or forgotten entirely.
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
- **During CFN sprints** when identifying work that should be deferred
|
|
20
|
+
- **After consensus** when validators identify future improvements
|
|
21
|
+
- **During retrospectives** when documenting technical debt
|
|
22
|
+
- **Architecture reviews** when noting long-term refactoring needs
|
|
23
|
+
|
|
24
|
+
## Interface
|
|
25
|
+
|
|
26
|
+
### Primary Script: `add-backlog-item.sh`
|
|
27
|
+
|
|
28
|
+
**Required Parameters:**
|
|
29
|
+
- `--item`: Brief description of backlogged work (1-2 sentences)
|
|
30
|
+
- `--why`: Rationale for deferring (why not now?)
|
|
31
|
+
- `--solution`: Proposed implementation approach
|
|
32
|
+
|
|
33
|
+
**Optional Parameters:**
|
|
34
|
+
- `--sprint`: Sprint identifier (default: auto-detected from context)
|
|
35
|
+
- `--priority`: P0-P3 (default: P2)
|
|
36
|
+
- `--tags`: Comma-separated tags (e.g., "optimization,redis,testing")
|
|
37
|
+
- `--category`: Feature/Bug/Technical-Debt/Optimization (default: Technical-Debt)
|
|
38
|
+
|
|
39
|
+
**Usage:**
|
|
40
|
+
```bash
|
|
41
|
+
./.claude/skills/cfn-backlog-management/add-backlog-item.sh \
|
|
42
|
+
--sprint "Sprint 10" \
|
|
43
|
+
--item "Implement Redis connection pooling for multi-agent coordination" \
|
|
44
|
+
--why "Current single-connection model causes bottlenecks with 10+ agents, but Sprint 10 scope limited to 3-agent validation" \
|
|
45
|
+
--solution "Use ioredis library with configurable pool size (min: 5, max: 20). Add pool metrics to monitoring dashboard" \
|
|
46
|
+
--priority "P2" \
|
|
47
|
+
--tags "optimization,redis,performance" \
|
|
48
|
+
--category "Optimization"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Output Location
|
|
52
|
+
All backlog items are appended to: `readme/BACKLOG.md`
|
|
53
|
+
|
|
54
|
+
## Backlog File Structure
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# Claude Flow Novice - Backlog
|
|
58
|
+
|
|
59
|
+
Last Updated: 2025-10-31
|
|
60
|
+
|
|
61
|
+
## Active Items
|
|
62
|
+
|
|
63
|
+
### P0 - Critical
|
|
64
|
+
[Items requiring immediate attention in next sprint]
|
|
65
|
+
|
|
66
|
+
### P1 - High Priority
|
|
67
|
+
[Items to address within 2-3 sprints]
|
|
68
|
+
|
|
69
|
+
### P2 - Medium Priority
|
|
70
|
+
[Items to address when capacity allows]
|
|
71
|
+
|
|
72
|
+
### P3 - Low Priority / Nice-to-Have
|
|
73
|
+
[Items for future consideration]
|
|
74
|
+
|
|
75
|
+
## Completed Items
|
|
76
|
+
[Moved here when implemented, with resolution sprint noted]
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Item Template
|
|
81
|
+
|
|
82
|
+
**[PRIORITY] - [Item Title]**
|
|
83
|
+
- **Sprint Backlogged**: Sprint X
|
|
84
|
+
- **Category**: Feature/Bug/Technical-Debt/Optimization
|
|
85
|
+
- **Description**: What needs to be done
|
|
86
|
+
- **Rationale**: Why it was deferred
|
|
87
|
+
- **Proposed Solution**: How to implement
|
|
88
|
+
- **Tags**: `tag1`, `tag2`, `tag3`
|
|
89
|
+
- **Status**: Backlogged | In Progress | Completed
|
|
90
|
+
- **Date Added**: YYYY-MM-DD
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Validation Rules
|
|
94
|
+
|
|
95
|
+
The skill enforces:
|
|
96
|
+
1. **All required fields present** (item, why, solution)
|
|
97
|
+
2. **Item description clarity** (≥10 characters, ≤500 characters)
|
|
98
|
+
3. **Rationale specificity** (must explain deferral reason, not just "out of scope")
|
|
99
|
+
4. **Solution actionability** (must include concrete implementation approach)
|
|
100
|
+
5. **No duplicates** (checks existing BACKLOG.md for similar items)
|
|
101
|
+
|
|
102
|
+
## Integration with CFN Loops
|
|
103
|
+
|
|
104
|
+
### Loop 2 Validators
|
|
105
|
+
When validators identify improvements outside current scope:
|
|
106
|
+
```bash
|
|
107
|
+
# In validator agent
|
|
108
|
+
./.claude/skills/cfn-backlog-management/add-backlog-item.sh \
|
|
109
|
+
--item "Add integration tests for Redis failure scenarios" \
|
|
110
|
+
--why "Current sprint validates happy path only; failure testing requires additional test infrastructure" \
|
|
111
|
+
--solution "Create test-redis-failures.sh with Docker-based Redis crash simulation" \
|
|
112
|
+
--tags "testing,redis,edge-cases"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Product Owner Decision
|
|
116
|
+
When Product Owner defers work for future sprint:
|
|
117
|
+
```bash
|
|
118
|
+
# In product-owner agent
|
|
119
|
+
./.claude/skills/cfn-backlog-management/add-backlog-item.sh \
|
|
120
|
+
--item "Migrate coordination from Redis to etcd for production scale" \
|
|
121
|
+
--why "Redis sufficient for current 10-agent limit; etcd needed for 100+ agent deployments" \
|
|
122
|
+
--solution "Abstract coordination layer behind interface, implement etcd adapter" \
|
|
123
|
+
--priority "P3" \
|
|
124
|
+
--category "Technical-Debt"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Coordinator Context
|
|
128
|
+
Coordinators can query backlog for related items before spawning agents:
|
|
129
|
+
```bash
|
|
130
|
+
# Check if backlog contains relevant context
|
|
131
|
+
grep -i "redis pooling" readme/BACKLOG.md
|
|
132
|
+
# Use results to inform agent context injection
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Query Interface
|
|
136
|
+
|
|
137
|
+
**Search by tag:**
|
|
138
|
+
```bash
|
|
139
|
+
grep -A 10 "Tags:.*redis" readme/BACKLOG.md
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Filter by priority:**
|
|
143
|
+
```bash
|
|
144
|
+
sed -n '/^### P1/,/^### P2/p' readme/BACKLOG.md
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**List all optimization items:**
|
|
148
|
+
```bash
|
|
149
|
+
grep -B 2 "Category: Optimization" readme/BACKLOG.md
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Maintenance
|
|
153
|
+
|
|
154
|
+
**Weekly Review**: Product Owner reviews P0-P1 items for sprint planning
|
|
155
|
+
**Monthly Cleanup**: Archive completed items, reassess P3 priorities
|
|
156
|
+
**Quarterly Audit**: Remove stale items (>6 months old, no activity)
|
|
157
|
+
|
|
158
|
+
## Best Practices
|
|
159
|
+
|
|
160
|
+
1. **Be specific**: "Add caching" → "Implement Redis LRU cache for agent context with 1h TTL"
|
|
161
|
+
2. **Explain constraints**: "Not enough time" → "Requires 8h estimation work; current sprint has 2h budget"
|
|
162
|
+
3. **Provide actionable solutions**: "Fix later" → "Refactor using Strategy pattern from planning/PATTERNS.md"
|
|
163
|
+
4. **Tag appropriately**: Enables filtering and sprint planning
|
|
164
|
+
5. **Update status**: Move to "Completed" when resolved, note resolution sprint
|
|
165
|
+
|
|
166
|
+
## Anti-Patterns
|
|
167
|
+
|
|
168
|
+
❌ **Vague items**: "Improve performance" (What component? How much improvement?)
|
|
169
|
+
❌ **No rationale**: "Backlog this" (Why defer? What's the blocker?)
|
|
170
|
+
❌ **Solution-less**: "Fix Redis issues" (What's the approach? What research is needed?)
|
|
171
|
+
❌ **Duplicate entries**: Check BACKLOG.md before adding
|
|
172
|
+
❌ **Scope creep**: Backlog is for deferred work, not scope expansion
|
|
173
|
+
|
|
174
|
+
## Example Backlog Item
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
**[P1] - Implement Adaptive Validator Scaling**
|
|
178
|
+
- **Sprint Backlogged**: Sprint 9 - CFN v3 Implementation
|
|
179
|
+
- **Category**: Optimization
|
|
180
|
+
- **Description**: Dynamically adjust number of Loop 2 validators (2-5) based on task complexity. Currently fixed at 3-4 validators regardless of task size.
|
|
181
|
+
- **Rationale**: Sprint 9 focused on dual-mode architecture validation. Adaptive scaling requires task complexity classifier (NLP or heuristic-based), estimated 12h implementation vs 4h sprint budget.
|
|
182
|
+
- **Proposed Solution**: Create task-classifier skill that analyzes task description (file count, domain keywords, integration points) and returns complexity score (0.0-1.0). Map score to validator count: <0.3 → 2 validators, 0.3-0.7 → 3-4 validators, >0.7 → 5 validators. Reference: CFN_LOOP_TASK_MODE.md section on adaptive validator scaling.
|
|
183
|
+
- **Tags**: `optimization`, `cfn-loop`, `validation`, `adaptive-scaling`
|
|
184
|
+
- **Status**: Backlogged
|
|
185
|
+
- **Date Added**: 2025-10-31
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Success Metrics
|
|
189
|
+
|
|
190
|
+
- **Backlog utilization**: ≥30% of backlog items addressed within 3 sprints
|
|
191
|
+
- **Item clarity**: 0 items missing required fields
|
|
192
|
+
- **Discovery rate**: ≥50% of technical debt captured vs lost in chat
|
|
193
|
+
- **Sprint planning efficiency**: Backlog queries reduce planning time by 20%
|
|
194
|
+
|
|
195
|
+
## References
|
|
196
|
+
|
|
197
|
+
- **STRAT-025**: Explicit Deliverable Tracking (adaptive context)
|
|
198
|
+
- **CFN Loop Documentation**: `.claude/commands/cfn/CFN_LOOP_TASK_MODE.md`
|
|
199
|
+
- **Sprint Execution**: CLAUDE.md Section 6 - Sprint Context Injection
|