Skip to content

Latest commit

 

History

History
90 lines (89 loc) · 7.56 KB

File metadata and controls

90 lines (89 loc) · 7.56 KB

CODE MINIMAP

  • AGENTS.md: project-specific agent instructions
  • PLAN.md: task checklist (includes semantic editing phases)
  • SEMANTIC_EDITING_PLAN.md: full architecture plan for symbol-level editing, hashlines, and LSP integration
  • RULES.md: non-negotiable project rules
  • CODE_MINIMAP.md: overview of important files and their purpose
  • .gitignore: ignored paths for build outputs and local indexes
  • .jjignore: jj ignore patterns (avoids tracking Zig cache)
  • README.md: usage, build, and configuration overview
  • LICENSE: MIT license
  • tests/integration/test-integration: end-to-end integration suite (requires Ollama + fixtures)
  • tests/cli/test-cli: CLI black-box test suite (uses mk_test_db fixture; covers docs/comments/scope filters, command-specific help, and stdin JSON request mode)
  • tests/http/test-http: HTTP API black-box test suite (uses mk_test_db fixture)
  • tests/unit/test-unit: Zig unit-test runner (wraps zig build test-unit aggregated suite in nix dev shell)
  • fixtures/manifest.toml: pinned fixture repos for integration tests
  • .github/workflows/build.yml: CI build + release artifacts workflow
  • scripts/ci-setup-nix: CI helper to install Nix (used by GitHub Actions)
  • scripts/ci-build: CI build/package wrapper (ReleaseFast per target)
  • scripts/ci-local: run the CI build job locally via act (Linux only)
  • flake.lock: pinned Nix inputs for reproducible dev shell
  • ZIG_RECENT_API_CHANGES_2025.md: Zig 0.14–0.15 API quick reference
  • flake.nix: Nix flake providing dev dependencies (zig_0_15) + sqlite amalgamation env vars
  • build.zig.zon: Zig package metadata + git dependency on sqlite-vec fork
  • build.zig: Zig build script for CLI + unit tests (test-unit aggregated fast step + legacy test step)
  • test: master test runner script (unit/cli/http/integration)
  • PROJECT_STATE.md: working notes for future contributors/LLMs (build/run/config details)
  • src/all_tests.zig: aggregated unit-test root importing all source modules with test blocks (single binary for faster unit runs)
  • src/main.zig: CLI entrypoint wiring config (show/edit), root discovery, index/search, command-specific help topics, stdin JSON request envelope parsing (JSON->CLI args), and HTTP server
  • src/cli.zig: CLI argument parsing (including default-to-search behavior, docs/comments flags, unified --scope, and hybrid weights) + tests
  • src/config.zig: config parsing/loading for .codescan/config (including weights) + tests
  • src/weights.zig: parser/loader for .codescan/weights.toml ([default] + per-language weights for vector/lexical + metadata boosts) and runtime weight resolution with explicit-override precedence + tests
  • src/storage.zig: sqlite + sqlite-vec schema init (static vec init, optional FTS5), schema v3 migration support (symbol_kind/symbol_visibility/symbol_scope/symbol_arity columns auto-added for older DBs), mismatch detection for embedding model/dim without clobbering stored metadata, index reset, insert symbol/embedding, tests
  • src/ollama.zig: Ollama embed + model availability check (/api/tags) + HTTP transport + tests
  • src/embedding.zig: embedder interface + Ollama adapter + tests
  • src/model.zig: core data model for extracted symbols (includes optional metadata fields: symbol_kind, symbol_visibility, symbol_scope, symbol_arity)
  • src/kind.zig: type/category enum for plugins and filters (code/doc/text/log)
  • src/plugin.zig: extractor interface, registry, and tests
  • src/plugins/zig/mod.zig: Zig plugin defaults (language, extensions, ignore globs)
  • src/plugins/elixir/mod.zig: Elixir plugin defaults (language, extensions, ignore globs)
  • src/plugins/c/mod.zig: C plugin defaults (language, extensions, ignore globs)
  • src/plugins/typescript/mod.zig: TypeScript plugin defaults
  • src/plugins/rust/mod.zig: Rust plugin defaults
  • src/plugins/lean/mod.zig: Lean plugin defaults
  • src/plugins/idris/mod.zig: Idris plugin defaults
  • src/plugins/nix/mod.zig: Nix plugin defaults
  • src/plugins/nim/mod.zig: Nim plugin defaults
  • src/plugins/bash/mod.zig: Bash plugin defaults
  • src/plugins/lua/mod.zig: Lua plugin defaults
  • src/plugins/haskell/mod.zig: Haskell plugin defaults
  • src/plugins/markdown/mod.zig: Markdown plugin defaults + README matcher
  • src/plugins/text/mod.zig: Text plugin defaults (.txt)
  • src/plugins/log/mod.zig: Log plugin defaults (.log)
  • src/extract_zig.zig: Zig AST-based extractor + tests
  • src/extract_elixir.zig: Elixir function extractor + tests (lightweight parser)
  • src/extract_c.zig: C extractor using tree-sitter + tests
  • src/extract_typescript.zig: TypeScript/TSX extractor using tree-sitter + tests
  • src/extract_rust.zig: Rust extractor using tree-sitter + tests
  • src/extract_lean.zig: Lean4 extractor using tree-sitter + tests
  • src/extract_idris.zig: Idris2 extractor (line-based fallback) + tests
  • src/extract_nix.zig: Nix extractor using tree-sitter + tests
  • src/extract_nim.zig: Nim extractor using tree-sitter + tests
  • src/extract_bash.zig: Bash extractor using tree-sitter + tests
  • src/extract_lua.zig: Lua extractor using tree-sitter + tests
  • src/extract_haskell.zig: Haskell extractor using tree-sitter + tests
  • src/extract_markdown.zig: Markdown heading-based chunk extractor + tests
  • src/extract_text.zig: Plain text paragraph/line/sentence extractor + tests
  • src/extract_log.zig: Log line extractor + tests
  • src/extract_util.zig: shared helpers for doc comments + line splitting
  • src/scan.zig: file walker + ignore matching (built-in + global + per-language globs, .gitignore parity via git allowlist at repo roots, hard ignore for .git/.jj, node_modules opt-in) + shebang detection for extensionless bash/lua scripts + tests
  • src/indexer.zig: indexing pipeline (scan -> extract -> embed -> store), heuristic symbol metadata enrichment (symbol_kind/symbol_visibility/symbol_scope/symbol_arity), embedding truncation (sentence/line-aware), TTY progress counter, DEBUG progress logs, large-file warnings + tests
  • src/search.zig: vector/lexical/hybrid search + weighted_sum/RRF fusion + lower default score dropoff threshold (0.3) + FTS candidate generation + intent-aware natural-language scoring (lookup/navigation/conceptual), local/generic symbol demotion, duplicate signature diversity penalty, metadata-aware scoring boosts from query cues + tests
  • src/output.zig: human/json output formatting for results (includes symbol metadata fields in JSON payload) + tests
  • src/server.zig: HTTP server with /health, /search, /index endpoints; search weights in request; startup no longer blocks on Ollama model preflight (health/status become available immediately) + tests
  • src/filters.zig: shared parsing + filter logic for ext/lang/type and primary language defaults
  • src/filter.zig: glob-to-regex compiler + PCRE2 matcher for ignore patterns
  • src/pcre2.zig: minimal PCRE2 wrapper used by filter
  • src/mk_test_db.zig: generate tiny sqlite index for CLI/HTTP tests (default embedding dim 1024; override via --embedding-dim)
  • deps/tree-sitter: vendored tree-sitter runtime (C library + headers)
  • deps/tree-sitter-c: vendored tree-sitter C grammar (parser.c)
  • deps/tree-sitter-typescript: vendored tree-sitter TypeScript/TSX grammar
  • deps/tree-sitter-rust: vendored tree-sitter Rust grammar
  • deps/tree-sitter-bash: vendored tree-sitter Bash grammar
  • deps/tree-sitter-lua: vendored tree-sitter Lua grammar
  • deps/tree-sitter-nix: vendored tree-sitter Nix grammar
  • deps/tree-sitter-nim: vendored tree-sitter Nim grammar
  • deps/tree-sitter-lean: vendored tree-sitter Lean grammar
  • deps/tree-sitter-idris2: vendored tree-sitter Idris2 grammar
  • deps/tree-sitter-haskell: vendored tree-sitter Haskell grammar
  • .codescan-fixtures/: gitignored fixture repos for integration tests