claude-flow-novice 2.18.40 → 2.19.1
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/agents/AGENT_LIFECYCLE.md +1 -1
- package/.claude/agents/SHARED_PROTOCOL.md +33 -5
- package/.claude/agents/cfn-dev-team/analysts/analyst.md +4 -4
- package/.claude/agents/cfn-dev-team/analysts/root-cause-analyst.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/system-architect.md +4 -4
- package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +4 -4
- package/.claude/agents/cfn-dev-team/coordinators/handoff-coordinator.md +4 -4
- package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +4 -4
- package/.claude/agents/cfn-dev-team/dev-ops/docker-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/dev-ops/fly-io-specialist.md +418 -0
- package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/api-gateway-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/backend-developer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/database/mem0-specialist.md +579 -0
- package/.claude/agents/cfn-dev-team/developers/database/memgraph-specialist.md +722 -0
- package/.claude/agents/cfn-dev-team/developers/database/supabase-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/ui-designer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/rust-developer.md +4 -4
- package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +4 -4
- package/.claude/agents/cfn-dev-team/documentation/api-documentation.md +4 -4
- package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +5 -5
- package/.claude/agents/cfn-dev-team/documentation/specification-agent.md +5 -5
- package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +4 -4
- package/.claude/agents/cfn-dev-team/product-owners/cto-agent.md +4 -4
- package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +4 -4
- package/.claude/agents/cfn-dev-team/product-owners/product-owner.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/code-reviewer.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/api-testing-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/contract-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/e2e/playwright-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/integration-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/mutation-testing-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/{testing → testers}/test-validation-agent.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/tester.md +39 -4
- package/.claude/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/validation/validation-production-validator.md +4 -4
- package/.claude/agents/cfn-dev-team/utility/agent-builder.md +7 -7
- package/.claude/agents/cfn-dev-team/utility/memory-leak-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/utility/researcher.md +4 -4
- package/.claude/agents/cfn-dev-team/utility/z-ai-specialist.md +4 -4
- package/.claude/agents/custom/claude-code-expert.md +1 -1
- package/.claude/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/.claude/{agents/cfn-dev-team/utility → cfn-extras/agents}/context-curator.md +4 -4
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-docker-expert.md +4 -4
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-redis-operations.md +1 -1
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-system-expert.md +4 -4
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/trigger-dev-expert.md +4 -4
- package/.claude/{agents/cfn-dev-team/coordinators → cfn-extras/agents/deprecated-coordinators}/consensus-builder.md +4 -4
- package/.claude/{agents/cfn-dev-team/coordinators → cfn-extras/agents/deprecated-coordinators}/multi-sprint-coordinator.md +4 -4
- package/.claude/{agents → cfn-extras/agents/docker-team}/docker-coordinators/cfn-docker-v3-coordinator.md +1 -1
- package/.claude/{agents/cfn-dev-team/dev-ops → cfn-extras/agents}/kubernetes-specialist.md +4 -4
- package/.claude/{agents/cfn-dev-team/architecture → cfn-extras/agents}/planner.md +4 -4
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/QUICKSTART.md +1 -1
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/README.md +19 -19
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/SKILL.md +7 -7
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/TDD_COORDINATOR_OVERVIEW.md +3 -3
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/TEST_RESULTS.md +3 -3
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/coordinate-generation.sh +19 -19
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/example-fix-scenario.md +4 -4
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/example-usage.sh +1 -1
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/feedback-logger.sh +5 -5
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/fix-existing-code-v2.sh +2 -2
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/fix-existing-code.sh +10 -10
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/pattern-examples.md +3 -3
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/query-patterns.sh +9 -9
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/tdd-coordinator.sh +8 -8
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/test-tdd-coordinator.sh +1 -1
- package/.claude/commands/README.md +1 -1
- package/.claude/commands/{cfn-ruvector → cfn-codesearch}/cfn-codebase-reindex.md +6 -6
- package/.claude/commands/{cfn-ruvector → cfn-codesearch}/cfn-codebase-search.md +8 -8
- package/.claude/commands/{cfn-ruvector → cfn-codesearch}/cfn-detect-stale-docs.md +3 -3
- package/.claude/commands/cfn-codesearch-search.md +36 -0
- package/.claude/commands/cfn-fix-errors.md +1 -1
- package/.claude/commands/cfn-loop-task.md +66 -2
- package/.claude/commands/cfn-update-search-index.md +2 -2
- package/.claude/hooks/cfn-SessionStart-cfn-build-codesearch.sh +24 -0
- package/.claude/hooks/cfn-bash-search-hook.sh +6 -6
- package/.claude/hooks/cfn-smart-search-hook.sh +15 -15
- package/.claude/hooks/cfn-subagent-stop.sh +9 -9
- package/.claude/hooks/post-commit-codebase-index +14 -14
- package/.claude/skills/{bulk-add-ruvector-instructions.sh → bulk-add-codesearch-instructions.sh} +14 -14
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/AGENT_INTEGRATION_PATTERNS.md +20 -20
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/AGENT_LIFECYCLE_INTEGRATION.md +12 -12
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/Cargo.toml +9 -4
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/EXTRACTION_EXAMPLES.md +6 -6
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/IMMEDIATE_ACTION_REQUIRED.md +9 -9
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/README.md +7 -7
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SCHEMA_V2_IMPLEMENTATION.md +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SECURITY_FINDINGS_SUMMARY.txt +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SECURITY_IMPLEMENTATION.md +3 -3
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SECURITY_TESTING_COMPLETION.md +5 -5
- package/.claude/skills/cfn-codesearch/SKILL.md +143 -0
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/analyze-agent-failures.sh +11 -11
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/cfn-integration.sh +29 -29
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/EXECUTIVE_SUMMARY.txt +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/PHASE_4_QUERY_API.md +24 -24
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/RUST_AST_EXTRACTOR_IMPLEMENTATION.md +7 -7
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/TRANSACTION_MANAGEMENT.md +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/VALIDATION_FINDINGS.txt +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/epic-ast-indexer.json +8 -8
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index-code.sh +11 -11
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index_all.sh +2 -2
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/ingest-agent-transcript.sh +10 -10
- package/.claude/skills/{cfn-local-ruvector-accelerator/init-local-ruvector.sh → cfn-codesearch/init-local-codesearch.sh} +16 -16
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/project-structure.md +10 -10
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/query-local.sh +6 -6
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/cleanup.rs +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/index.rs +238 -9
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/index_ast.rs +3 -3
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/init.rs +19 -19
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/migration.rs +5 -5
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/query.rs +64 -3
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/reset.rs +5 -5
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/embeddings.rs +19 -5
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/lib.rs +6 -4
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/main.rs +37 -27
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration_v2.rs +1 -1
- package/.claude/skills/cfn-codesearch/src/paths.rs +37 -0
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/query_v2.rs +3 -4
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/search_engine.rs +3 -3
- package/.claude/skills/cfn-codesearch/src/store_pgvector.rs +301 -0
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2.rs +12 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test-agent-lifecycle-integration.sh +6 -6
- package/.claude/skills/{cfn-local-ruvector-accelerator/test-local-ruvector.sh → cfn-codesearch/test-local-codesearch.sh} +7 -7
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_query_api.sh +2 -2
- package/.claude/skills/cfn-epic-creator/SKILL.md +110 -2
- package/.claude/skills/cfn-epic-creator/invoke.sh +120 -1
- package/.claude/skills/cfn-knowledge-base/lib/playbook/SKILL.md +1 -1
- package/.claude/skills/cfn-mdap-context-injection/SKILL.md +2 -2
- package/.claude/skills/cfn-mdap-context-injection/inject.sh +23 -23
- package/CLAUDE.md +3 -3
- package/package.json +11 -11
- package/readme/feature-status.md +411 -0
- package/.claude/agents/docker-ts-fixer.md +0 -65
- package/.claude/commands/cfn-ruvector-search.md +0 -36
- package/.claude/hooks/cfn-SessionStart-cfn-build-ruvector.sh +0 -24
- package/.claude/skills/cfn-local-ruvector-accelerator/.claude/hooks/SessionStart-cfn-build-ruvector.sh +0 -13
- package/.claude/skills/cfn-local-ruvector-accelerator/SKILL.md +0 -143
- package/.claude/skills/cfn-local-ruvector-accelerator/src/paths.rs +0 -31
- /package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-loops-cli-expert.md +0 -0
- /package/.claude/{agents/csuite → cfn-extras/agents/custom-agents}/cto-agent.md +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/Cargo.toml.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/embeddings_manager.py.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index/index.bin +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index/metadata.json +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index-code.sh.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/query-agent-patterns.sh +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/requirements.txt +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/search_engine_v2.py.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/sqlite_store.py.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/export.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/find.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/index_modified.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/mod.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/refs.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/stats.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/mod.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/rust.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/rust_placeholder.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/text_fallback.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/typescript.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/typescript_full.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/main.rs.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration_backup.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration_tx.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/path_validator.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/query_api.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/schema_v2.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/security_tests.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/sqlite_store.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2_backup.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2_fixed.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2_tx.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/test_schema.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/transaction_tests.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_ast_indexing.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_schema.sql +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_schema_v2.sql +0 -0
|
@@ -17,7 +17,7 @@ Add `--force` flag for complete reindex:
|
|
|
17
17
|
- Major restructuring
|
|
18
18
|
- Index issues
|
|
19
19
|
|
|
20
|
-
**Log file:** `/tmp/
|
|
20
|
+
**Log file:** `/tmp/codesearch-index.log` - tail this for progress monitoring.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -40,16 +40,16 @@ fi
|
|
|
40
40
|
echo "✅ OpenAI key: ${OPENAI_API_KEY:0:12}..."
|
|
41
41
|
|
|
42
42
|
# --- Setup ---
|
|
43
|
-
|
|
44
|
-
[ ! -f "$
|
|
45
|
-
LOG_FILE="/tmp/
|
|
43
|
+
CODESEARCH_BIN="${HOME}/.local/bin/local-codesearch"
|
|
44
|
+
[ ! -f "$CODESEARCH_BIN" ] && CODESEARCH_BIN="./.claude/skills/cfn-codesearch/target/release/local-codesearch"
|
|
45
|
+
LOG_FILE="/tmp/codesearch-index.log"
|
|
46
46
|
|
|
47
47
|
echo "📝 Logging to: $LOG_FILE"
|
|
48
48
|
echo " Monitor with: tail -f $LOG_FILE"
|
|
49
49
|
|
|
50
50
|
# Incremental (default - only changed files)
|
|
51
|
-
"$
|
|
51
|
+
"$CODESEARCH_BIN" index --path . --types rs,ts,js,py,sh,md 2>&1 | tee "$LOG_FILE"
|
|
52
52
|
|
|
53
53
|
# Full rebuild (when needed)
|
|
54
|
-
# "$
|
|
54
|
+
# "$CODESEARCH_BIN" index --path . --types rs,ts,js,py,sh,md --force 2>&1 | tee "$LOG_FILE"
|
|
55
55
|
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Search codebase using
|
|
2
|
+
description: Search codebase using CodeSearch semantic index (400x faster than grep)
|
|
3
3
|
arguments:
|
|
4
4
|
query:
|
|
5
5
|
description: Natural language search query
|
|
@@ -11,12 +11,12 @@ arguments:
|
|
|
11
11
|
|
|
12
12
|
# Codebase Search Command
|
|
13
13
|
|
|
14
|
-
Search your indexed codebase using
|
|
14
|
+
Search your indexed codebase using CodeSearch. Uses SQLite index for fast lookups.
|
|
15
15
|
|
|
16
16
|
**Examples:**
|
|
17
|
-
- `/cfn-
|
|
18
|
-
- `/cfn-
|
|
19
|
-
- `/cfn-
|
|
17
|
+
- `/cfn-codesearch:cfn-codebase-search authentication logic`
|
|
18
|
+
- `/cfn-codesearch:cfn-codebase-search React components --top 20`
|
|
19
|
+
- `/cfn-codesearch:cfn-codebase-search database migration`
|
|
20
20
|
|
|
21
21
|
**Prerequisites:**
|
|
22
22
|
- Codebase must be indexed: `/cfn-codebase-reindex`
|
|
@@ -33,9 +33,9 @@ if [[ ! "$OPENAI_API_KEY" =~ ^sk- ]] && [[ -f ".env" ]]; then
|
|
|
33
33
|
fi
|
|
34
34
|
[[ ! "$OPENAI_API_KEY" =~ ^sk- ]] && { echo "❌ OPENAI_API_KEY invalid. Add to .env" >&2; exit 1; }
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
[ ! -f "$
|
|
36
|
+
CODESEARCH_BIN="${HOME}/.local/bin/local-codesearch"
|
|
37
|
+
[ ! -f "$CODESEARCH_BIN" ] && CODESEARCH_BIN="./.claude/skills/cfn-codesearch/target/release/local-codesearch"
|
|
38
38
|
|
|
39
39
|
# Use threshold 0.1 for better results (default 0.3 is too strict)
|
|
40
|
-
"$
|
|
40
|
+
"$CODESEARCH_BIN" query "{{query}}" --max-results {{#if top}}{{top}}{{else}}10{{/if}} --threshold 0.1
|
|
41
41
|
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Detect stale and legacy documentation using
|
|
2
|
+
description: Detect stale and legacy documentation using CodeSearch semantic analysis
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Detect Stale Documentation
|
|
@@ -38,7 +38,7 @@ Analyzes all `.md` files in the codebase to detect legacy/outdated documentation
|
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
# Find docs older than 90 days with no recent code references
|
|
41
|
-
sqlite3 ~/.local/share/
|
|
41
|
+
sqlite3 ~/.local/share/codesearch/index_v2.db "
|
|
42
42
|
SELECT e.file_path, e.name,
|
|
43
43
|
datetime(e.created_at, 'unixepoch') as indexed_at
|
|
44
44
|
FROM entities e
|
|
@@ -48,7 +48,7 @@ WHERE e.file_path LIKE '%.md'
|
|
|
48
48
|
LIMIT 20;"
|
|
49
49
|
|
|
50
50
|
# Find orphan docs (no references)
|
|
51
|
-
sqlite3 ~/.local/share/
|
|
51
|
+
sqlite3 ~/.local/share/codesearch/index_v2.db "
|
|
52
52
|
SELECT DISTINCT e.file_path
|
|
53
53
|
FROM entities e
|
|
54
54
|
LEFT JOIN refs r ON e.id = r.source_entity_id OR e.id = r.target_entity_id
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Semantic code search with CodeSearch (400x faster than grep)"
|
|
3
|
+
argument-hint: "<query>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# CodeSearch Search
|
|
7
|
+
|
|
8
|
+
Quick semantic search through your indexed codebase.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/cfn-codesearch-search "authentication middleware"
|
|
14
|
+
/cfn-codesearch-search "error handling pattern"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## What it does
|
|
18
|
+
|
|
19
|
+
- Queries pre-built SQLite index (not filesystem scan)
|
|
20
|
+
- Returns file paths with line numbers
|
|
21
|
+
- 400x faster than grep for indexed projects
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
|
|
25
|
+
- Project must be indexed first
|
|
26
|
+
- Run: `./local-codesearch index --path . --force`
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
Execute search:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
CODESEARCH_BIN="${HOME}/.local/bin/local-codesearch"
|
|
34
|
+
[ ! -f "$CODESEARCH_BIN" ] && CODESEARCH_BIN="./.claude/skills/cfn-codesearch/target/release/local-codesearch"
|
|
35
|
+
"$CODESEARCH_BIN" query "$ARGUMENTS" --max-results 10
|
|
36
|
+
```
|
|
@@ -124,7 +124,7 @@ Task("typescript-specialist" /* or "rust-developer" */,
|
|
|
124
124
|
```typescript
|
|
125
125
|
Task("typescript-specialist" /* or "rust-developer" */,
|
|
126
126
|
`# FORBIDDEN: Do NOT run npx tsc, npm run typecheck, or cargo check
|
|
127
|
-
# Use
|
|
127
|
+
# Use codesearch skills in place of 'search' or 'find'
|
|
128
128
|
# REQUIRED: Use CFN hooks for validation
|
|
129
129
|
|
|
130
130
|
## MANDATORY WORKFLOW:
|
|
@@ -10,6 +10,47 @@ allowed-tools: ["Task", "TodoWrite", "Read", "Bash", "Grep", "Glob"]
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
## ⚡ AUTONOMOUS PROGRESSION (CRITICAL)
|
|
14
|
+
|
|
15
|
+
**DO NOT stop to ask questions. Keep progressing by launching agents for next steps.**
|
|
16
|
+
|
|
17
|
+
| Stop For | Keep Going For |
|
|
18
|
+
|----------|----------------|
|
|
19
|
+
| Major regression (tests went from passing to failing) | Minor test failures (iterate to fix) |
|
|
20
|
+
| Structural mismatch (wrong architecture/framework) | Missing files (create them) |
|
|
21
|
+
| Security vulnerability found | Code style issues |
|
|
22
|
+
| Corrupted state requiring manual recovery | Ambiguous implementation details |
|
|
23
|
+
| Unclear requirements (feedback for epic improvement) | |
|
|
24
|
+
|
|
25
|
+
**Rules:**
|
|
26
|
+
- If uncertain about approach, pick the simpler option and iterate
|
|
27
|
+
- Spawn agents to investigate unknowns instead of asking user
|
|
28
|
+
- Only escalate to user for irreversible decisions or access issues
|
|
29
|
+
- Test failures are expected - that's why we iterate
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 🎯 0/0 POLICY (EXIT CRITERIA)
|
|
34
|
+
|
|
35
|
+
**Before PROCEED decision, verify:**
|
|
36
|
+
|
|
37
|
+
| Metric | Requirement |
|
|
38
|
+
|--------|-------------|
|
|
39
|
+
| Compilation errors (scoped work) | **0** |
|
|
40
|
+
| Compilation errors (scoped tests) | **0** |
|
|
41
|
+
| Todos remaining (scoped work) | **0** |
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Verify 0/0 before PROCEED
|
|
45
|
+
npm run typecheck 2>&1 | grep -c "error" || echo "0" # Must be 0
|
|
46
|
+
npm run build 2>&1 | grep -c "error" || echo "0" # Must be 0
|
|
47
|
+
# Review TodoWrite - all scoped items must be completed
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**If not 0/0:** ITERATE, do not PROCEED. Fix errors before next gate check.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
13
54
|
## MANDATORY: Initialize State Tracking
|
|
14
55
|
|
|
15
56
|
**IMMEDIATELY create this todo list using TodoWrite:**
|
|
@@ -184,6 +225,7 @@ CONTEXT:
|
|
|
184
225
|
- Mode: ${MODE}
|
|
185
226
|
- Iteration: ${ITERATION}
|
|
186
227
|
- Gate pass rate: ${PASS_RATE}
|
|
228
|
+
- Epic file: ${EPIC_FILE_PATH} (if applicable)
|
|
187
229
|
|
|
188
230
|
VALIDATOR FEEDBACK:
|
|
189
231
|
${VALIDATOR_1_FEEDBACK}
|
|
@@ -194,6 +236,13 @@ YOUR RESPONSIBILITIES:
|
|
|
194
236
|
2. Classify each finding as IN-SCOPE or OUT-OF-SCOPE
|
|
195
237
|
3. OUT-OF-SCOPE items: Log for backlog, do NOT require iteration
|
|
196
238
|
4. IN-SCOPE items: Determine if they block PROCEED
|
|
239
|
+
5. **EPIC CONSISTENCY CHECK**: Identify naming/reference mismatches in epic document
|
|
240
|
+
|
|
241
|
+
EPIC CONSISTENCY CHECK:
|
|
242
|
+
- Compare implemented names (files, modules, functions) against epic references
|
|
243
|
+
- Flag mismatches (e.g., phase 1 creates "AuthService" but phase 3 references "AuthenticationService")
|
|
244
|
+
- If mismatches found: Update epic document to match implementation
|
|
245
|
+
- Document all corrections in epic_corrections field
|
|
197
246
|
|
|
198
247
|
DECISION CRITERIA:
|
|
199
248
|
- PROCEED: All in-scope requirements met, tests pass, no blocking issues
|
|
@@ -206,12 +255,17 @@ RETURN FORMAT:
|
|
|
206
255
|
"in_scope_findings": [...],
|
|
207
256
|
"out_of_scope_findings": [...],
|
|
208
257
|
"reasoning": "...",
|
|
209
|
-
"iteration_guidance": "..." (if ITERATE)
|
|
258
|
+
"iteration_guidance": "..." (if ITERATE),
|
|
259
|
+
"epic_corrections": [
|
|
260
|
+
{"location": "Phase 3, step 2", "was": "XY", "now": "X", "reason": "Match phase 1 implementation"}
|
|
261
|
+
]
|
|
210
262
|
}
|
|
211
263
|
|
|
212
264
|
AGENT_ID: product-owner-${TASK_ID}-iter${ITERATION}
|
|
213
265
|
```
|
|
214
266
|
|
|
267
|
+
**If epic_corrections returned:** Update the epic file to fix inconsistencies before next iteration.
|
|
268
|
+
|
|
215
269
|
**WAIT for Product Owner agent to return decision.**
|
|
216
270
|
|
|
217
271
|
**Handle Decision:**
|
|
@@ -276,6 +330,7 @@ Task(subagent_type="root-cause-analyst", prompt="Analyze repeated failures...")
|
|
|
276
330
|
- OUT-OF-SCOPE items go to backlog, don't block PROCEED
|
|
277
331
|
- Only IN-SCOPE issues can trigger ITERATE
|
|
278
332
|
- ABORT is rare (corruption, security, dead-end architecture)
|
|
333
|
+
- **Epic consistency**: Fixes naming mismatches between phases (e.g., "X" vs "XY")
|
|
279
334
|
|
|
280
335
|
---
|
|
281
336
|
|
|
@@ -286,10 +341,19 @@ Task(subagent_type="root-cause-analyst", prompt="Analyze repeated failures...")
|
|
|
286
341
|
- **DO NOT skip Product Owner** - Only PO can approve PROCEED
|
|
287
342
|
- **DO NOT iterate on out-of-scope items** - PO filters these to backlog
|
|
288
343
|
- **DO NOT stop on test failures** - That's what iteration fixes
|
|
344
|
+
- **DO NOT ask the user questions** - Make reasonable assumptions and iterate
|
|
289
345
|
- **DO update todos** - This tracks your state as coordinator
|
|
290
346
|
- **DO pass validator feedback to PO** - PO needs full context to decide
|
|
291
347
|
- **DO inject PO guidance into next iteration** - Use iteration_guidance from PO
|
|
348
|
+
- **DO spawn agents to investigate unknowns** - Instead of asking user
|
|
349
|
+
|
|
350
|
+
**When to escalate to user (ONLY these cases):**
|
|
351
|
+
- Access denied / permission errors
|
|
352
|
+
- Irreversible destructive action needed
|
|
353
|
+
- Major regression detected (tests were passing, now failing)
|
|
354
|
+
- Structural mismatch with existing codebase
|
|
355
|
+
- Unclear requirements (helps improve epic creation process)
|
|
292
356
|
|
|
293
357
|
---
|
|
294
358
|
|
|
295
|
-
**Version:** 2.
|
|
359
|
+
**Version:** 2.2.0 | **Date:** 2026-01-13 | Added 0/0 policy, epic consistency check, autonomous progression
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Update
|
|
2
|
+
description: "Update CodeSearch search index automatically"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# /update-search-index - Refresh Search Index
|
|
6
6
|
|
|
7
|
-
Updates the
|
|
7
|
+
Updates the CodeSearch semantic search index with recent code changes.
|
|
8
8
|
|
|
9
9
|
## What it does
|
|
10
10
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# SessionStart hook: Ensure CodeSearch binary is available (global or local)
|
|
3
|
+
GLOBAL_BINARY="$HOME/.local/bin/local-codesearch"
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
6
|
+
CODESEARCH_DIR="$PROJECT_ROOT/.claude/skills/cfn-local-codesearch-accelerator"
|
|
7
|
+
LOCAL_BINARY="$CODESEARCH_DIR/target/release/local-codesearch"
|
|
8
|
+
|
|
9
|
+
# Check global first (preferred)
|
|
10
|
+
if [ -f "$GLOBAL_BINARY" ]; then
|
|
11
|
+
exit 0
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
# Fall back to local binary
|
|
15
|
+
if [ -f "$LOCAL_BINARY" ]; then
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
# Build locally if cargo available
|
|
20
|
+
if command -v cargo &>/dev/null && [ -d "$CODESEARCH_DIR" ]; then
|
|
21
|
+
echo "[cfn-build-codesearch] Building CodeSearch..."
|
|
22
|
+
cd "$CODESEARCH_DIR" && cargo build --release --quiet 2>/dev/null
|
|
23
|
+
[ -f "$LOCAL_BINARY" ] && echo "[cfn-build-codesearch] Built locally" || echo "[cfn-build-codesearch] Build skipped"
|
|
24
|
+
fi
|
|
@@ -4,7 +4,7 @@ set -euo pipefail
|
|
|
4
4
|
INPUT=$(timeout 1 cat || echo "{}")
|
|
5
5
|
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
|
|
6
6
|
|
|
7
|
-
log() { echo "[$(date '+%H:%M:%S')] $*" >> /tmp/
|
|
7
|
+
log() { echo "[$(date '+%H:%M:%S')] $*" >> /tmp/codesearch-bash-hook.log; }
|
|
8
8
|
|
|
9
9
|
# Load API key from .env if not set
|
|
10
10
|
load_api_key() {
|
|
@@ -49,7 +49,7 @@ if [ -z "$PATTERN" ] || [ ${#PATTERN} -lt 3 ] || [[ "$PATTERN" == -* ]]; then
|
|
|
49
49
|
exit 0
|
|
50
50
|
fi
|
|
51
51
|
|
|
52
|
-
DB_PATH="$HOME/.local/share/
|
|
52
|
+
DB_PATH="$HOME/.local/share/codesearch/index_v2.db"
|
|
53
53
|
PROJECT_ROOT="${CLAUDE_PROJECT_DIR:-$(pwd)}"
|
|
54
54
|
|
|
55
55
|
CONTEXT=""
|
|
@@ -63,18 +63,18 @@ if [ -f "$DB_PATH" ]; then
|
|
|
63
63
|
"SELECT REPLACE(file_path, '$SAFE_ROOT/', ''), line_number, name FROM entities WHERE project_root = '$SAFE_ROOT' AND (name LIKE '%${SAFE_PATTERN}%' OR file_path LIKE '%${SAFE_PATTERN}%') LIMIT 6" 2>/dev/null || true)
|
|
64
64
|
|
|
65
65
|
if [ -n "$RESULTS" ]; then
|
|
66
|
-
CONTEXT="
|
|
66
|
+
CONTEXT="CodeSearch indexed matches for '$PATTERN':\n$RESULTS"
|
|
67
67
|
log "SQL context injected for: $PATTERN"
|
|
68
68
|
fi
|
|
69
69
|
fi
|
|
70
70
|
|
|
71
71
|
# Fallback to semantic search if SQL found nothing
|
|
72
|
-
if [ -z "$CONTEXT" ] && command -v local-
|
|
72
|
+
if [ -z "$CONTEXT" ] && command -v local-codesearch >/dev/null 2>&1; then
|
|
73
73
|
if load_api_key; then
|
|
74
74
|
log "SQL returned nothing, trying semantic search for: $PATTERN"
|
|
75
|
-
SEMANTIC=$(timeout 5 local-
|
|
75
|
+
SEMANTIC=$(timeout 5 local-codesearch query "$PATTERN" --max-results 5 --threshold 0.3 2>/dev/null | sed 's/\x1b\[[0-9;]*m//g' | grep -v "^$" | grep -v "INFO\|ERROR\|WARN" | head -6 || true)
|
|
76
76
|
if [ -n "$SEMANTIC" ]; then
|
|
77
|
-
CONTEXT="
|
|
77
|
+
CONTEXT="CodeSearch semantic matches for '$PATTERN':\n$SEMANTIC"
|
|
78
78
|
log "Semantic context injected for: $PATTERN"
|
|
79
79
|
fi
|
|
80
80
|
fi
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
set -euo pipefail
|
|
3
|
-
exec 2>/tmp/
|
|
3
|
+
exec 2>/tmp/codesearch-search-hook.log
|
|
4
4
|
|
|
5
5
|
INPUT=$(timeout 1 cat || echo "{}")
|
|
6
6
|
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name // empty')
|
|
7
7
|
PATTERN=$(echo "$INPUT" | jq -r '.tool_input.pattern // empty')
|
|
8
8
|
|
|
9
9
|
log() {
|
|
10
|
-
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" >> /tmp/
|
|
10
|
+
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" >> /tmp/codesearch-search-hook.log
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
# Load API key from .env if not set
|
|
@@ -68,37 +68,37 @@ $UNCOMMITTED
|
|
|
68
68
|
fi
|
|
69
69
|
fi
|
|
70
70
|
|
|
71
|
-
# Query
|
|
72
|
-
|
|
73
|
-
DB_PATH="$HOME/.local/share/
|
|
71
|
+
# Query CodeSearch V2 SQL first (no API key needed)
|
|
72
|
+
CODESEARCH_RESULTS=""
|
|
73
|
+
DB_PATH="$HOME/.local/share/codesearch/index_v2.db"
|
|
74
74
|
PROJECT_ROOT="${CLAUDE_PROJECT_DIR:-$(pwd)}"
|
|
75
75
|
if [[ -f "$DB_PATH" ]]; then
|
|
76
|
-
log "Querying
|
|
76
|
+
log "Querying CodeSearch SQL for: $PATTERN (project: $PROJECT_ROOT)"
|
|
77
77
|
# Escape pattern for SQL LIKE
|
|
78
78
|
SAFE_PATTERN=$(echo "$PATTERN" | sed "s/'/''/g")
|
|
79
79
|
SAFE_ROOT=$(echo "$PROJECT_ROOT" | sed "s/'/''/g")
|
|
80
|
-
|
|
80
|
+
CODESEARCH_RESULTS=$(timeout 3 sqlite3 -separator ':' "$DB_PATH" \
|
|
81
81
|
"SELECT REPLACE(file_path, '$SAFE_ROOT/', ''), line_number, name FROM entities WHERE project_root = '$SAFE_ROOT' AND (name LIKE '%${SAFE_PATTERN}%' OR file_path LIKE '%${SAFE_PATTERN}%') LIMIT 8" 2>/dev/null | head -10 || true)
|
|
82
|
-
if [[ -n "$
|
|
83
|
-
log "
|
|
84
|
-
CONTEXT="${CONTEXT}
|
|
85
|
-
$
|
|
82
|
+
if [[ -n "$CODESEARCH_RESULTS" ]]; then
|
|
83
|
+
log "CodeSearch SQL returned results"
|
|
84
|
+
CONTEXT="${CONTEXT}CodeSearch indexed matches for '$PATTERN':
|
|
85
|
+
$CODESEARCH_RESULTS
|
|
86
86
|
|
|
87
87
|
"
|
|
88
88
|
fi
|
|
89
89
|
else
|
|
90
|
-
log "
|
|
90
|
+
log "CodeSearch index not found at $DB_PATH"
|
|
91
91
|
fi
|
|
92
92
|
|
|
93
93
|
# Fallback to semantic search if SQL found nothing and API key available
|
|
94
|
-
if [[ -z "$
|
|
94
|
+
if [[ -z "$CODESEARCH_RESULTS" ]] && command -v local-codesearch >/dev/null 2>&1; then
|
|
95
95
|
if load_api_key; then
|
|
96
96
|
log "SQL returned nothing, trying semantic search for: $PATTERN"
|
|
97
97
|
# Strip ANSI codes from output
|
|
98
|
-
SEMANTIC_RESULTS=$(timeout 5 local-
|
|
98
|
+
SEMANTIC_RESULTS=$(timeout 5 local-codesearch query "$PATTERN" --max-results 5 --threshold 0.3 2>/dev/null | sed 's/\x1b\[[0-9;]*m//g' | grep -v "^$" | grep -v "INFO\|ERROR\|WARN" | head -8 || true)
|
|
99
99
|
if [[ -n "$SEMANTIC_RESULTS" ]]; then
|
|
100
100
|
log "Semantic search returned results"
|
|
101
|
-
CONTEXT="${CONTEXT}
|
|
101
|
+
CONTEXT="${CONTEXT}CodeSearch semantic matches for '$PATTERN':
|
|
102
102
|
$SEMANTIC_RESULTS
|
|
103
103
|
|
|
104
104
|
"
|
|
@@ -82,10 +82,10 @@ WHERE id = '$AGENT_ID';
|
|
|
82
82
|
EOF
|
|
83
83
|
|
|
84
84
|
# ========================================================================
|
|
85
|
-
# Feature 3:
|
|
85
|
+
# Feature 3: CodeSearch Transcript Ingestion
|
|
86
86
|
# ========================================================================
|
|
87
87
|
|
|
88
|
-
# Ingest transcript data into
|
|
88
|
+
# Ingest transcript data into CodeSearch for semantic search
|
|
89
89
|
# Determine success flag from agent status/confidence
|
|
90
90
|
AGENT_SUCCESS="true"
|
|
91
91
|
AGENT_CONFIDENCE=$(sqlite3 "$DB_PATH" "SELECT confidence FROM agents WHERE id = '$AGENT_ID';" || echo "0")
|
|
@@ -100,21 +100,21 @@ EOF
|
|
|
100
100
|
AGENT_SUCCESS="false"
|
|
101
101
|
fi
|
|
102
102
|
|
|
103
|
-
# Call
|
|
104
|
-
|
|
105
|
-
if [ -f "$
|
|
106
|
-
"$
|
|
103
|
+
# Call CodeSearch ingestion script (non-blocking, logs errors)
|
|
104
|
+
CODESEARCH_SCRIPT="${PROJECT_ROOT}/.claude/skills/cfn-codesearch/ingest-agent-transcript.sh"
|
|
105
|
+
if [ -f "$CODESEARCH_SCRIPT" ]; then
|
|
106
|
+
"$CODESEARCH_SCRIPT" \
|
|
107
107
|
--transcript "$TRANSCRIPT_ARCHIVE" \
|
|
108
108
|
--agent-id "$AGENT_ID" \
|
|
109
109
|
--agent-type "$AGENT_TYPE" \
|
|
110
110
|
--task-id "$TASK_ID" \
|
|
111
111
|
--success "$AGENT_SUCCESS" \
|
|
112
112
|
>> "$LOG_PATH" 2>&1 || {
|
|
113
|
-
echo "[SubagentStop] Warning:
|
|
113
|
+
echo "[SubagentStop] Warning: CodeSearch ingestion failed for $AGENT_ID" | tee -a "$LOG_PATH"
|
|
114
114
|
}
|
|
115
|
-
echo "[SubagentStop]
|
|
115
|
+
echo "[SubagentStop] CodeSearch ingestion triggered for $AGENT_ID" | tee -a "$LOG_PATH"
|
|
116
116
|
else
|
|
117
|
-
echo "[SubagentStop]
|
|
117
|
+
echo "[SubagentStop] CodeSearch ingestion script not found, skipping" | tee -a "$LOG_PATH"
|
|
118
118
|
fi
|
|
119
119
|
|
|
120
120
|
else
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# Post-commit hook - incremental
|
|
2
|
+
# Post-commit hook - incremental CodeSearch indexing
|
|
3
3
|
# Handles: Added, Modified, Deleted, and Renamed files
|
|
4
4
|
# Symlink: ln -sf ../../.claude/hooks/post-commit-codebase-index .git/hooks/post-commit
|
|
5
5
|
|
|
@@ -7,8 +7,8 @@ set -euo pipefail
|
|
|
7
7
|
|
|
8
8
|
# Config
|
|
9
9
|
INDEXABLE_EXT="ts|tsx|js|jsx|rs|py|sh|md"
|
|
10
|
-
LOG_FILE="/tmp/
|
|
11
|
-
DB_PATH="$HOME/.local/share/
|
|
10
|
+
LOG_FILE="/tmp/codesearch-post-commit.log"
|
|
11
|
+
DB_PATH="$HOME/.local/share/codesearch/index_v2.db"
|
|
12
12
|
PROJECT_ROOT="$(pwd)"
|
|
13
13
|
|
|
14
14
|
# Colors
|
|
@@ -18,23 +18,23 @@ YELLOW='\033[1;33m'
|
|
|
18
18
|
RED='\033[0;31m'
|
|
19
19
|
NC='\033[0m'
|
|
20
20
|
|
|
21
|
-
log() { echo -e "${BLUE}[
|
|
22
|
-
log_success() { echo -e "${GREEN}[
|
|
23
|
-
log_warn() { echo -e "${YELLOW}[
|
|
21
|
+
log() { echo -e "${BLUE}[CodeSearch]${NC} $1" | tee -a "$LOG_FILE"; }
|
|
22
|
+
log_success() { echo -e "${GREEN}[CodeSearch]${NC} $1" | tee -a "$LOG_FILE"; }
|
|
23
|
+
log_warn() { echo -e "${YELLOW}[CodeSearch]${NC} $1" | tee -a "$LOG_FILE"; }
|
|
24
24
|
|
|
25
|
-
# Find
|
|
26
|
-
|
|
27
|
-
[ -z "$
|
|
28
|
-
[ -z "$
|
|
25
|
+
# Find codesearch binary
|
|
26
|
+
CODESEARCH_BIN="${CODESEARCH_BIN:-}"
|
|
27
|
+
[ -z "$CODESEARCH_BIN" ] && command -v local-codesearch >/dev/null && CODESEARCH_BIN="local-codesearch"
|
|
28
|
+
[ -z "$CODESEARCH_BIN" ] && [ -x "$HOME/.local/bin/local-codesearch" ] && CODESEARCH_BIN="$HOME/.local/bin/local-codesearch"
|
|
29
29
|
|
|
30
30
|
# Check if binary exists
|
|
31
|
-
if [ -z "$
|
|
32
|
-
log_warn "local-
|
|
31
|
+
if [ -z "$CODESEARCH_BIN" ]; then
|
|
32
|
+
log_warn "local-codesearch binary not found"
|
|
33
33
|
exit 0
|
|
34
34
|
fi
|
|
35
35
|
|
|
36
36
|
# Check if auto-index is enabled
|
|
37
|
-
if [ "${
|
|
37
|
+
if [ "${CODESEARCH_AUTO_INDEX:-true}" != "true" ]; then
|
|
38
38
|
log_warn "Auto-indexing disabled"
|
|
39
39
|
exit 0
|
|
40
40
|
fi
|
|
@@ -103,7 +103,7 @@ fi
|
|
|
103
103
|
FILE_COUNT=$(echo "$INDEXABLE_FILES" | grep -c . || echo 0)
|
|
104
104
|
log "$FILE_COUNT file(s) added/modified, triggering incremental index..."
|
|
105
105
|
echo "$INDEXABLE_FILES" >> "$LOG_FILE"
|
|
106
|
-
nohup bash -c "$
|
|
106
|
+
nohup bash -c "$CODESEARCH_BIN index --path . >> '$LOG_FILE' 2>&1 && echo '[CodeSearch] Index updated' >> '$LOG_FILE'" >/dev/null 2>&1 &
|
|
107
107
|
log "Indexing started in background (log: $LOG_FILE)"
|
|
108
108
|
|
|
109
109
|
exit 0
|
package/.claude/skills/{bulk-add-ruvector-instructions.sh → bulk-add-codesearch-instructions.sh}
RENAMED
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
set -eu
|
|
3
3
|
|
|
4
|
-
# Add
|
|
4
|
+
# Add CodeSearch instructions to all agent profiles with Post-Edit Pipeline
|
|
5
5
|
|
|
6
6
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
7
|
AGENT_DIR="${SCRIPT_DIR}/../agents/cfn-dev-team"
|
|
8
8
|
|
|
9
|
-
#
|
|
10
|
-
|
|
11
|
-
# IMPORTANT:
|
|
9
|
+
# CodeSearch instruction block to add
|
|
10
|
+
CODESEARCH_BLOCK='
|
|
11
|
+
# IMPORTANT: CodeSearch Semantic Search (Before Making Changes)
|
|
12
12
|
# Before implementing any changes, ALWAYS query the codebase for similar patterns:
|
|
13
13
|
# /codebase-search "relevant search terms for your task" --top 5
|
|
14
14
|
# /codebase-search "error pattern or issue you'\''re fixing" --top 3
|
|
15
15
|
# Also query past errors and learnings:
|
|
16
|
-
# ./.claude/skills/cfn-
|
|
17
|
-
# ./.claude/skills/cfn-
|
|
16
|
+
# ./.claude/skills/cfn-codesearch-codebase-index/query-error-patterns.sh --task-description "Your task description"
|
|
17
|
+
# ./.claude/skills/cfn-codesearch-codebase-index/query-learnings.sh --task-description "Your task description" --category PATTERN
|
|
18
18
|
# This prevents duplicated work and leverages existing solutions.'
|
|
19
19
|
|
|
20
20
|
# Function to add instructions after post-edit pipeline section
|
|
21
|
-
|
|
21
|
+
add_codesearch_instructions() {
|
|
22
22
|
local file="$1"
|
|
23
23
|
local temp_file=$(mktemp)
|
|
24
24
|
|
|
25
|
-
# Check if file already has
|
|
26
|
-
if grep -q "
|
|
27
|
-
echo "⚠️ $(basename "$file") already has
|
|
25
|
+
# Check if file already has CodeSearch instructions
|
|
26
|
+
if grep -q "CodeSearch Semantic Search" "$file"; then
|
|
27
|
+
echo "⚠️ $(basename "$file") already has CodeSearch instructions"
|
|
28
28
|
rm -f "$temp_file"
|
|
29
29
|
return 0
|
|
30
30
|
fi
|
|
31
31
|
|
|
32
32
|
# Find the line with post-edit pipeline and insert after its block
|
|
33
33
|
if grep -q "Post-Edit Pipeline Requirement" "$file"; then
|
|
34
|
-
awk -v block="$
|
|
34
|
+
awk -v block="$CODESEARCH_BLOCK" '
|
|
35
35
|
/^# IMPORTANT: Post-Edit Pipeline Requirement/ {in_section=1}
|
|
36
36
|
in_section && /^$/ && !added {
|
|
37
37
|
print block
|
|
@@ -41,7 +41,7 @@ add_ruvector_instructions() {
|
|
|
41
41
|
{print}
|
|
42
42
|
' "$file" > "$temp_file"
|
|
43
43
|
mv "$temp_file" "$file"
|
|
44
|
-
echo "✅ Added
|
|
44
|
+
echo "✅ Added CodeSearch to $(basename "$file")"
|
|
45
45
|
return 1
|
|
46
46
|
else
|
|
47
47
|
rm -f "$temp_file"
|
|
@@ -50,7 +50,7 @@ add_ruvector_instructions() {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
# Process all agent files recursively
|
|
53
|
-
echo "🔄 Adding
|
|
53
|
+
echo "🔄 Adding CodeSearch instructions to agent profiles..."
|
|
54
54
|
echo ""
|
|
55
55
|
|
|
56
56
|
updated=0
|
|
@@ -64,7 +64,7 @@ while IFS= read -r -d '' agent_file; do
|
|
|
64
64
|
continue
|
|
65
65
|
fi
|
|
66
66
|
|
|
67
|
-
if
|
|
67
|
+
if add_codesearch_instructions "$agent_file"; then
|
|
68
68
|
((skipped++)) || true
|
|
69
69
|
else
|
|
70
70
|
((updated++)) || true
|