claude-flow-novice 2.18.23 → 2.18.25
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/CLAUDE.md +17 -0
- package/.claude/commands/cfn-loop/cfn-loop-cli.md +9 -0
- package/.claude/commands/cfn-loop-task.md +11 -0
- package/.claude/commands/cfn-ruvector/cfn-codebase-reindex.md +23 -4
- package/.claude/commands/cfn-ruvector/cfn-codebase-search.md +10 -2
- package/.claude/commands/cfn-ruvector/cfn-detect-stale-docs.md +22 -4
- package/.claude/hooks/deprecated/cfn-SessionStart-cfn-load-openai-key.sh +48 -0
- package/.claude/settings.json +6 -8
- package/.claude/skills/CLAUDE.md +70 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/SKILL.md +37 -21
- package/CLAUDE.md +63 -401
- package/config/agent-whitelist.json +281 -0
- package/config/default.yml +180 -0
- package/config/feature-flags.json +315 -0
- package/config/fix-reports/config-manager-custom-keys.json +15 -0
- package/config/hooks/post-edit-pipeline.js +858 -0
- package/config/hooks/post-edit-pipeline.js.original +612 -0
- package/config/kong/grafana/datasources/prometheus.yml +24 -0
- package/config/kong/kong.yml +496 -0
- package/config/kong/prometheus.yml +49 -0
- package/config/logrotate.d/cfn-logs +221 -0
- package/config/loki/loki-config.yml +172 -0
- package/config/loki/retention.yml +107 -0
- package/config/mcp-servers.json +152 -0
- package/config/production.yml.example +72 -0
- package/config/prometheus.yml +85 -0
- package/config/promtail/promtail-config.yml +162 -0
- package/config/redis.conf +33 -0
- package/config/redis.config.js +115 -0
- package/config/skill-requirements.json +341 -0
- package/config/sla-definitions.test.yml +66 -0
- package/config/sla-definitions.yml +150 -0
- package/docs/CFN_LOOP_CLI_MODE.md +134 -0
- package/package.json +1 -1
- package/scripts/cfn-init.js +8 -2
- package/.claude/hooks/SessionStart-cfn-load-openai-key.sh +0 -35
- package/.claude/hooks/SessionStart:cfn-build-ruvector.sh +0 -28
- /package/.claude/hooks/{SessionStart-cfn-build-ruvector.sh → cfn-SessionStart-cfn-build-ruvector.sh} +0 -0
- /package/.claude/hooks/{cfn-load-cerebras-env.sh → deprecated/cfn-load-cerebras-env.sh} +0 -0
package/scripts/cfn-init.js
CHANGED
|
@@ -71,6 +71,10 @@ const CFN_PATHS = {
|
|
|
71
71
|
src: path.join(cfnRoot, '.claude/helpers'),
|
|
72
72
|
dest: '.claude/helpers',
|
|
73
73
|
pattern: 'cfn-*'
|
|
74
|
+
},
|
|
75
|
+
configHooks: {
|
|
76
|
+
src: path.join(cfnRoot, 'config/hooks'),
|
|
77
|
+
dest: 'config/hooks'
|
|
74
78
|
}
|
|
75
79
|
};
|
|
76
80
|
|
|
@@ -82,7 +86,8 @@ async function ensureDirectories() {
|
|
|
82
86
|
'.claude/commands',
|
|
83
87
|
'.claude/cfn-extras',
|
|
84
88
|
'.claude/core',
|
|
85
|
-
'.claude/helpers'
|
|
89
|
+
'.claude/helpers',
|
|
90
|
+
'config/hooks'
|
|
86
91
|
];
|
|
87
92
|
|
|
88
93
|
for (const dir of dirs) {
|
|
@@ -282,7 +287,8 @@ async function initializeCfnProject() {
|
|
|
282
287
|
'.claude/agents/cfn-dev-team',
|
|
283
288
|
'.claude/skills',
|
|
284
289
|
'.claude/hooks',
|
|
285
|
-
'.claude/commands'
|
|
290
|
+
'.claude/commands',
|
|
291
|
+
'config/hooks'
|
|
286
292
|
];
|
|
287
293
|
|
|
288
294
|
if (fs.existsSync(markerPath)) {
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# SessionStart hook: Load OpenAI API key from root .env file
|
|
4
|
-
# This ensures OPENAI_API_KEY is available for embedding generation
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
# Path to root .env file
|
|
9
|
-
ROOT_ENV="${PROJECT_ROOT:-.}/.env"
|
|
10
|
-
|
|
11
|
-
# Check if .env exists
|
|
12
|
-
if [[ ! -f "$ROOT_ENV" ]]; then
|
|
13
|
-
echo "⚠️ Warning: $ROOT_ENV not found. OpenAI embeddings will not work." >&2
|
|
14
|
-
exit 0
|
|
15
|
-
fi
|
|
16
|
-
|
|
17
|
-
# Extract OPENAI_API_KEY from .env
|
|
18
|
-
if grep -q "^OPENAI_API_KEY=" "$ROOT_ENV"; then
|
|
19
|
-
# Export the key for this session
|
|
20
|
-
export OPENAI_API_KEY=$(grep "^OPENAI_API_KEY=" "$ROOT_ENV" | cut -d'=' -f2- | tr -d '"')
|
|
21
|
-
|
|
22
|
-
# Verify key is set
|
|
23
|
-
if [[ -n "$OPENAI_API_KEY" ]]; then
|
|
24
|
-
echo "✅ Loaded OPENAI_API_KEY from root .env" >&2
|
|
25
|
-
else
|
|
26
|
-
echo "⚠️ Warning: OPENAI_API_KEY found but empty in $ROOT_ENV" >&2
|
|
27
|
-
fi
|
|
28
|
-
else
|
|
29
|
-
echo "⚠️ Warning: OPENAI_API_KEY not found in $ROOT_ENV. OpenAI embeddings will not work." >&2
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
# Make it available to subprocesses
|
|
33
|
-
export OPENAI_API_KEY
|
|
34
|
-
|
|
35
|
-
exit 0
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# SessionStart hook: Build RuVector Rust binary if missing
|
|
3
|
-
# This ensures RuVector is compiled on cfn init
|
|
4
|
-
|
|
5
|
-
RUVECTOR_DIR="$(dirname "$(dirname "$(dirname "$0")")")/skills/cfn-local-ruvector-accelerator"
|
|
6
|
-
BINARY="$RUVECTOR_DIR/target/release/local-ruvector"
|
|
7
|
-
|
|
8
|
-
# Only build if binary doesn't exist
|
|
9
|
-
if [ ! -f "$BINARY" ]; then
|
|
10
|
-
echo "[cfn-build-ruvector] Binary not found, building..."
|
|
11
|
-
|
|
12
|
-
# Check if Cargo is available
|
|
13
|
-
if ! command -v cargo &> /dev/null; then
|
|
14
|
-
echo "[cfn-build-ruvector] WARNING: Cargo not installed, skipping RuVector build"
|
|
15
|
-
exit 0
|
|
16
|
-
fi
|
|
17
|
-
|
|
18
|
-
# Build release binary
|
|
19
|
-
cd "$RUVECTOR_DIR" && cargo build --release --quiet 2>/dev/null
|
|
20
|
-
|
|
21
|
-
if [ -f "$BINARY" ]; then
|
|
22
|
-
echo "[cfn-build-ruvector] ✅ RuVector binary built successfully"
|
|
23
|
-
else
|
|
24
|
-
echo "[cfn-build-ruvector] WARNING: Build failed, RuVector unavailable"
|
|
25
|
-
fi
|
|
26
|
-
else
|
|
27
|
-
echo "[cfn-build-ruvector] ✅ RuVector binary already exists"
|
|
28
|
-
fi
|
/package/.claude/hooks/{SessionStart-cfn-build-ruvector.sh → cfn-SessionStart-cfn-build-ruvector.sh}
RENAMED
|
File without changes
|
|
File without changes
|