claude-flow-novice 2.18.13 → 2.18.14
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/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
- package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/original +3 -0
- package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
- package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
- package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/original +3 -0
- package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
- package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
- package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/original +3 -0
- package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
- package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/metadata.json +8 -0
- package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/original +1212 -0
- package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/revert.sh +7 -0
- package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/metadata.json +8 -0
- package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/original +1212 -0
- package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/revert.sh +7 -0
- package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/metadata.json +8 -0
- package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/original +1212 -0
- package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/revert.sh +7 -0
- package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/metadata.json +8 -0
- package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/original +1228 -0
- package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/revert.sh +7 -0
- package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/metadata.json +8 -0
- package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/original +1237 -0
- package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/revert.sh +7 -0
- package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/metadata.json +8 -0
- package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/original +1240 -0
- package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/revert.sh +7 -0
- package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/metadata.json +8 -0
- package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/original +1216 -0
- package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/revert.sh +7 -0
- package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/metadata.json +8 -0
- package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/original +1238 -0
- package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/revert.sh +7 -0
- package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/metadata.json +8 -0
- package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/original +1167 -0
- package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/revert.sh +7 -0
- package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/metadata.json +8 -0
- package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/original +1242 -0
- package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/revert.sh +7 -0
- package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/metadata.json +8 -0
- package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/original +2 -0
- package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/revert.sh +7 -0
- package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/metadata.json +8 -0
- package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/original +1169 -0
- package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/revert.sh +7 -0
- package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/metadata.json +8 -0
- package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/original +1171 -0
- package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/revert.sh +7 -0
- package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/metadata.json +8 -0
- package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/original +1170 -0
- package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/revert.sh +7 -0
- package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/metadata.json +8 -0
- package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/original +1173 -0
- package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/revert.sh +7 -0
- package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/metadata.json +8 -0
- package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/original +1170 -0
- package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/revert.sh +7 -0
- package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/metadata.json +8 -0
- package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/original +1172 -0
- package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/revert.sh +7 -0
- package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/metadata.json +8 -0
- package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/original +1175 -0
- package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/revert.sh +7 -0
- package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/metadata.json +8 -0
- package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/original +1178 -0
- package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/revert.sh +7 -0
- package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/metadata.json +8 -0
- package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/original +1174 -0
- package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/revert.sh +7 -0
- package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/metadata.json +8 -0
- package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/original +1194 -0
- package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/revert.sh +7 -0
- package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/metadata.json +8 -0
- package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/original +1186 -0
- package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/revert.sh +7 -0
- package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/metadata.json +8 -0
- package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/original +1180 -0
- package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/revert.sh +7 -0
- package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/metadata.json +8 -0
- package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/original +1198 -0
- package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/revert.sh +7 -0
- package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/metadata.json +8 -0
- package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/original +1202 -0
- package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/revert.sh +7 -0
- package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/metadata.json +8 -0
- package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/original +1202 -0
- package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/revert.sh +7 -0
- package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/metadata.json +8 -0
- package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/original +1209 -0
- package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/revert.sh +7 -0
- package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/metadata.json +8 -0
- package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/original +1207 -0
- package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/revert.sh +7 -0
- package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/metadata.json +8 -0
- package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/original +1207 -0
- package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/revert.sh +7 -0
- package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/metadata.json +8 -0
- package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/original +1193 -0
- package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/revert.sh +7 -0
- package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/metadata.json +8 -0
- package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/original +1194 -0
- package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/revert.sh +7 -0
- package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/metadata.json +8 -0
- package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/original +1193 -0
- package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/revert.sh +7 -0
- package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/metadata.json +8 -0
- package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/original +1191 -0
- package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/revert.sh +7 -0
- package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/metadata.json +8 -0
- package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/original +1190 -0
- package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/revert.sh +7 -0
- package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/metadata.json +8 -0
- package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/original +1191 -0
- package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/revert.sh +7 -0
- package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/metadata.json +8 -0
- package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/original +1189 -0
- package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/revert.sh +7 -0
- package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/metadata.json +8 -0
- package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/original +1197 -0
- package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/revert.sh +7 -0
- package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/metadata.json +8 -0
- package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/original +1190 -0
- package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/revert.sh +7 -0
- package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/metadata.json +8 -0
- package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/original +1197 -0
- package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/revert.sh +7 -0
- package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/metadata.json +8 -0
- package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/original +1197 -0
- package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/revert.sh +7 -0
- package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.md +194 -2
- package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh +264 -0
- package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh.backup +698 -0
- package/.claude/hooks/README.md +148 -0
- package/.claude/hooks/SessionStart:cfn-load-openai-key.sh +35 -0
- package/.claude/hooks/cfn-invoke-pre-edit.sh +1 -1
- package/.claude/hooks/cfn-load-cerebras-env.sh +65 -0
- package/.claude/hooks/cfn-precompact-enhanced.sh +283 -0
- package/.claude/hooks/deprecated/README.md +27 -0
- package/.claude/settings.json +71 -6
- package/.claude/skills/cfn-cerebras-coordinator/QUICKSTART.md +348 -0
- package/.claude/skills/cfn-cerebras-coordinator/README.md +525 -0
- package/.claude/skills/cfn-cerebras-coordinator/TDD_COORDINATOR_OVERVIEW.md +284 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-py-v2-test-1733854200.json +36 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-py-v3-test-1765383241.json +36 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-rust-v2-test-1765381361.json +36 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-rust-v3-test-1765383242.json +46 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v2-test-1733864400.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v3-test-1765383238.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v4-test-1765386506.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v5-test-1765393100.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/example-usage.sh +206 -0
- package/.claude/skills/cfn-cerebras-coordinator/lib/tdd-conversation-coordinator.ts +569 -0
- package/.claude/skills/cfn-cerebras-coordinator/test-tdd-coordinator.sh +250 -0
- package/.claude/skills/cfn-epic-creator/SKILL.md +392 -0
- package/.claude/skills/cfn-epic-creator/estimate-costs.sh +524 -0
- package/.claude/skills/cfn-epic-creator/invoke.sh +445 -0
- package/.claude/skills/cfn-epic-creator/parse-personas.sh +533 -0
- package/.claude/skills/cfn-epic-creator/security-utils.sh +268 -0
- package/.claude/skills/cfn-epic-creator/security-verification-demo.sh +127 -0
- package/.claude/skills/cfn-epic-creator/test-invoke.sh +620 -0
- package/.claude/skills/cfn-epic-creator/test-security-fixes.sh +195 -0
- package/.claude/skills/cfn-epic-creator/test-security-simple.sh +165 -0
- package/.claude/skills/cfn-epic-creator/validate-epic.sh +474 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/metadata.json +8 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/original +209 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/revert.sh +7 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/AGENT_INTEGRATION_PATTERNS.md +255 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/Cargo.toml +8 -1
- package/.claude/skills/cfn-local-ruvector-accelerator/Cargo.toml.backup +47 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/EXTRACTION_EXAMPLES.md +287 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/README.md +2 -563
- package/.claude/skills/cfn-local-ruvector-accelerator/SCHEMA_V2_IMPLEMENTATION.md +151 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/SECURITY_IMPLEMENTATION.md +185 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/SKILL.md +8 -351
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/EXECUTIVE_SUMMARY.txt +90 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/PHASE_4_QUERY_API.md +210 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/RUST_AST_EXTRACTOR_IMPLEMENTATION.md +222 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/TRANSACTION_MANAGEMENT.md +241 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/VALIDATION_FINDINGS.txt +250 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/epic-ast-indexer.json +335 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/index-code.sh +292 -96
- package/.claude/skills/cfn-local-ruvector-accelerator/index-code.sh.backup +249 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/index_all.sh +65 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/find.rs +214 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index.rs +259 -103
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index_ast.rs +767 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index_modified.rs +37 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/init.rs +17 -12
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/migration.rs +34 -1
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/mod.rs +6 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/refs.rs +209 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/embeddings.rs +82 -33
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/mod.rs +251 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/rust.rs +425 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/rust_placeholder.rs +420 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/text_fallback.rs +490 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/typescript.rs +520 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/typescript_full.rs +531 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/lib.rs +20 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/main.rs +33 -2
- package/.claude/skills/cfn-local-ruvector-accelerator/src/main.rs.backup +360 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/migration.rs +325 -318
- package/.claude/skills/cfn-local-ruvector-accelerator/src/migration_backup.rs +325 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/migration_tx.rs +513 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/paths.rs +29 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/query_api.rs +609 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/schema_v2.rs +603 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/security_tests.rs +154 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2.rs +583 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_backup.rs +560 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_fixed.rs +0 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_tx.rs +397 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/test_schema.rs +228 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/transaction_tests.rs +410 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_ast_indexing.rs +59 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_query_api.sh +103 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_schema.sql +158 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_schema_v2.sql +147 -0
- package/.claude/skills/cfn-mdap-context-injection/SKILL.md +31 -10
- package/.claude/skills/cfn-mdap-error-fixer/skill.md +15 -205
- package/.claude/skills/cfn-session-handoff/SKILL.md +1 -53
- package/.claude/skills/cfn-task-decomposition/SKILL.md +1 -0
- package/.claude/skills/cfn-task-intelligence/SKILL.md +39 -18
- package/.claude/skills/cfn-task-planning/SKILL.md +37 -12
- package/.claude/skills/cfn-validation-framework/SKILL.md +3 -60
- package/.claude/skills/cfn-vision-analysis/SKILL.md +3 -20
- package/.claude-flow/metrics/performance.json +3 -3
- package/.claude-flow/metrics/task-metrics.json +3 -3
- package/.ruvector/index_v2.db-shm +0 -0
- package/.ruvector/index_v2.db-wal +0 -0
- package/CLAUDE.md +9 -1
- package/README.md +56 -0
- package/docs/AGENT_PRODUCTION_FEEDBACK_PATTERNS.md +389 -0
- package/docs/CEREBRAS_TDD_COORDINATOR_TEST_RESULTS.md +213 -0
- package/docs/CEREBRAS_TDD_ROUND1_VS_ROUND2_COMPARISON.md +225 -0
- package/docs/CEREBRAS_TDD_ROUND3_FINAL_RESULTS.md +264 -0
- package/docs/EPIC_CREATOR_V2_ARCHITECTURE.md +629 -0
- package/docs/HOOKS_IMPLEMENTATION_PRIORITY.md +585 -0
- package/docs/SKILLS_HOOKS_INTEGRATION.md +1074 -0
- package/epic-with-personas-2025-12-09-17-15-13.json +253 -0
- package/package.json +2 -1
- package/test-epic-creator-security.sh +203 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/__pycache__/search_engine_v2.cpython-312.pyc +0 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/search_engine.py +0 -200
- package/jest.config.ts.cjs +0 -17
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/context-analyzer.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/generate-code.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/execute.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/INTEGRATION.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/SAMPLE_OUTPUTS.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/capture-container-logs.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/enable-logging.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/init-hybrid-logging.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/analytics-summary.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-agent-timeline.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-consensus-history.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-coordination-timeline.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-failed-containers.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-gate-checks.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/schema.sql +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/sqlite-helpers.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/test-hybrid-logging.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/mcp/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/mcp/skill-mcp-selector.js +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/orchestration/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/orchestration/orchestrate.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/spawning/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/spawning/spawn-agent.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/cleanup-wave.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/lib/docker-helpers.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/monitor-wave.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/spawn-wave.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-node-heap-sizer/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-node-heap-sizer/task-mode-heap-limiter.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/deprecated/analyze-patterns.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/README.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/SECURITY.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/package.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/solve.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test-equation-solver-minimal.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test-equation-solver.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test.cjs +0 -0
- /package/.claude/hooks/{cfn-credential-scanner.sh → deprecated/cfn-credential-scanner.sh} +0 -0
- /package/.claude/hooks/{cfn-detect-hardcoded-credentials.sh → deprecated/cfn-detect-hardcoded-credentials.sh} +0 -0
- /package/.claude/hooks/{cfn-invoke-post-edit-ts.sh → deprecated/cfn-invoke-post-edit-ts.sh} +0 -0
- /package/.claude/hooks/{cfn-invoke-pre-edit-ts.sh → deprecated/cfn-invoke-pre-edit-ts.sh} +0 -0
- /package/.claude/hooks/{cfn-invoke-security-validation.sh → deprecated/cfn-invoke-security-validation.sh} +0 -0
- /package/.claude/hooks/{cfn-lint-sql-injection.sh → deprecated/cfn-lint-sql-injection.sh} +0 -0
- /package/.claude/hooks/{cfn-post-edit.sh → deprecated/cfn-post-edit.sh} +0 -0
- /package/.claude/hooks/{cfn-pre-edit-backup.sh → deprecated/cfn-pre-edit-backup.sh} +0 -0
- /package/.claude/skills/cfn-local-ruvector-accelerator/{embeddings_manager.py → embeddings_manager.py.backup} +0 -0
- /package/{.ruvector → .claude/skills/cfn-local-ruvector-accelerator/index}/index.bin +0 -0
- /package/{.ruvector → .claude/skills/cfn-local-ruvector-accelerator/index}/metadata.json +0 -0
- /package/.claude/skills/cfn-local-ruvector-accelerator/{search_engine_v2.py → search_engine_v2.py.backup} +0 -0
- /package/.claude/skills/cfn-local-ruvector-accelerator/{sqlite_store.py → sqlite_store.py.backup} +0 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# Agent Integration Patterns for AST-Aware RuVector
|
|
2
|
+
|
|
3
|
+
This document describes how agents can integrate with the AST-aware RuVector indexer to achieve sub-50ms query performance for code intelligence tasks.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The AST-Aware RuVector Accelerator provides:
|
|
8
|
+
- Entity-based indexing (functions, structs, traits, etc.)
|
|
9
|
+
- Reference tracking (calls, imports, type usage)
|
|
10
|
+
- Vector embeddings for semantic search
|
|
11
|
+
- Structured query interface
|
|
12
|
+
|
|
13
|
+
## Integration Patterns
|
|
14
|
+
|
|
15
|
+
### 1. Agent Setup
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Initialize RuVector in the project
|
|
19
|
+
./target/release/local-ruvector init
|
|
20
|
+
|
|
21
|
+
# Index the codebase
|
|
22
|
+
./target/release/local-ruvector index --path . --types rs,ts,tsx,js,jsx --force
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 2. Query Patterns
|
|
26
|
+
|
|
27
|
+
#### A. Find Functions Using a Type
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Find all functions that use the `Album` type
|
|
31
|
+
./target/release/local-ruvector find --kind function --uses-type Album
|
|
32
|
+
|
|
33
|
+
# Example SQL query behind the scenes:
|
|
34
|
+
SELECT e.* FROM entities e
|
|
35
|
+
JOIN type_usage tu ON e.id = tu.entity_id
|
|
36
|
+
WHERE e.kind = 'function' AND tu.type_name = 'Album';
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
#### B. Find Callers of a Function
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Find all functions that call `create_album`
|
|
43
|
+
./target/release/local-ruvector refs --target create_album --kind calls
|
|
44
|
+
|
|
45
|
+
# Exclude calls within the same module
|
|
46
|
+
./target/release/local-ruvector refs --target create_album --kind calls --exclude-module src/album/
|
|
47
|
+
|
|
48
|
+
# Example SQL query:
|
|
49
|
+
SELECT r.* FROM refs r
|
|
50
|
+
JOIN entities e ON r.target_entity_id = e.id
|
|
51
|
+
WHERE e.name = 'create_album' AND r.ref_kind = 'call'
|
|
52
|
+
AND r.file_path NOT LIKE '%src/album/%';
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### C. Refactoring Workflow
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Step 1: Find all references to a function
|
|
59
|
+
./target/release/local-ruvector refs --target function_name
|
|
60
|
+
|
|
61
|
+
# Step 2: Find all implementations of a trait
|
|
62
|
+
./target/release/local-ruvector find --kind impl --implements Trait
|
|
63
|
+
|
|
64
|
+
# Step 3: Find types used in a module
|
|
65
|
+
./target/release/local-ruvector find --file-path src/module/ --kind struct
|
|
66
|
+
|
|
67
|
+
# Step 4: Verify no breaks after refactoring
|
|
68
|
+
./target/release/local-ruvector query "broken reference error" --threshold 0.9
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 3. Programmatic Integration
|
|
72
|
+
|
|
73
|
+
Agents can integrate using the Rust API directly:
|
|
74
|
+
|
|
75
|
+
```rust
|
|
76
|
+
use local_ruvector::store_v2::StoreV2;
|
|
77
|
+
use local_ruvector::query_api::QueryEngine;
|
|
78
|
+
|
|
79
|
+
let store = StoreV2::new(&db_path)?;
|
|
80
|
+
let query_engine = QueryEngine::new(store);
|
|
81
|
+
|
|
82
|
+
// Find functions using a type
|
|
83
|
+
let functions = query_engine.find_functions_using_type("Album")?;
|
|
84
|
+
|
|
85
|
+
// Find callers of a function
|
|
86
|
+
let callers = query_engine.find_callers("create_album", Some("src/other/"))?;
|
|
87
|
+
|
|
88
|
+
// Search by semantic similarity
|
|
89
|
+
let results = query_engine.semantic_search("database transaction", 10)?;
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 4. Performance Optimization Tips
|
|
93
|
+
|
|
94
|
+
#### A. Use Database Indexes
|
|
95
|
+
The schema includes optimized indexes:
|
|
96
|
+
- `idx_entities_kind_name` for fast entity lookups
|
|
97
|
+
- `idx_type_usage_type_name` for type usage queries
|
|
98
|
+
- `idx_refs_target_kind` for reference queries
|
|
99
|
+
|
|
100
|
+
#### B. Batch Operations
|
|
101
|
+
```rust
|
|
102
|
+
// Batch insert entities
|
|
103
|
+
let entities: Vec<Entity> = vec![...];
|
|
104
|
+
store.insert_entities_batch(entities)?;
|
|
105
|
+
|
|
106
|
+
// Batch query multiple entities
|
|
107
|
+
let ids = vec![1, 2, 3, 4, 5];
|
|
108
|
+
let entities = store.get_entity_batch(&ids)?;
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### C. Query Result Caching
|
|
112
|
+
```rust
|
|
113
|
+
use std::time::Duration;
|
|
114
|
+
use cached::proc_macro::cached;
|
|
115
|
+
|
|
116
|
+
#[cached(size = 1000, time = 300)]
|
|
117
|
+
pub fn find_functions_using_type(type_name: &str) -> Result<Vec<Entity>> {
|
|
118
|
+
// Query implementation
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Agent Workflow Examples
|
|
123
|
+
|
|
124
|
+
### 1. Code Review Agent
|
|
125
|
+
|
|
126
|
+
```rust
|
|
127
|
+
pub async fn review_pull_request(pr_id: i32) -> Result<ReviewResult> {
|
|
128
|
+
// 1. Get changed files
|
|
129
|
+
let changed_files = get_pr_files(pr_id).await?;
|
|
130
|
+
|
|
131
|
+
// 2. Query for potentially problematic patterns
|
|
132
|
+
let issues = query_engine.search_patterns([
|
|
133
|
+
"TODO:",
|
|
134
|
+
"FIXME:",
|
|
135
|
+
"unwrap()",
|
|
136
|
+
"panic!",
|
|
137
|
+
"expect(",
|
|
138
|
+
])?;
|
|
139
|
+
|
|
140
|
+
// 3. Check for breaking changes
|
|
141
|
+
let public_api_changes = query_engine.find_public_api_changes(&changed_files)?;
|
|
142
|
+
|
|
143
|
+
// 4. Verify imports are correct
|
|
144
|
+
let unused_imports = query_engine.find_unused_imports(&changed_files)?;
|
|
145
|
+
|
|
146
|
+
Ok(ReviewResult { issues, public_api_changes, unused_imports })
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 2. Refactoring Agent
|
|
151
|
+
|
|
152
|
+
```rust
|
|
153
|
+
pub async fn extract_function(
|
|
154
|
+
file_path: &str,
|
|
155
|
+
start_line: usize,
|
|
156
|
+
end_line: usize,
|
|
157
|
+
function_name: &str,
|
|
158
|
+
) -> Result<RefactorResult> {
|
|
159
|
+
// 1. Analyze the selected code
|
|
160
|
+
let entities = query_engine.find_entities_in_range(file_path, start_line, end_line)?;
|
|
161
|
+
|
|
162
|
+
// 2. Find all external dependencies
|
|
163
|
+
let dependencies = query_engine.find_dependencies(&entities)?;
|
|
164
|
+
|
|
165
|
+
// 3. Check if extraction is safe
|
|
166
|
+
let safe_to_extract = query_engine.verify_extraction_safety(&entities)?;
|
|
167
|
+
|
|
168
|
+
if safe_to_extract {
|
|
169
|
+
// 4. Perform refactoring
|
|
170
|
+
let new_content = extract_function_to_module(file_path, start_line, end_line, function_name)?;
|
|
171
|
+
|
|
172
|
+
// 5. Update imports in dependent files
|
|
173
|
+
for dep in dependencies {
|
|
174
|
+
update_imports(&dep.file_path, function_name)?;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
Ok(RefactorResult::Success)
|
|
178
|
+
} else {
|
|
179
|
+
Ok(RefactorResult::Unsafe)
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### 3. Documentation Agent
|
|
185
|
+
|
|
186
|
+
```rust
|
|
187
|
+
pub async fn generate_documentation(entity_name: &str) -> Result<Documentation> {
|
|
188
|
+
// 1. Find the entity
|
|
189
|
+
let entity = query_engine.find_entity_by_name(entity_name)?;
|
|
190
|
+
|
|
191
|
+
// 2. Get all related documentation
|
|
192
|
+
let related_docs = query_engine.find_related_documentation(&entity)?;
|
|
193
|
+
|
|
194
|
+
// 3. Find usage examples
|
|
195
|
+
let examples = query_engine.find_usage_examples(&entity)?;
|
|
196
|
+
|
|
197
|
+
// 4. Check for undocumented public APIs
|
|
198
|
+
if entity.visibility == Visibility::Public && entity.doc_comment.is_none() {
|
|
199
|
+
return Err(anyhow!("Public entity lacks documentation"));
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// 5. Generate comprehensive docs
|
|
203
|
+
Ok(Documentation {
|
|
204
|
+
entity,
|
|
205
|
+
related_docs,
|
|
206
|
+
examples,
|
|
207
|
+
})
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Performance Benchmarks
|
|
212
|
+
|
|
213
|
+
Based on the current implementation:
|
|
214
|
+
|
|
215
|
+
- **Index Size**: 175MB for 31 Rust files with 5,897 embeddings
|
|
216
|
+
- **Index Time**: ~90 seconds for full reindex
|
|
217
|
+
- **Query Performance**: Target <50ms for indexed queries
|
|
218
|
+
- **Entity Coverage**: Functions, structs, traits, impls, enums
|
|
219
|
+
|
|
220
|
+
## Future Enhancements
|
|
221
|
+
|
|
222
|
+
1. **Incremental Updates**: Only reindex changed files
|
|
223
|
+
2. **Cross-Language Support**: TypeScript, JavaScript support
|
|
224
|
+
3. **Enhanced Query API**: More complex query builders
|
|
225
|
+
4. **Integration with LLMs**: Use embeddings for AI-assisted coding
|
|
226
|
+
5. **Real-time Updates**: File watching for automatic reindexing
|
|
227
|
+
|
|
228
|
+
## Troubleshooting
|
|
229
|
+
|
|
230
|
+
### Common Issues
|
|
231
|
+
|
|
232
|
+
1. **Compilation Errors**: Ensure tree-sitter parsers are properly linked
|
|
233
|
+
2. **Database Locks**: Use WAL mode for concurrent access
|
|
234
|
+
3. **Memory Usage**: Limit batch sizes for large codebases
|
|
235
|
+
4. **Slow Queries**: Check EXPLAIN QUERY PLAN and add indexes
|
|
236
|
+
|
|
237
|
+
### Debug Commands
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Check database health
|
|
241
|
+
./target/release/local-ruvector stats --detailed
|
|
242
|
+
|
|
243
|
+
# Rebuild index
|
|
244
|
+
./target/release/local-ruvector index --force
|
|
245
|
+
|
|
246
|
+
# Query optimization
|
|
247
|
+
sqlite3 .ruvector/index.db "EXPLAIN QUERY PLAN SELECT ..."
|
|
248
|
+
|
|
249
|
+
# Check embeddings
|
|
250
|
+
./target/release/local-ruvector query "test query" --format json
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Conclusion
|
|
254
|
+
|
|
255
|
+
The AST-Aware RuVector Accelerator provides a powerful foundation for agent-driven code intelligence. By leveraging entity-based indexing and structured queries, agents can achieve sub-50ms response times for complex code analysis tasks.
|
|
@@ -37,4 +37,11 @@ chrono = { version = "0.4", features = ["serde"] }
|
|
|
37
37
|
# File operations
|
|
38
38
|
fs_extra = "1.3"
|
|
39
39
|
# Environment
|
|
40
|
-
dotenvy = "0.15"
|
|
40
|
+
dotenvy = "0.15"
|
|
41
|
+
# Tree-sitter for AST parsing
|
|
42
|
+
# Tree-sitter for AST parsing
|
|
43
|
+
|
|
44
|
+
# Tree-sitter for AST parsing
|
|
45
|
+
tree-sitter = "0.20"
|
|
46
|
+
tree-sitter-rust = "0.20"
|
|
47
|
+
tree-sitter-typescript = "0.20"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
[package]
|
|
2
|
+
name = "local-ruvector"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
edition = "2021"
|
|
5
|
+
|
|
6
|
+
[dependencies]
|
|
7
|
+
# Database
|
|
8
|
+
rusqlite = { version = "0.31", features = ["bundled", "vtab"] }
|
|
9
|
+
# Vector operations
|
|
10
|
+
ndarray = { version = "0.15", features = ["rayon"], default-features = false }
|
|
11
|
+
# Serialization
|
|
12
|
+
serde = { version = "1.0", features = ["derive"] }
|
|
13
|
+
serde_json = "1.0"
|
|
14
|
+
# CLI
|
|
15
|
+
clap = { version = "4.4", features = ["derive"] }
|
|
16
|
+
anyhow = "1.0"
|
|
17
|
+
# File system
|
|
18
|
+
walkdir = "2.4"
|
|
19
|
+
# Hashing
|
|
20
|
+
sha2 = "0.10"
|
|
21
|
+
# Async (for embedding API)
|
|
22
|
+
tokio = { version = "1.0", features = ["full"] }
|
|
23
|
+
reqwest = { version = "0.11", features = ["json"] }
|
|
24
|
+
# Logging
|
|
25
|
+
tracing = "0.1"
|
|
26
|
+
tracing-subscriber = { version = "0.3", features = ["json", "env-filter"] }
|
|
27
|
+
# Parallel processing
|
|
28
|
+
rayon = "1.8"
|
|
29
|
+
# Memory mapping
|
|
30
|
+
memmap2 = "0.9"
|
|
31
|
+
# Binary serialization
|
|
32
|
+
byteorder = "1.5"
|
|
33
|
+
# Regular expressions
|
|
34
|
+
regex = "1.10"
|
|
35
|
+
# Date/time
|
|
36
|
+
chrono = { version = "0.4", features = ["serde"] }
|
|
37
|
+
# File operations
|
|
38
|
+
fs_extra = "1.3"
|
|
39
|
+
# Environment
|
|
40
|
+
dotenvy = "0.15"
|
|
41
|
+
# Tree-sitter for AST parsing
|
|
42
|
+
# Tree-sitter for AST parsing
|
|
43
|
+
|
|
44
|
+
# Tree-sitter for AST parsing
|
|
45
|
+
tree-sitter = "0.20"
|
|
46
|
+
tree-sitter-rust = "0.20"
|
|
47
|
+
tree-sitter-typescript = "0.20"
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# RuVector Extraction Examples
|
|
2
|
+
|
|
3
|
+
This document demonstrates what the TypeScript/JavaScript and text-based fallback extractors capture from different file types.
|
|
4
|
+
|
|
5
|
+
## TypeScript Extraction Example
|
|
6
|
+
|
|
7
|
+
### Input File: `hello.ts`
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
/**
|
|
11
|
+
* Simple hello module
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export function sayHello(name: string): void {
|
|
15
|
+
console.log(`Hello, ${name}!`);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface Greeter {
|
|
19
|
+
greet(name: string): void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export class SimpleGreeter implements Greeter {
|
|
23
|
+
greet(name: string): void {
|
|
24
|
+
sayHello(name);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type GreetingFunction = (name: string) => void;
|
|
29
|
+
|
|
30
|
+
import { Logger } from './logger';
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Extracted Entities
|
|
34
|
+
|
|
35
|
+
| Name | Kind | Line | Visibility | Metadata |
|
|
36
|
+
|------|------|------|------------|----------|
|
|
37
|
+
| `sayHello` | Function | 6 | Public | exported: true |
|
|
38
|
+
| `Greeter` | Interface | 10 | Public | exported: true |
|
|
39
|
+
| `SimpleGreeter` | Class | 14 | Public | exported: true, implements: Greeter |
|
|
40
|
+
| `GreetingFunction` | TypeAlias | 22 | Public | exported: true, type_definition: "(name: string) => void" |
|
|
41
|
+
|
|
42
|
+
### Extracted References
|
|
43
|
+
|
|
44
|
+
| Target | Type | File | Line |
|
|
45
|
+
|--------|------|------|------|
|
|
46
|
+
| `Logger` | Import | ./logger | 24 |
|
|
47
|
+
|
|
48
|
+
## JSON Extraction Example
|
|
49
|
+
|
|
50
|
+
### Input File: `package.json`
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"name": "hello-world",
|
|
55
|
+
"version": "1.0.0",
|
|
56
|
+
"description": "Simple greeting library",
|
|
57
|
+
"main": "dist/hello.js",
|
|
58
|
+
"scripts": {
|
|
59
|
+
"build": "tsc",
|
|
60
|
+
"test": "jest"
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"typescript": "^5.0.0",
|
|
64
|
+
"jest": "^29.0.0"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Extracted Entities
|
|
70
|
+
|
|
71
|
+
| Name | Kind | Data Type | Metadata |
|
|
72
|
+
|------|------|-----------|----------|
|
|
73
|
+
| `name` | Variable | string | chunk_type: json |
|
|
74
|
+
| `version` | Variable | string | chunk_type: json |
|
|
75
|
+
| `description` | Variable | string | chunk_type: json |
|
|
76
|
+
| `main` | Variable | string | chunk_type: json |
|
|
77
|
+
| `scripts` | Variable | object | chunk_type: json |
|
|
78
|
+
| `dependencies` | Variable | object | chunk_type: json |
|
|
79
|
+
|
|
80
|
+
**Benefit**: All top-level keys are indexed for semantic search, enabling queries like "find configuration with name hello-world" or "locate all JSON files with dependencies".
|
|
81
|
+
|
|
82
|
+
## YAML Extraction Example
|
|
83
|
+
|
|
84
|
+
### Input File: `config.yaml`
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
version: 1.0.0
|
|
88
|
+
name: hello-app
|
|
89
|
+
environments:
|
|
90
|
+
development:
|
|
91
|
+
debug: true
|
|
92
|
+
port: 3000
|
|
93
|
+
production:
|
|
94
|
+
debug: false
|
|
95
|
+
port: 8080
|
|
96
|
+
features:
|
|
97
|
+
logging: enabled
|
|
98
|
+
caching: enabled
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Extracted Entities
|
|
102
|
+
|
|
103
|
+
| Name | Line | Indent Level | Metadata |
|
|
104
|
+
|------|------|--------------|----------|
|
|
105
|
+
| `version` | 1 | 0 | chunk_type: yaml |
|
|
106
|
+
| `name` | 2 | 0 | chunk_type: yaml |
|
|
107
|
+
| `environments` | 3 | 0 | chunk_type: yaml |
|
|
108
|
+
| `development` | 4 | 1 | chunk_type: yaml |
|
|
109
|
+
| `debug` | 5 | 2 | chunk_type: yaml |
|
|
110
|
+
| `port` | 6 | 2 | chunk_type: yaml |
|
|
111
|
+
| `production` | 7 | 1 | chunk_type: yaml |
|
|
112
|
+
| `debug` | 8 | 2 | chunk_type: yaml |
|
|
113
|
+
| `port` | 9 | 2 | chunk_type: yaml |
|
|
114
|
+
| `features` | 10 | 0 | chunk_type: yaml |
|
|
115
|
+
| `logging` | 11 | 1 | chunk_type: yaml |
|
|
116
|
+
| `caching` | 12 | 1 | chunk_type: yaml |
|
|
117
|
+
|
|
118
|
+
**Benefit**: Configuration structure is indexed with indentation levels, enabling hierarchical searches and environment-specific queries.
|
|
119
|
+
|
|
120
|
+
## Markdown Extraction Example
|
|
121
|
+
|
|
122
|
+
### Input File: `README.md`
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
# Getting Started
|
|
126
|
+
|
|
127
|
+
This guide helps you set up the project.
|
|
128
|
+
|
|
129
|
+
## Installation
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
npm install
|
|
133
|
+
npm run build
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Configuration
|
|
137
|
+
|
|
138
|
+
Edit the config.yaml file to customize settings.
|
|
139
|
+
|
|
140
|
+
### Advanced Setup
|
|
141
|
+
|
|
142
|
+
For advanced users, use environment variables.
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Extracted Entities
|
|
146
|
+
|
|
147
|
+
| Name | Type | Line | Metadata |
|
|
148
|
+
|------|------|------|----------|
|
|
149
|
+
| `Getting Started` | Module | 1 | chunk_type: markdown, heading_level: 1 |
|
|
150
|
+
| `Installation` | Namespace | 5 | chunk_type: markdown, heading_level: 2 |
|
|
151
|
+
| `code_bash` | Variable | 7 | chunk_type: markdown_code, language: bash |
|
|
152
|
+
| `Configuration` | Namespace | 12 | chunk_type: markdown, heading_level: 2 |
|
|
153
|
+
| `Advanced Setup` | Namespace | 15 | chunk_type: markdown, heading_level: 3 |
|
|
154
|
+
|
|
155
|
+
**Benefit**: Documentation structure is preserved, enabling navigation and contextual search across documentation files.
|
|
156
|
+
|
|
157
|
+
## Shell Script Extraction Example
|
|
158
|
+
|
|
159
|
+
### Input File: `setup.sh`
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
#!/bin/bash
|
|
163
|
+
|
|
164
|
+
DATABASE_URL="postgres://localhost:5432/mydb"
|
|
165
|
+
API_KEY="secret-key-123"
|
|
166
|
+
DEBUG_MODE=true
|
|
167
|
+
|
|
168
|
+
function setup_environment() {
|
|
169
|
+
echo "Setting up environment..."
|
|
170
|
+
export DATABASE_URL
|
|
171
|
+
export API_KEY
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function cleanup() {
|
|
175
|
+
rm -rf /tmp/cache
|
|
176
|
+
unset DEBUG_MODE
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
setup_environment
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Extracted Entities
|
|
183
|
+
|
|
184
|
+
| Name | Kind | Type | Line |
|
|
185
|
+
|------|------|------|------|
|
|
186
|
+
| `DATABASE_URL` | Variable | shell_variable | 3 |
|
|
187
|
+
| `API_KEY` | Variable | shell_variable | 4 |
|
|
188
|
+
| `DEBUG_MODE` | Variable | shell_variable | 5 |
|
|
189
|
+
| `setup_environment` | Function | shell_function | 7 |
|
|
190
|
+
| `cleanup` | Function | shell_function | 12 |
|
|
191
|
+
|
|
192
|
+
**Benefit**: Shell script structure is indexed, enabling queries like "find all setup functions" or "locate database configuration variables".
|
|
193
|
+
|
|
194
|
+
## Extraction Statistics
|
|
195
|
+
|
|
196
|
+
### Coverage by File Type
|
|
197
|
+
|
|
198
|
+
| File Type | Extractor | Entity Types | References | Support Level |
|
|
199
|
+
|-----------|-----------|--------------|------------|----------------|
|
|
200
|
+
| `.ts, .tsx, .js, .jsx, .mjs, .cjs` | TypeScript | Functions, Classes, Interfaces, Types | Imports | Full |
|
|
201
|
+
| `.json` | JSON | Top-level keys | None | Full |
|
|
202
|
+
| `.yaml, .yml` | YAML | Keys (hierarchical) | None | Full |
|
|
203
|
+
| `.md, .markdown` | Markdown | Headings, Code Blocks | None | Full |
|
|
204
|
+
| `.sh, .bash` | Shell | Functions, Variables | None | Full |
|
|
205
|
+
| `.rs` | Rust | Functions, Structs, Traits, Imports | References | Full |
|
|
206
|
+
| Others | Text Fallback | Meaningful text chunks | None | Partial |
|
|
207
|
+
|
|
208
|
+
## Indexing Results
|
|
209
|
+
|
|
210
|
+
When you run `local-ruvector index`, the system:
|
|
211
|
+
|
|
212
|
+
1. **Scans** all files in the project
|
|
213
|
+
2. **Routes** files to appropriate extractors based on extension
|
|
214
|
+
3. **Extracts** entities and references using language-specific logic
|
|
215
|
+
4. **Generates** embeddings for all extracted entities
|
|
216
|
+
5. **Stores** results in SQLite database with vector search capability
|
|
217
|
+
|
|
218
|
+
### Example Output
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
Starting index process
|
|
222
|
+
File types: [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".rs", ".json", ".yaml", ".yml", ".md", ".markdown", ".sh", ".bash", ".txt", ".config", ".conf", ".env"]
|
|
223
|
+
|
|
224
|
+
Processing 1000 files...
|
|
225
|
+
✓ hello.ts: 4 entities, 1 reference, 4 embeddings
|
|
226
|
+
✓ package.json: 6 entities, 0 references, 6 embeddings
|
|
227
|
+
✓ config.yaml: 11 entities, 0 references, 11 embeddings
|
|
228
|
+
✓ setup.sh: 5 entities, 0 references, 5 embeddings
|
|
229
|
+
...
|
|
230
|
+
|
|
231
|
+
Index complete: 1000 files processed
|
|
232
|
+
- Entities extracted: 12,345
|
|
233
|
+
- References extracted: 2,108
|
|
234
|
+
- Embeddings generated: 12,345
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Semantic Search Capabilities
|
|
238
|
+
|
|
239
|
+
After indexing, you can search for:
|
|
240
|
+
|
|
241
|
+
### TypeScript/JavaScript Specific
|
|
242
|
+
- Functions: "Find all exported functions that handle authentication"
|
|
243
|
+
- Classes: "Locate all classes that implement Observable"
|
|
244
|
+
- Interfaces: "Find all interfaces defined in the API layer"
|
|
245
|
+
- Types: "Search for union types used in state management"
|
|
246
|
+
- Imports: "Show all files importing from react"
|
|
247
|
+
|
|
248
|
+
### JSON Configuration
|
|
249
|
+
- "Find all configuration files with database settings"
|
|
250
|
+
- "Locate package.json files with specific dependencies"
|
|
251
|
+
- "Search for API endpoint definitions"
|
|
252
|
+
|
|
253
|
+
### YAML Configuration
|
|
254
|
+
- "Find all environment-specific configurations"
|
|
255
|
+
- "Locate service definitions in docker-compose files"
|
|
256
|
+
- "Search for feature flag configurations"
|
|
257
|
+
|
|
258
|
+
### Markdown Documentation
|
|
259
|
+
- "Find installation guides"
|
|
260
|
+
- "Locate API documentation sections"
|
|
261
|
+
- "Search for code examples in specific languages"
|
|
262
|
+
|
|
263
|
+
### Shell Scripts
|
|
264
|
+
- "Find all setup functions"
|
|
265
|
+
- "Locate scripts with specific environment variables"
|
|
266
|
+
- "Search for database initialization scripts"
|
|
267
|
+
|
|
268
|
+
## Performance Notes
|
|
269
|
+
|
|
270
|
+
- **TypeScript files**: <1ms per file (regex-based)
|
|
271
|
+
- **JSON files**: <0.5ms per file (native parsing)
|
|
272
|
+
- **YAML files**: <1ms per file (line-based)
|
|
273
|
+
- **Markdown files**: <1ms per file (pattern-based)
|
|
274
|
+
- **Shell files**: <1ms per file (regex-based)
|
|
275
|
+
|
|
276
|
+
Complete project indexing (10,000 files): ~30-50 seconds depending on file types and complexity.
|
|
277
|
+
|
|
278
|
+
## Next Steps
|
|
279
|
+
|
|
280
|
+
After indexing:
|
|
281
|
+
|
|
282
|
+
1. **Query** using `local-ruvector query`
|
|
283
|
+
2. **Export** results using `local-ruvector export`
|
|
284
|
+
3. **Analyze** dependencies using `local-ruvector refs`
|
|
285
|
+
4. **Monitor** with `local-ruvector stats`
|
|
286
|
+
|
|
287
|
+
See the main README for detailed usage instructions.
|