claude-flow-novice 2.11.0 → 2.13.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 +177 -129
- package/.claude/skills/cfn-changelog-management/SKILL.md +349 -0
- package/.claude/skills/cfn-changelog-management/add-changelog-entry.sh +200 -0
- package/claude-assets/commands/cfn/README.md +177 -129
- package/claude-assets/commands/cfn/cfn-loop-cli.md +268 -0
- package/claude-assets/commands/cfn/cfn-loop-document.md +20 -1
- package/claude-assets/commands/cfn/cfn-loop-frontend.md +17 -2
- package/claude-assets/commands/cfn/cfn-loop-task.md +442 -0
- package/claude-assets/commands/cfn/context-curate.md +27 -38
- package/claude-assets/commands/cfn/context-inject.md +14 -25
- package/claude-assets/commands/cfn/context-query.md +40 -45
- package/claude-assets/commands/cfn/context-reflect.md +40 -38
- package/claude-assets/commands/cfn/context-stats.md +13 -38
- package/claude-assets/commands/cfn/launch-web-dashboard.md +0 -295
- package/claude-assets/commands/cfn/list-agents-rebuild.md +18 -18
- package/claude-assets/commands/cfn/write-plan.md +246 -75
- package/claude-assets/skills/cfn-changelog-management/SKILL.md +349 -0
- package/claude-assets/skills/cfn-changelog-management/add-changelog-entry.sh +200 -0
- package/package.json +2 -1
- package/claude-assets/commands/cfn/auto-compact.md +0 -80
- package/claude-assets/commands/cfn/cfn-loop-epic.md +0 -478
- package/claude-assets/commands/cfn/cfn-loop-single.md +0 -256
- package/claude-assets/commands/cfn/cfn-loop-sprints.md +0 -396
- package/claude-assets/commands/cfn/cfn-loop.md +0 -518
- package/claude-assets/commands/cfn/claude-md.md +0 -64
- package/claude-assets/commands/cfn/claude-soul.md +0 -22
- package/claude-assets/commands/cfn/cost-savings-off.md +0 -35
- package/claude-assets/commands/cfn/cost-savings-on.md +0 -35
- package/claude-assets/commands/cfn/cost-savings-status.md +0 -34
- package/claude-assets/commands/cfn/custom-routing-activate.md +0 -55
- package/claude-assets/commands/cfn/custom-routing-deactivate.md +0 -46
- package/claude-assets/commands/cfn/dependency-recommendations.md +0 -171
- package/claude-assets/commands/cfn/fullstack.md +0 -179
- package/claude-assets/commands/cfn/github.md +0 -221
- package/claude-assets/commands/cfn/hooks.md +0 -38
- package/claude-assets/commands/cfn/metrics-summary.md +0 -58
- package/claude-assets/commands/cfn/neural.md +0 -39
- package/claude-assets/commands/cfn/parse-epic.md +0 -357
- package/claude-assets/commands/cfn/performance.md +0 -41
- package/claude-assets/commands/cfn/sparc.md +0 -46
- package/claude-assets/commands/cfn/suggest-improvements.md +0 -95
- package/claude-assets/commands/cfn/suggest-templates.md +0 -147
- package/claude-assets/commands/cfn/swarm.md +0 -24
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# cfn-changelog-management/add-changelog-entry.sh
|
|
5
|
+
# Adds sparse, structured entries to readme/CHANGELOG.md
|
|
6
|
+
|
|
7
|
+
# Default values
|
|
8
|
+
TYPE=""
|
|
9
|
+
SUMMARY=""
|
|
10
|
+
IMPACT=""
|
|
11
|
+
VERSION=""
|
|
12
|
+
ISSUE=""
|
|
13
|
+
FILES=""
|
|
14
|
+
MIGRATION=""
|
|
15
|
+
|
|
16
|
+
# Parse arguments
|
|
17
|
+
while [[ $# -gt 0 ]]; do
|
|
18
|
+
case $1 in
|
|
19
|
+
--type)
|
|
20
|
+
TYPE="$2"
|
|
21
|
+
shift 2
|
|
22
|
+
;;
|
|
23
|
+
--summary)
|
|
24
|
+
SUMMARY="$2"
|
|
25
|
+
shift 2
|
|
26
|
+
;;
|
|
27
|
+
--impact)
|
|
28
|
+
IMPACT="$2"
|
|
29
|
+
shift 2
|
|
30
|
+
;;
|
|
31
|
+
--version)
|
|
32
|
+
VERSION="$2"
|
|
33
|
+
shift 2
|
|
34
|
+
;;
|
|
35
|
+
--issue)
|
|
36
|
+
ISSUE="$2"
|
|
37
|
+
shift 2
|
|
38
|
+
;;
|
|
39
|
+
--files)
|
|
40
|
+
FILES="$2"
|
|
41
|
+
shift 2
|
|
42
|
+
;;
|
|
43
|
+
--migration)
|
|
44
|
+
MIGRATION="$2"
|
|
45
|
+
shift 2
|
|
46
|
+
;;
|
|
47
|
+
*)
|
|
48
|
+
echo "Unknown argument: $1" >&2
|
|
49
|
+
exit 1
|
|
50
|
+
;;
|
|
51
|
+
esac
|
|
52
|
+
done
|
|
53
|
+
|
|
54
|
+
# Validation
|
|
55
|
+
if [[ -z "$TYPE" ]]; then
|
|
56
|
+
echo "Error: --type is required" >&2
|
|
57
|
+
echo "Valid types: feature, bugfix, breaking, dependency, architecture, performance, security" >&2
|
|
58
|
+
exit 1
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
if [[ -z "$SUMMARY" ]]; then
|
|
62
|
+
echo "Error: --summary is required" >&2
|
|
63
|
+
exit 1
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
if [[ -z "$IMPACT" ]]; then
|
|
67
|
+
echo "Error: --impact is required" >&2
|
|
68
|
+
exit 1
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
# Validate type
|
|
72
|
+
VALID_TYPES="feature|bugfix|breaking|dependency|architecture|performance|security"
|
|
73
|
+
if [[ ! "$TYPE" =~ ^($VALID_TYPES)$ ]]; then
|
|
74
|
+
echo "Error: --type must be one of: feature, bugfix, breaking, dependency, architecture, performance, security (got: $TYPE)" >&2
|
|
75
|
+
exit 1
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
# Validate summary length
|
|
79
|
+
SUMMARY_LENGTH=${#SUMMARY}
|
|
80
|
+
if (( SUMMARY_LENGTH < 10 )); then
|
|
81
|
+
echo "Error: --summary must be at least 10 characters (got $SUMMARY_LENGTH)" >&2
|
|
82
|
+
exit 1
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
if (( SUMMARY_LENGTH > 100 )); then
|
|
86
|
+
echo "Error: --summary must be at most 100 characters (got $SUMMARY_LENGTH)" >&2
|
|
87
|
+
exit 1
|
|
88
|
+
fi
|
|
89
|
+
|
|
90
|
+
# Validate file limit
|
|
91
|
+
if [[ -n "$FILES" ]]; then
|
|
92
|
+
FILE_COUNT=$(echo "$FILES" | tr ',' '\n' | wc -l)
|
|
93
|
+
if (( FILE_COUNT > 5 )); then
|
|
94
|
+
echo "Error: --files can contain at most 5 files (got $FILE_COUNT)" >&2
|
|
95
|
+
exit 1
|
|
96
|
+
fi
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# Path to changelog
|
|
100
|
+
CHANGELOG_FILE="readme/CHANGELOG.md"
|
|
101
|
+
PROJECT_ROOT="/mnt/c/Users/masha/Documents/claude-flow-novice"
|
|
102
|
+
CHANGELOG_PATH="$PROJECT_ROOT/$CHANGELOG_FILE"
|
|
103
|
+
|
|
104
|
+
# Check if changelog exists
|
|
105
|
+
if [[ ! -f "$CHANGELOG_PATH" ]]; then
|
|
106
|
+
echo "Error: Changelog not found at $CHANGELOG_PATH" >&2
|
|
107
|
+
echo "Expected format: readme/CHANGELOG.md" >&2
|
|
108
|
+
exit 1
|
|
109
|
+
fi
|
|
110
|
+
|
|
111
|
+
# Map type to section header
|
|
112
|
+
case "$TYPE" in
|
|
113
|
+
feature)
|
|
114
|
+
SECTION="### Features"
|
|
115
|
+
;;
|
|
116
|
+
bugfix)
|
|
117
|
+
SECTION="### Bug Fixes"
|
|
118
|
+
;;
|
|
119
|
+
breaking)
|
|
120
|
+
SECTION="### Breaking Changes"
|
|
121
|
+
;;
|
|
122
|
+
dependency)
|
|
123
|
+
SECTION="### Dependencies"
|
|
124
|
+
;;
|
|
125
|
+
architecture)
|
|
126
|
+
SECTION="### Architecture"
|
|
127
|
+
;;
|
|
128
|
+
performance)
|
|
129
|
+
SECTION="### Performance"
|
|
130
|
+
;;
|
|
131
|
+
security)
|
|
132
|
+
SECTION="### Security"
|
|
133
|
+
;;
|
|
134
|
+
esac
|
|
135
|
+
|
|
136
|
+
# Current date
|
|
137
|
+
CURRENT_DATE=$(date +%Y-%m-%d)
|
|
138
|
+
|
|
139
|
+
# Build entry
|
|
140
|
+
ENTRY="- $SUMMARY ($CURRENT_DATE)"
|
|
141
|
+
ENTRY="$ENTRY\n - Impact: $IMPACT"
|
|
142
|
+
|
|
143
|
+
if [[ -n "$FILES" ]]; then
|
|
144
|
+
ENTRY="$ENTRY\n - Files: \`$FILES\`"
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
if [[ -n "$ISSUE" ]]; then
|
|
148
|
+
ENTRY="$ENTRY\n - Issue: $ISSUE"
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
if [[ -n "$MIGRATION" ]]; then
|
|
152
|
+
ENTRY="$ENTRY\n - Migration: $MIGRATION"
|
|
153
|
+
fi
|
|
154
|
+
|
|
155
|
+
# Find [Unreleased] section and appropriate subsection
|
|
156
|
+
# Insert entry after section header
|
|
157
|
+
|
|
158
|
+
# Check if [Unreleased] section exists
|
|
159
|
+
if ! grep -q "## \[Unreleased\]" "$CHANGELOG_PATH"; then
|
|
160
|
+
echo "Error: [Unreleased] section not found in changelog" >&2
|
|
161
|
+
echo "Expected format:" >&2
|
|
162
|
+
echo "## [Unreleased]" >&2
|
|
163
|
+
echo "" >&2
|
|
164
|
+
echo "### Features" >&2
|
|
165
|
+
exit 1
|
|
166
|
+
fi
|
|
167
|
+
|
|
168
|
+
# Check if section exists within [Unreleased]
|
|
169
|
+
if ! awk '/## \[Unreleased\]/,/^---$/ { if (/'"$SECTION"'/) found=1 } END { exit !found }' "$CHANGELOG_PATH"; then
|
|
170
|
+
echo "Error: $SECTION not found within [Unreleased] section" >&2
|
|
171
|
+
exit 1
|
|
172
|
+
fi
|
|
173
|
+
|
|
174
|
+
# Insert entry after section header (first blank line or entry)
|
|
175
|
+
awk -v section="$SECTION" -v entry="$ENTRY" '
|
|
176
|
+
# Track if we are in [Unreleased] section
|
|
177
|
+
/## \[Unreleased\]/ { in_unreleased=1 }
|
|
178
|
+
/^## \[/ && !/## \[Unreleased\]/ { in_unreleased=0 }
|
|
179
|
+
|
|
180
|
+
# When we find the target section within [Unreleased]
|
|
181
|
+
in_unreleased && $0 ~ section {
|
|
182
|
+
print
|
|
183
|
+
getline # Read next line
|
|
184
|
+
print # Print it (usually blank line)
|
|
185
|
+
print entry
|
|
186
|
+
next
|
|
187
|
+
}
|
|
188
|
+
{print}
|
|
189
|
+
' "$CHANGELOG_PATH" > "${CHANGELOG_PATH}.tmp"
|
|
190
|
+
|
|
191
|
+
mv "${CHANGELOG_PATH}.tmp" "$CHANGELOG_PATH"
|
|
192
|
+
|
|
193
|
+
echo "✅ Changelog entry added successfully"
|
|
194
|
+
echo " Type: $TYPE"
|
|
195
|
+
echo " Summary: $SUMMARY"
|
|
196
|
+
echo " Section: $SECTION"
|
|
197
|
+
echo " Location: $CHANGELOG_FILE"
|
|
198
|
+
|
|
199
|
+
# Output path for scripting
|
|
200
|
+
echo "$CHANGELOG_PATH"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow-novice",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "AI agent orchestration framework with namespace-isolated skills, agents, and CFN Loop validation. Safe installation with ~0.01% collision risk.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
".claude/skills/cfn-agent-spawning/",
|
|
27
27
|
".claude/skills/cfn-analytics/",
|
|
28
28
|
".claude/skills/cfn-backlog-management/",
|
|
29
|
+
".claude/skills/cfn-changelog-management/",
|
|
29
30
|
".claude/skills/cfn-checkpoint-state/",
|
|
30
31
|
".claude/skills/cfn-config-management/",
|
|
31
32
|
".claude/skills/cfn-event-bus/",
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Compact conversation history to reduce token usage and maintain context efficiency"
|
|
3
|
-
argument-hint: "[--focus=<topic>] [--threshold=<percentage>]"
|
|
4
|
-
allowed-tools: ["Read", "Write", "Bash", "TodoWrite"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Auto-Compact - Programmatic Context Compression
|
|
8
|
-
|
|
9
|
-
Summarize and compress conversation history while preserving key facts, decisions, and context.
|
|
10
|
-
|
|
11
|
-
**Task**: $ARGUMENTS
|
|
12
|
-
|
|
13
|
-
## Command Options
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
/auto-compact
|
|
17
|
-
/auto-compact --focus="security decisions and API changes"
|
|
18
|
-
/auto-compact --threshold=70
|
|
19
|
-
/auto-compact --focus="CFN Loop implementation" --threshold=75
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**Options:**
|
|
23
|
-
- `--focus=<topic>`: Focus summarization on specific topics (optional)
|
|
24
|
-
- `--threshold=<percentage>`: Token usage threshold to trigger compact (default: 70)
|
|
25
|
-
|
|
26
|
-
## Current Session Analysis
|
|
27
|
-
|
|
28
|
-
**Token Usage**: Check current context usage and determine if compaction is needed.
|
|
29
|
-
|
|
30
|
-
## Compaction Strategy
|
|
31
|
-
|
|
32
|
-
### What to Preserve
|
|
33
|
-
- Key architectural decisions
|
|
34
|
-
- Active task progress and todos
|
|
35
|
-
- Critical bug fixes and security changes
|
|
36
|
-
- Recent consensus validations
|
|
37
|
-
- Current phase/sprint context
|
|
38
|
-
|
|
39
|
-
### What to Compress
|
|
40
|
-
- Verbose implementation details
|
|
41
|
-
- Exploratory discussions
|
|
42
|
-
- Resolved issues and completed tasks
|
|
43
|
-
- Historical context from earlier phases
|
|
44
|
-
- Redundant explanations
|
|
45
|
-
|
|
46
|
-
## Execution Steps
|
|
47
|
-
|
|
48
|
-
1. **Analyze Current Context**: Review token usage and conversation flow
|
|
49
|
-
2. **Extract Key Facts**: Identify critical decisions, active work, and essential context
|
|
50
|
-
3. **Generate Summary**: Create concise summary preserving:
|
|
51
|
-
- Active tasks and blockers
|
|
52
|
-
- Recent decisions (last 10-20% of conversation)
|
|
53
|
-
- Phase/sprint progress
|
|
54
|
-
- Technical debt items
|
|
55
|
-
- Next steps
|
|
56
|
-
4. **Recommend Action**: Suggest when user should run `/compact` with optimal focus
|
|
57
|
-
|
|
58
|
-
## Output Format
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
📊 **Context Analysis**
|
|
62
|
-
- Current tokens: X/200k (Y%)
|
|
63
|
-
- Recommendation: [COMPACT NOW | DEFER | MONITOR]
|
|
64
|
-
|
|
65
|
-
🎯 **Suggested Compact Focus**
|
|
66
|
-
[Generated focus string based on conversation]
|
|
67
|
-
|
|
68
|
-
💡 **Summary Preview**
|
|
69
|
-
[Key facts to preserve in compact]
|
|
70
|
-
|
|
71
|
-
✅ **Action Required**
|
|
72
|
-
Run: /compact focus: "[generated focus]"
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Notes
|
|
76
|
-
|
|
77
|
-
- This command **analyzes** and **recommends** compaction
|
|
78
|
-
- User must manually run `/compact` (built-in command)
|
|
79
|
-
- Threshold default: 70% (140k/200k tokens)
|
|
80
|
-
- Auto-triggered at 95% by Claude Code built-in
|