{"id":47314659,"url":"https://github.com/dvcdsys/code-index","last_synced_at":"2026-07-02T17:01:15.662Z","repository":{"id":345049666,"uuid":"1184185044","full_name":"dvcdsys/code-index","owner":"dvcdsys","description":"Semantic code search powered by embeddings. CLI, web dashboard, and AI-agent tooling — search code by meaning, not text. Self-hosted, Go server with embedded llama.cpp.","archived":false,"fork":false,"pushed_at":"2026-07-02T12:16:05.000Z","size":40372,"stargazers_count":23,"open_issues_count":15,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-02T13:12:11.370Z","etag":null,"topics":["agent-tools","ai-agents","claude-code","claude-code-marketplace","claude-code-plugin","cli","code-index","code-navigation","code-search","cuda","developer-tools","embeddings","gguf","golang","llama-cpp","rag","self-hosted","semantic-search","tree-sitter","vector-search"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/dvcdsys/code-index","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvcdsys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-17T10:38:44.000Z","updated_at":"2026-06-24T11:07:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dvcdsys/code-index","commit_stats":null,"previous_names":["dvcdsys/code-index"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/dvcdsys/code-index","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcdsys%2Fcode-index","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcdsys%2Fcode-index/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcdsys%2Fcode-index/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcdsys%2Fcode-index/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvcdsys","download_url":"https://codeload.github.com/dvcdsys/code-index/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcdsys%2Fcode-index/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35055546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-tools","ai-agents","claude-code","claude-code-marketplace","claude-code-plugin","cli","code-index","code-navigation","code-search","cuda","developer-tools","embeddings","gguf","golang","llama-cpp","rag","self-hosted","semantic-search","tree-sitter","vector-search"],"created_at":"2026-03-17T14:07:38.014Z","updated_at":"2026-07-02T17:01:15.656Z","avatar_url":"https://github.com/dvcdsys.png","language":"Go","funding_links":[],"categories":["Source Catalog"],"sub_categories":[],"readme":"[![CI: Server](https://github.com/dvcdsys/code-index/actions/workflows/ci-server.yml/badge.svg)](https://github.com/dvcdsys/code-index/actions/workflows/ci-server.yml)\n[![CI: CLI](https://github.com/dvcdsys/code-index/actions/workflows/ci-cli.yml/badge.svg)](https://github.com/dvcdsys/code-index/actions/workflows/ci-cli.yml)\n[![CodeQL](https://github.com/dvcdsys/code-index/actions/workflows/codeql.yml/badge.svg)](https://github.com/dvcdsys/code-index/actions/workflows/codeql.yml)\n[![Security](https://github.com/dvcdsys/code-index/actions/workflows/security.yml/badge.svg)](https://github.com/dvcdsys/code-index/actions/workflows/security.yml)\n\n```\n ██████╗██╗██╗  ██╗\n██╔════╝██║╚██╗██╔╝\n██║     ██║ ╚███╔╝\n██║     ██║ ██╔██╗\n╚██████╗██║██╔╝ ██╗\n ╚═════╝╚═╝╚═╝  ╚═╝  Code IndeX\n```\n\n[![Release: Server](https://github.com/dvcdsys/code-index/actions/workflows/release-server.yml/badge.svg)](https://github.com/dvcdsys/code-index/actions/workflows/release-server.yml)\n[![Release: CLI](https://github.com/dvcdsys/code-index/actions/workflows/release-cli.yml/badge.svg)](https://github.com/dvcdsys/code-index/actions/workflows/release-cli.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Docker Hub](https://img.shields.io/docker/pulls/dvcdsys/code-index)](https://hub.docker.com/r/dvcdsys/code-index)\n\nSearch your codebase by meaning, not just text. Self-hosted, embeddings-based, works with any agent or terminal — with a full web dashboard and multi-repo workspace search.\n\n```bash\ncix search \"authentication middleware\"\ncix search \"database retry logic\" --in ./api --lang go\ncix symbols \"UserService\" --kind class\n```\n\nOr open `http://localhost:21847/dashboard` in your browser.\n\n\u003e [!IMPORTANT]\n\u003e **Reindex after upgrading the server.** Until the parsing/chunking/embedding\n\u003e pipeline stabilizes, an upgrade can change how code is embedded. A reindex\n\u003e brings every project onto the new pipeline; within a version, search is\n\u003e consistent once reindexed.\n\n---\n\n## Why\n\nGrep and fuzzy file search work fine for small projects. At scale they break down:\n\n- You have to know what a thing is called to find it\n- Results flood with noise from unrelated files\n- Agents waste tokens scanning files that aren't relevant\n\n`cix` indexes your code into a vector store using [CodeRankEmbed](https://huggingface.co/nomic-ai/CodeRankEmbed) — a model purpose-built for code retrieval. Search queries return ranked snippets with file paths and line numbers, not raw file lists.\n\n---\n\n## What you get\n\n- **`cix-server`** — Go HTTP API with embedded llama.cpp sidecar for embeddings, SQLite for symbols + metadata, chromem-go for vectors, FTS5 BM25 mirror for hybrid ranking. Ships as a single distroless container.\n- **Web dashboard** at `/dashboard` — projects, search, users + API keys, runtime sidecar control, drift indicator. Embedded in the server binary. See [`doc/DASHBOARD.md`](doc/DASHBOARD.md).\n- **`cix` CLI** — `cix search`/`symbols`/`files`/`workspace …` for terminal + agent use. See [`doc/CLI_REFERENCE.md`](doc/CLI_REFERENCE.md).\n- **File watcher** — `cix watch` keeps the index fresh as you edit.\n- **Workspaces** — group multiple repos into one named corpus; cix clones them server-side, indexes them, and runs hybrid BM25 + dense search across the union. GitHub webhooks auto-reindex on `push`. See [`workspaces.md`](workspaces.md).\n- **Pluggable embeddings** — local llama.cpp by default; Voyage AI or any OpenAI-compatible endpoint optional. See [Embedding providers](#embedding-providers).\n- **Ownership + view-group sharing** — every project/workspace has an owner; admins share to named groups. Private by default. See [`doc/DASHBOARD.md`](doc/DASHBOARD.md#authorization-model).\n- **Claude Code plugin** — install once and `cix` becomes the agent's default reflex for code search. See [Agent integration](#agent-integration).\n\n---\n\n## Architecture\n\n```\n                  ┌────────────────────────────────────┐\n                  │  Browser  →  http://host:21847     │\n                  │  • /dashboard  • /docs  • /openapi │\n                  └────────────┬───────────────────────┘\n                               ▼\n┌─────────────────────────────────────────────────────────────────┐\n│  cix-server (Go, single distroless binary)                      │\n│  HTTP/REST + cookie sessions + Bearer API keys                  │\n│  ├── auth, admin, api-keys, projects, indexing, search          │\n│  ├── workspaces, github-tokens, webhooks                        │\n│  └── embedded React dashboard + Swagger UI                      │\n│                                                                 │\n│  Indexing pipeline                                              │\n│  ├── tree-sitter/wasm (AST chunking, 30+ langs)  (wazero)       │\n│  ├── embedding provider (local llama.cpp / Voyage / OpenAI)     │\n│  ├── chromem-go (cosine similarity vector store)                │\n│  └── SQLite FTS5 mirror (BM25) + metadata (modernc/sqlite)      │\n└────────────┬─────────────────────────────────────┬──────────────┘\n             │ HTTP                                │ Unix socket\n             ▼                                     ▼\n   cix CLI (Go)                       ┌──────────────────────────┐\n   search · symbols · workspace       │  llama-server child proc │\n                                      └──────────────────────────┘\n```\n\nPure-Go static binary; CUDA-image variants add a CUDA runtime layer for GPU embeddings. Workspace clones live in `\u003cdata-dir\u003e/repos/`.\n\n---\n\n## Quick Start\n\n| Mode | Best for | GPU | Prerequisites |\n|------|----------|-----|---------------|\n| **Docker (CPU)** | any OS, dev / small repos | none | Docker |\n| **Docker (CUDA)** | NVIDIA GPU servers | CUDA 12.x | Docker + NVIDIA Container Toolkit |\n| **Native (macOS)** | Apple Silicon w/ full Metal | Metal | Go 1.25+, Xcode CLT |\n\n### 1. Start the server\n\n```bash\ngit clone https://github.com/dvcdsys/code-index \u0026\u0026 cd code-index\ncp .env.example .env\n# Edit .env — set CIX_API_KEY, CIX_BOOTSTRAP_ADMIN_EMAIL, CIX_BOOTSTRAP_ADMIN_PASSWORD\ndocker compose up -d                              # CPU\n# docker compose -f docker-compose.cuda.yml up -d # NVIDIA GPU\ncurl http://localhost:21847/health                # → {\"status\":\"ok\"}\n```\n\n\u003e [!IMPORTANT]\n\u003e On a fresh database the server **refuses to start** unless both `CIX_BOOTSTRAP_ADMIN_EMAIL` and `CIX_BOOTSTRAP_ADMIN_PASSWORD` are set. The admin is created with `must_change_password=true` — you change it on first login, then can drop the env vars.\n\nFor Apple Silicon with full Metal acceleration, run natively (Docker Desktop has no Metal access) — see [`doc/SETUP_MACOS_NATIVE.md`](doc/SETUP_MACOS_NATIVE.md). For shared/team deployment, see [`doc/TEAM_DEPLOYMENT.md`](doc/TEAM_DEPLOYMENT.md).\n\n### 2. Log in\n\nOpen `http://localhost:21847/dashboard`, sign in with the bootstrap admin, change the password when prompted. ([What's on each page](doc/DASHBOARD.md).)\n\n### 3. Install + configure the CLI\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/dvcdsys/code-index/main/install.sh | bash\ncix config set api.url http://localhost:21847\ncix config set api.key $(grep CIX_API_KEY .env | cut -d= -f2)\n```\n\nFrom source: `cd cli \u0026\u0026 make build \u0026\u0026 make install`. Pre-release `develop` channel: [`doc/UPDATES.md`](doc/UPDATES.md#cli-install-channels).\n\n### 4. Index a project and search\n\n```bash\ncd /path/to/your/project\ncix init                            # registers + indexes + starts the file watcher\ncix status                          # wait for: Status: ✓ Indexed\n\ncix search \"authentication middleware\"\ncix symbols \"handleRequest\" --kind function\ncix summary\n```\n\nFull command surface: [`doc/CLI_REFERENCE.md`](doc/CLI_REFERENCE.md). Same five modes are on the dashboard's **Search** page.\n\n---\n\n## Embedding providers\n\ncix is self-hosted first: out of the box it embeds with a **bundled\nllama.cpp sidecar** and never sends your code anywhere. The backend is\npluggable — switched at runtime from **Dashboard → Server** (admin only).\n\n| Provider | Kind | Default model | Where code goes | API key |\n|---|---|---|---|---|\n| **Local** *(default)* | `ollama` | `awhiteside/CodeRankEmbed-Q8_0-GGUF` | Stays on your machine — bundled `llama-server`, fully offline. GPU via CUDA/Metal. | none |\n| **Voyage AI** | `voyage` | `voyage-code-3` | Sent to `api.voyageai.com`. Code-specialized, retrieval-tuned, Matryoshka dims 256–2048, `int8`. | `CIX_VOYAGE_API_KEY` |\n| **OpenAI / compatible** | `openai` | `text-embedding-3-small` | Sent to the configured `base_url` (OpenAI or any compatible endpoint). | `CIX_OPENAI_API_KEY` |\n\nSet the API-key env var on the **server**, then select the provider + model in\nthe dashboard. Switching providers (or a provider's model/dimensions) changes\nthe embedding space, so cix treats it as a new identity and a **full reindex**\nis required — vectors aren't comparable across providers.\n\n\u003e **Choosing:** **Local** for air-gapped / privacy-sensitive repos and zero\n\u003e per-query cost. **Voyage AI** (`voyage-code-3`) for top-tier code retrieval\n\u003e without hosting a GPU. **OpenAI / compatible** to reuse an existing endpoint\n\u003e or internal gateway.\n\n---\n\n## Agent Integration\n\n`cix` is designed to be called by AI agents (Claude, GPT, Cursor, custom agents) as a shell tool — they run `cix search` instead of Grep/Glob and get ranked snippets rather than raw file dumps.\n\n**Claude Code (plugin, recommended).** Bundles the `cix` + `cix-workspace` skills, the `cix-workspace-investigator` sub-agent, CLI auto-install hooks, and a grep-nudge:\n\n```\n/plugin marketplace add dvcdsys/code-index\n/plugin install cix@code-index\n/reload-plugins\n```\n\nThen invoke the skill **paired with the actual task** (not a search query) — `/cix \u003cfix / implement / investigate / refactor …\u003e`. cix becomes the agent's IDE (goto-def, find-refs, \"what calls this\") while it works. Manual install: `cp -r skills/cix ~/.claude/skills/cix`. For multi-repo work: `/cix-workspace \u003ctask\u003e`. Full hook list + configuration: [`plugins/cix/README.md`](plugins/cix/README.md).\n\n**Claude Desktop \u0026 Cowork (MCP).** These don't load Claude Code plugins, so cix ships a built-in stdio MCP server exposing the same search as `cix_*` tools:\n\n```\ncix mcp install claude-desktop      # restart Claude Desktop; cix_* tools appear\n/plugin install cix-cowork@code-index   # optional: Cowork skills\n```\n\nThe model is server-centric and multi-server (no \"current project\" — the agent names projects/workspaces explicitly). Full guide: [`doc/COWORK_MCP.md`](doc/COWORK_MCP.md).\n\n**Other agents.** Give the agent shell execution and describe the command:\n\n```\nUsage: cix search \"what you're looking for\" [--in ./subdir] [--lang python]\nReturns: ranked code snippets with file paths and line numbers\n```\n\n---\n\n## Configuration\n\nMost common environment variables (full surface in [`doc/CONFIG_REFERENCE.md`](doc/CONFIG_REFERENCE.md); most are runtime-editable from **Dashboard → Server**):\n\n| Variable | Default | Purpose |\n|---|---|---|\n| `CIX_API_KEY` | — | Bearer token for CLI/agents. **Required.** |\n| `CIX_BOOTSTRAP_ADMIN_EMAIL` / `_PASSWORD` | — | Required on a fresh DB; seeds the first admin. |\n| `CIX_PORT` | `21847` | Listen port. |\n| `CIX_EMBEDDING_MODEL` | `awhiteside/CodeRankEmbed-Q8_0-GGUF` | Local GGUF repo or absolute path. |\n| `CIX_N_GPU_LAYERS` | `-1` macOS / `0` else / `99` Docker CUDA | `99` = full offload, `0` = CPU. |\n| `CIX_EMBEDDINGS_ENABLED` | `true` | `false` boots without the llama sidecar. |\n| `CIX_SECRET_KEY` / `_KEYFILE` | auto-generated keyfile | AES-256-GCM key for `github_tokens` encryption. **Back this up.** |\n| `CIX_PUBLIC_URL` | — | Public origin for webhook URLs. Trumped by a live Managed Tunnel. |\n\nThe REST surface (auth, users, projects, indexing, search, workspaces, webhooks) is documented at `http://\u003chost\u003e:21847/docs` (Swagger UI) and in [`doc/openapi.yaml`](doc/openapi.yaml) — the single source of truth the Go interface and TypeScript types are generated from.\n\n---\n\n## Deploying \u0026 operating\n\n- **Team / production deployment** — topology, volumes, UID/permissions, TLS, backups, upgrades: [`doc/TEAM_DEPLOYMENT.md`](doc/TEAM_DEPLOYMENT.md).\n- **GPU (CUDA)** — host requirements, VRAM footprint, image base: [`doc/DOCKER_TAGS.md`](doc/DOCKER_TAGS.md), [`doc/vram-profiling.md`](doc/vram-profiling.md). Inference runs on GPU automatically with the `cu128` image.\n- **Security hardening** — trusted-proxy posture, rate limits, body-size caps, what cix deliberately doesn't do: [`doc/SECURITY_DEPLOYMENT.md`](doc/SECURITY_DEPLOYMENT.md).\n- **Releases** — tagging, CVE scans, Scout workflow, make targets: [`doc/RELEASES.md`](doc/RELEASES.md).\n- **Troubleshooting** — common errors + search tuning: [`doc/TROUBLESHOOTING.md`](doc/TROUBLESHOOTING.md).\n\nPre-built images on Docker Hub:\n\n| Tag | Architecture | Use case |\n|-----|-------------|----------|\n| `dvcdsys/code-index:latest` | linux/amd64 + linux/arm64 | CPU |\n| `dvcdsys/code-index:cu128` | linux/amd64 | NVIDIA GPU (CUDA 12.8) |\n| `dvcdsys/code-index:\u003cversion\u003e` / `\u003cversion\u003e-cu128` | — | Version-pinned variants |\n\n```bash\ndocker compose logs -f          # tail logs\ndocker compose down             # stop\ndocker compose down -v          # stop AND wipe data + models (destructive)\n```\n\n---\n\n## Documentation map\n\n| Doc | Purpose |\n|---|---|\n| [`doc/CLI_REFERENCE.md`](doc/CLI_REFERENCE.md) | Full CLI command surface + per-project config (`.cixignore`, `.cixconfig.yaml`) |\n| [`doc/DASHBOARD.md`](doc/DASHBOARD.md) | Dashboard pages, authentication, authorization model, drift indicator |\n| [`doc/TEAM_DEPLOYMENT.md`](doc/TEAM_DEPLOYMENT.md) | Self-hosting cix for a team — production / shared-infrastructure deployment for DevOps |\n| [`doc/TROUBLESHOOTING.md`](doc/TROUBLESHOOTING.md) | Common issues + search-quality tuning (`--min-score`) |\n| [`workspaces.md`](workspaces.md) | User-facing workspace guide (when to use, agent trust rules, query patterns) |\n| [`doc/WORKSPACES.md`](doc/WORKSPACES.md) | Operator setup (encryption keys, Cloudflare tunnel, workers, REST API) |\n| [`doc/SEARCH_ALGORITHM.md`](doc/SEARCH_ALGORITHM.md) | How per-project + hybrid workspace search rank results |\n| [`doc/WEBHOOKS.md`](doc/WEBHOOKS.md) | GitHub webhook lifecycle, modes, HMAC validation |\n| [`doc/COWORK_MCP.md`](doc/COWORK_MCP.md) | Using cix from Claude Desktop / Cowork over MCP (`cix mcp install`, multi-server) |\n| [`doc/UPDATES.md`](doc/UPDATES.md) | Release-poll banner + stable vs develop install channels |\n| [`doc/CONFIG_REFERENCE.md`](doc/CONFIG_REFERENCE.md) | Complete env-var reference |\n| [`doc/RELEASES.md`](doc/RELEASES.md) | Cutting CLI + server releases, CVE scans, make targets |\n| [`doc/SETUP_MACOS_NATIVE.md`](doc/SETUP_MACOS_NATIVE.md) | Native macOS Metal setup + launchd plist |\n| [`doc/SECURITY_DEPLOYMENT.md`](doc/SECURITY_DEPLOYMENT.md) | Production hardening |\n| [`doc/DOCKER_TAGS.md`](doc/DOCKER_TAGS.md) | Docker Hub tag lifecycle |\n| [`doc/LANGUAGES.md`](doc/LANGUAGES.md) | Supported chunker languages |\n| [`doc/MIGRATION_FROM_PYTHON.md`](doc/MIGRATION_FROM_PYTHON.md) | Python → Go server migration notes |\n| [`doc/benchmarks.md`](doc/benchmarks.md) | Index of dated benchmark snapshots |\n| [`doc/openapi.yaml`](doc/openapi.yaml) | REST API source of truth |\n| [`CONTRIBUTING.md`](CONTRIBUTING.md) | Contributor workflow |\n| [`plugins/cix/README.md`](plugins/cix/README.md) | Claude Code plugin reference |\n| [`plugins/cix-cowork/README.md`](plugins/cix-cowork/README.md) | Cowork skills plugin (MCP-based) reference |\n\n---\n\n## Acknowledgements\n\ncix stands on a lot of excellent open-source work. Thank you to the\nprojects and teams that make it possible:\n\n**Embeddings \u0026 models**\n- [llama.cpp](https://github.com/ggml-org/llama.cpp) — the `llama-server`\n  sidecar that runs embeddings locally on CPU/GPU.\n- [CodeRankEmbed](https://huggingface.co/nomic-ai/CodeRankEmbed) by\n  Nomic AI — the default code-retrieval embedding model — and\n  [awhiteside/CodeRankEmbed-Q8_0-GGUF](https://huggingface.co/awhiteside/CodeRankEmbed-Q8_0-GGUF)\n  for the GGUF quantization cix ships with.\n- [Voyage AI](https://www.voyageai.com/) — `voyage-code-3` and the\n  code-specialized embedding API, supported as a first-class provider.\n- [OpenAI](https://platform.openai.com/docs/guides/embeddings) — the\n  `text-embedding-3` family and the OpenAI-compatible provider shape.\n\n**Indexing \u0026 storage**\n- [tree-sitter](https://tree-sitter.github.io/tree-sitter/) — AST-aware\n  chunking across 30+ languages, run via\n  [wazero](https://github.com/tetratelabs/wazero) (pure-Go WASM runtime).\n- [gotreesitter](https://github.com/odvcencio/gotreesitter) — the Go\n  tree-sitter binding cix's AST chunking first grew from; thank you for the\n  head start.\n- [chromem-go](https://github.com/philippgille/chromem-go) — the\n  embedded cosine-similarity vector store.\n- [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) — cgo-free\n  SQLite for project metadata, symbols, and the FTS5/BM25 mirror.\n- [go-git](https://github.com/go-git/go-git) — server-side repository\n  cloning for workspaces.\n\n**Server \u0026 API**\n- [chi](https://github.com/go-chi/chi) — HTTP router.\n- [kin-openapi](https://github.com/getkin/kin-openapi) +\n  [oapi-codegen](https://github.com/oapi-codegen/oapi-codegen) —\n  OpenAPI-as-source-of-truth codegen for the Go interface and TypeScript\n  dashboard types.\n- [brotli](https://github.com/andybalholm/brotli) and the\n  [Go](https://go.dev/) standard library and `golang.org/x` ecosystem.\n\n**CLI**\n- [Cobra](https://github.com/spf13/cobra) — the command framework behind\n  every `cix` subcommand.\n- [Charm](https://charm.sh/) — [Bubble Tea](https://github.com/charmbracelet/bubbletea),\n  [Bubbles](https://github.com/charmbracelet/bubbles), and\n  [Lip Gloss](https://github.com/charmbracelet/lipgloss) power the\n  interactive `cix config` TUI.\n- [MCP Go SDK](https://github.com/modelcontextprotocol/go-sdk) — the Model\n  Context Protocol server that exposes cix to Claude Desktop \u0026 Cowork.\n- [notify](https://github.com/rjeczalik/notify) — cross-platform filesystem\n  watching for the index-on-change watcher.\n- [koanf](https://github.com/knadh/koanf) — layered configuration\n  (flags → env → `~/.cix/config.yaml`).\n\n**Dashboard (web UI)**\n- [React](https://react.dev/) + [Vite](https://vitejs.dev/) — the embedded\n  dashboard served at `/dashboard`.\n- [Radix UI](https://www.radix-ui.com/) + [Tailwind CSS](https://tailwindcss.com/)\n  — accessible component primitives and styling (the shadcn/ui pattern).\n- [TanStack Query](https://tanstack.com/query) — server-state and data\n  fetching.\n- [openapi-typescript](https://github.com/openapi-ts/openapi-typescript) —\n  generates the dashboard's API types from the OpenAPI spec.\n- [lucide](https://lucide.dev/) and [sonner](https://github.com/emilkowalski/sonner)\n  — icons and toast notifications.\n\nFull dependency lists with versions live in\n[`server/go.mod`](server/go.mod), [`cli/go.mod`](cli/go.mod), and\n[`server/dashboard/package.json`](server/dashboard/package.json).\n\n---\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvcdsys%2Fcode-index","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvcdsys%2Fcode-index","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvcdsys%2Fcode-index/lists"}