Comparing main...rust · cocoindex-io/cocoindex-code · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cocoindex-io/cocoindex-code
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: cocoindex-io/cocoindex-code
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: rust
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 22 files changed
  • 2 contributors

Commits on Jun 22, 2026

  1. Add Rust port of cocoindex-code (ccc)

    Feature-parity Rust implementation of the Python `ccc` CLI on the CocoIndex
    Rust SDK: daemon/client over a Unix socket (length-prefixed msgpack), MCP
    stdio server, fastembed local embeddings, sqlite-vec (vec0) storage,
    tree-sitter chunking, and gitignore-aware walking.
    
    Includes fixes from a deep review:
    - daemon: fix lost-wakeup in wait_for_indexing_done (enable the Notified future
      before the flag check); bind before claiming the PID file and refuse to
      clobber a live daemon's socket; drain in-flight connections on shutdown.
    - query: clamp negative limit/offset (avoid as-usize wrap / unbounded LIMIT).
    - protocol: cap inbound frame size before allocating.
    - mcp: reply to unknown JSON-RPC methods with -32601 instead of hanging the
      client; reject an empty `query`.
    - main: `reset --all` uses remove_dir_all (SQLite -wal/-shm sidecars);
      POSIX-separated GLOB path for cross-platform matching.
    - db: WAL + busy_timeout so the read-only query pool reads concurrently with
      the indexer.
    
    Verified: cargo test + 67 e2e checks (tests/e2e_cli.sh, tests/e2e_advanced.sh).
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    badmonster0 and claude committed Jun 22, 2026
    Configuration menu
    Copy the full SHA
    1649b5e View commit details
    Browse the repository at this point in the history
  2. docs(rust): user-facing README for the Rust ccc build (#197)

    * docs(rust): document how the port uses the CocoIndex Rust SDK
    
    Add a "How it uses the CocoIndex Rust SDK" section to rust/PORTING.md — a
    code-grounded walkthrough of the SDK API the port exercises (Environment/App/run,
    ContextKey DI + change detection, #[cocoindex::function] memoization, walk_dir +
    mount_each!, the sqlite/vec0 table target + declare_row, and the sqlite-vec
    from_pool gotcha). Snippets cite live file:line anchors so the doc stays
    verifiable against the source.
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    
    * docs(rust): make it a standalone Rust README (drop Python framing)
    
    Rename rust/PORTING.md -> rust/README.md and rewrite as a Rust-only usage doc:
    drop the Python->Rust module map, the parity audit, the Python backward-compat
    section, and the "vs Python" deltas. Keep build/run, architecture, the
    "How it uses the CocoIndex Rust SDK" walkthrough, CLI commands, configuration,
    testing, and a plain limitations/follow-ups list. Update the e2e fixture that
    copies the doc as a sample markdown file.
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    
    * docs(rust): rewrite README as a user guide (install / CLI / MCP / config)
    
    Drop the SDK-internals walkthrough. The Rust README now mirrors the main
    cocoindex-code README's user-facing structure — Install (build from source),
    Quick start, Coding Agent Integration (Skill + MCP), CLI Reference, Search
    options, MCP tool reference, Configuration (user/project settings), Supported
    languages, and a short "Differences from the Python build" note (local-only
    embeddings; no custom Python chunkers).
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
    badmonster0 and claude authored Jun 22, 2026
    Configuration menu
    Copy the full SHA
    6529a56 View commit details
    Browse the repository at this point in the history
Loading