--- description: "Complete CLI reference for Code-Graph-RAG commands and Makefile targets." --- # CLI Reference The `cgr` command is the main entry point for Code-Graph-RAG. ## Built-in Help List commands by workflow or show the detailed page for a command: ```bash cgr help cgr help start cgr help daemon logs ``` `cgr COMMAND --help` displays the same command-specific information. ## Core Commands ### `cgr start` Parse a repository and/or start the interactive query CLI. ```bash cgr start --repo-path /path/to/repo [OPTIONS] ``` | Option | Description | |--------|-------------| | `--repo-path` | Path to repository (defaults to current directory) | | `--update-graph` | Parse and ingest the repository into the knowledge graph | | `--clean` | **Destructive.** Delete every project from the shared graph and clear the selected repository's sync cache. With `--update-graph`, rebuild after deletion. Asks for confirmation when other projects would be destroyed. | | `-y`, `--yes` | Answer yes to destructive confirmations, such as the one `--clean` asks. Required when `--clean` runs non-interactively and other projects would be destroyed, or when the existing projects cannot be listed. | | `--batch-size` | Override Memgraph flush batch size | | `--orchestrator` | Specify provider:model for main operations (e.g., `anthropic:claude-sonnet-5`, `google:gemini-3.6-flash`, `ollama:qwen2.5-coder`) | | `--cypher` | Specify provider:model for graph queries (e.g., `anthropic:claude-sonnet-5`, `google:gemini-3.5-flash-lite`, `ollama:qwen2.5-coder`) | | `-o`, `--output` | Write the updated graph to a JSON path. Requires `--update-graph`. | ### `cgr export` Export the knowledge graph to JSON. ```bash cgr export -o my_graph.json ``` ### `cgr optimize` AI-powered codebase optimisation. ```bash cgr optimize --repo-path /path/to/repo [OPTIONS] ``` | Option | Description | |--------|-------------| | `--repo-path` | Path to repository | | `--orchestrator` | Specify provider:model for operations | | `--batch-size` | Override Memgraph flush batch size | | `--reference-document` | Path to reference documentation for guided optimisation | Supported languages: `python`, `javascript`, `typescript`, `rust`, `go`, `java`, `scala`, `c`, `cpp` ### `cgr dead-code` Report functions and methods unreachable from any entry point (candidates for review, not a guaranteed delete list). See [Dead Code Detection](dead-code.md). ```bash cgr dead-code [OPTIONS] ``` | Option | Description | |--------|-------------| | `--project-name`, `-n` | Project to scan. Defaults to the sole indexed project. | | `--entry-point`, `-e` | Treat symbols whose qualified name ends with this value as reachable roots. Repeatable. | | `--decorator-root` | Treat symbols carrying this decorator as roots. Repeatable. | | `--exclude` | Glob matched against a symbol's file path to exclude. Repeatable. | | `--include-tests` / `--no-include-tests` | Treat test code as reachable roots. On by default. | | `--classes` / `--no-classes` | Also report unreachable classes. Off by default. | | `--format` | Output format: `table` (default) or `json`. | | `--output`, `-o` | Write the report to a file instead of stdout. | | `--fail-on-found` | Exit with code 1 when any candidate is found (useful in CI). | ### `cgr mcp-server` Serve cgr tools to MCP clients over stdio or HTTP. ```bash cgr mcp-server ``` ### `cgr index` Index a repository to protobuf for offline use. ```bash cgr index -o ./index-output --repo-path ./my-project ``` ### `cgr doctor` Check that all required dependencies and services are available. ```bash cgr doctor ``` ### `cgr language` Manage language support. ```bash cgr language add-grammar cgr language add-grammar --grammar-url cgr language list-languages cgr language remove-language ``` ## Makefile Commands | Command | Description | |---------|-------------| | `make help` | Show help message | | `make all` | Install everything for full development environment | | `make install` | Install project dependencies with full language support | | `make python` | Install project dependencies for Python only | | `make dev` | Setup development environment (install deps + pre-commit hooks) | | `make test` | Run unit tests only (fast, no Docker) | | `make test-parallel` | Run unit tests in parallel (fast, no Docker) | | `make test-integration` | Run integration tests (requires Docker) | | `make test-all` | Run all tests including integration and e2e (requires Docker) | | `make test-parallel-all` | Run all tests in parallel (requires Docker) | | `make clean` | Clean up build artifacts and cache | | `make build-grammars` | Build grammar submodules | | `make watch` | Watch repository for changes and update graph in real-time | | `make readme` | Regenerate README.md from codebase | | `make lint` | Run ruff check | | `make format` | Run ruff format | | `make typecheck` | Run type checking with ty | | `make check` | Run all checks: lint, typecheck, test | | `make pre-commit` | Run all pre-commit checks locally |