Configuration
Context Chain is configured through ckg.config.json in the project root. See ckg.config.example.json for a starting point.
Example
json
{
"project": "my-project",
"ai": { "provider": "claude-cli" },
"analysis": {
"summaryWords": 30,
"contentWords": 150
},
"repos": [
{
"name": "my-service",
"path": "/absolute/path/to/repo",
"type": "backend",
"cpgFile": "data/my-service.json",
"packages": ["@myorg/shared"]
}
]
}Top-Level Fields
project
Type: string — Required
A name for this Context Chain project.
ai
Type: object — Required
| Field | Type | Description |
|---|---|---|
provider | string | "claude-cli" (subscription, no cost) or "anthropic-api" (direct API). |
apiKey | string | Required if provider is anthropic-api. Can also be set in the Dashboard. |
model | string | Model to use with anthropic-api. Defaults to claude-sonnet-4-20250514. |
TIP
claude-cli uses claude -p from your Claude Max subscription — no API costs and doesn't eat your daytime quota. Recommended for most users.
analysis
Type: object — Optional
| Field | Type | Default | Description |
|---|---|---|---|
summaryWords | number | 30 | Target word count for decision summaries |
contentWords | number | 150 | Target word count for full decision content |
Repo Configuration
repos
Type: array — Required
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Repository identifier. |
path | string | Yes | Absolute path to the repo on your machine. |
type | string | No | Label: "frontend", "backend", "shared-lib", "infra". Informational only. |
cpgFile | string | Yes | Relative path for Joern CPG JSON output. |
language | string | No | Primary language: "javascript", "typescript", "python", "java". |
srcDir | string | No | Subdirectory containing source code (e.g., "src"). |
packages | string[] | No | NPM package names this repo publishes. Used for cross-repo dependency detection. |
skipEdgeFunctions | boolean | No | Skip small utility functions during analysis. Reduces noise for large repos. |
Environment Variables
| Variable | Default | Description |
|---|---|---|
CKG_MEMGRAPH_PORT | 7687 | Memgraph bolt protocol port |
DASHBOARD_PORT | 3001 | Dashboard web server port |
Useful for the dogfooding setup where you run two isolated instances.
WARNING
ckg.config.json contains machine-specific absolute paths. Add it to .gitignore.