This is an early release preview. You may encounter bugs.
Cocoindex Code logo
Unclaimed

Tool coding

Cocoindex Code

CocoIndex Code helps coding agents look up the right code before they start opening files. It builds a local AST-aware s

A 84/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
No votes yet

01 / About

What Cocoindex Code is.

CocoIndex Code is a semantic code-search tool for a codebase, exposed as the ccc command-line interface and as an MCP server. It chunks source by abstract syntax tree rather than by fixed line windows, so a query returns whole functions and classes with file path, language, line numbers, and a similarity score. The stated aim is to let a coding agent find relevant code by meaning before it starts opening files, with a documented token saving of about 70%.

Indexing is built on CocoIndex, a Rust data-transformation engine, and runs through a background daemon that starts on first use. ccc index builds or updates the index and auto-initialises a new project; ccc search queries it, scoped by default to the current working directory and filterable by language, path glob, and pagination. ccc grep is a separate structural search that matches a by-example pattern against the syntax tree with no index, daemon, or embeddings, using \NAME-style metavariables so whitespace and intervening tokens do not matter.

Two install profiles decide where embeddings come from. The full package pulls in sentence-transformers so embeddings run locally with no API key, defaulting to Snowflake arctic-embed-xs; the slim package uses LiteLLM only and needs a cloud embedding provider and key. The same split exists as Docker images, roughly 450 MB for the slim tag and 5 GB for the full tag, with a persistent-container setup that keeps the daemon and embedding model warm across sessions.

For agent use, the repository is a plugin marketplace consumed by Claude Code and Grok, shipping a ccc skill, session-start and post-edit hooks that re-index incrementally, and a stdio MCP server. Oh My Pi reads the same marketplace with a TypeScript extension in place of command hooks. The MCP path is also configurable directly for Codex, OpenCode, and Kilo Code, exposing one search tool with query, limit, offset, refresh, language, and path arguments. Settings live in YAML files, and anonymous usage telemetry can be disabled with an environment variable.

Features

  • AST-based chunking: code is split along syntax-tree boundaries so results are whole functions and classes rather than arbitrary line spans
  • Semantic search: ccc search matches by meaning, with language, path-glob, offset, and limit filters and an optional refresh before querying
  • Structural search: ccc grep matches by-example patterns against the syntax tree locally, with no index or embeddings required
  • Incremental indexing: only changed files are reprocessed, driven by a background daemon and optional editor hooks
  • Local or cloud embeddings: the full install runs sentence-transformers locally; the slim install routes through LiteLLM to a cloud provider
  • Agent integrations: a plugin marketplace for Claude Code, Grok, and Oh My Pi, plus manual MCP setup for Codex, OpenCode, and Kilo Code
  • MCP server: ccc mcp runs a stdio server exposing a search tool that returns code chunks with paths, line numbers, and scores
  • Diagnostics: ccc status, ccc doctor, and ccc daemon subcommands report index stats, settings health, and daemon state
  • Docker images: slim and full variants for a reproducible setup with no host Python or system dependencies
  • Telemetry opt-out: anonymous usage events can be turned off with COCOINDEXDISABLEUSAGE_TRACKING

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with Cocoindex Code.

Browse the catalogue for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Cocoindex Code →

Browse the catalogue