3.4 KiB
ccc Management
Installation
Install CocoIndex Code via pipx. Two install styles:
pipx install 'cocoindex-code[full]' # batteries included (local embeddings via sentence-transformers)
pipx install cocoindex-code # slim (LiteLLM-only; requires a cloud embedding provider + API key)
The [full] extra pulls in sentence-transformers so the first-run default (local embeddings, no API key) works out of the box. The slim install is for environments where you don't want the torch/transformers deps and plan to use a LiteLLM-supported cloud provider instead.
To upgrade to the latest version:
pipx upgrade cocoindex-code
After installation, the ccc command is available globally.
Project Initialization
Run from the root directory of the project to index:
ccc init
First run (global settings don't exist yet) — ccc init prompts interactively for the embedding provider (sentence-transformers / litellm) and model, then runs a one-off test embed via the daemon to confirm the model works. Accept the defaults for the sentence-transformers path, or pick litellm and enter a model identifier.
Subsequent runs (global settings already exist) — prompts are skipped; only project settings and .gitignore are set up.
To skip the interactive prompts on the first run (e.g. in a script or container), pass --litellm-model MODEL:
ccc init --litellm-model openai/text-embedding-3-small
This is also the only way to pick a LiteLLM model when stdin isn't a TTY and you've done a slim install.
ccc init creates:
~/.cocoindex_code/global_settings.yml(user-level, embedding config + env vars)..cocoindex_code/settings.yml(project-level, include/exclude patterns).
If .git exists in the directory, .cocoindex_code/ is automatically added to .gitignore.
Use -f to skip the confirmation prompt if ccc init detects a potential parent project root.
After initialization, edit the settings files if needed (see settings.md for format details), then run ccc index to build the initial index. If the model test printed [FAIL] during init, edit global_settings.yml (and optionally add API keys under the commented envs: block) and verify with ccc doctor before indexing.
Troubleshooting
Diagnostics
Run ccc doctor to check system health end-to-end:
ccc doctor
This checks global settings, daemon status, embedding model (runs a test embedding), and — if run from within a project — file matching (walks files using the same logic as the indexer) and index status. Results stream incrementally. Always points to daemon.log at the end for further investigation.
Checking Project Status
To view the current project's index status:
ccc status
This shows whether indexing is ongoing and index statistics.
Daemon Management
The daemon starts automatically on first use. To check its status:
ccc daemon status
This shows whether the daemon is running, its version, uptime, and loaded projects.
To restart the daemon (useful if it gets into a bad state):
ccc daemon restart
To stop the daemon:
ccc daemon stop
Cleanup
To reset a project's index (removes databases, keeps settings):
ccc reset
To fully remove all CocoIndex Code data for a project (including settings):
ccc reset --all
Both commands prompt for confirmation. Use -f to skip.