@@ -16,75 +16,47 @@ Crush uses JSON configuration files with the following priority (highest to lowe
18 "$schema": "https://charm.land/crush.json",
18 "$schema": "https://charm.land/crush.json",
19− "options": {}
23+ "options": {},
23The `$schema` property enables IDE autocomplete but is optional.
29The `$schema` property enables IDE autocomplete but is optional.
25−## Common Configurations
31+## Common Tasks
27−### Project-Local Skills
33+- Add a custom provider: add an entry under `providers` with `type`, `base_url`, `api_key`, and `models`.
34+- Disable a builtin or local skill: add the skill name to `options.disabled_skills`.
35+- Add an MCP server: add an entry under `mcp` with `type` and either `command` (stdio) or `url` (http/sse).
29−Add a relative path to keep project-specific skills alongside your code:
37+## Model Selection
33− "options": {
41+ "models": {
34− "skills_paths": ["./skills"]
42+ "large": {
35− }
43+ "model": "claude-sonnet-4-20250514",
36−}
44+ "provider": "anthropic",
37−```
45+ "max_tokens": 16384
40−> Keep in mind that the following paths are loaded by default, so they DO NOT NEED to be added to `skill_paths`:
55− "GOTOOLCHAIN": "go1.24.5"
58− "typescript": {
47+ "small": {
59− "command": "typescript-language-server",
48+ "model": "claude-haiku-4-20250514",
60− "args": ["--stdio"]
49+ "provider": "anthropic"
66−### MCP Servers
55+- `large` is the primary coding model; `small` is for summarization.
56+- Only `model` and `provider` are required.
57+- Optional tuning: `reasoning_effort`, `think`, `max_tokens`, `temperature`, `top_p`, `top_k`, `frequency_penalty`, `presence_penalty`, `provider_options`.
74− "args": ["/path/to/mcp-server.js"]
78− "url": "https://api.githubcopilot.com/mcp/",
80− "Authorization": "Bearer $GH_PAT"
87−### Custom Provider
59+## Custom Providers
@@ -105,59 +77,90 @@ Add a relative path to keep project-specific skills alongside your code:
108−### Tool Permissions
80+- `type` (required): `openai`, `openai-compat`, or `anthropic`
81+- `api_key` supports `$ENV_VAR` syntax.
82+- Additional fields: `disable`, `system_prompt_prefix`, `extra_headers`, `extra_body`, `provider_options`.
110−```json
84+## LSP Configuration
113− "allowed_tools": ["view", "ls", "grep", "edit"]
118−### Disable Built-in Tools
122− "options": {
88+ "lsp": {
123− "disabled_tools": ["bash", "sourcegraph"]
89+ "go": {
91+ "env": { "GOTOOLCHAIN": "go1.24.5" }
94+ "command": "typescript-language-server",
128−### Disable Skills
101+- `command` (required), `args`, `env` cover most setups.
102+- Additional fields: `disabled`, `filetypes`, `root_markers`, `init_options`, `options`, `timeout`.
132− "options": {
108+ "mcp": {
133− "disabled_skills": ["crush-config"]
109+ "filesystem": {
112+ "args": ["/path/to/mcp-server.js"]
116+ "url": "https://api.githubcopilot.com/mcp/",
118+ "Authorization": "Bearer $GH_PAT"
138−`disabled_skills` disables skills by name, including both builtin skills and
125+- `type` (required): `stdio`, `sse`, or `http`
139−skills discovered from disk paths.
126+- Additional fields: `env`, `disabled`, `disabled_tools`, `timeout`.
141−### Debug Options
128+## Options
145 "options": {
132 "options": {
133+ "skills_paths": ["./skills"],
134+ "disabled_tools": ["bash", "sourcegraph"],
135+ "disabled_skills": ["crush-config"],
137+ "compact_mode": false,
138+ "diff_mode": "unified",
139+ "transparent": false
146− "debug": true,
142+ "debug": false,
147− "debug_lsp": true
143+ "debug_lsp": false,
145+ "trailer_style": "assisted-by",
146+ "generated_with": true
152−### Attribution Settings
152+> [!IMPORTANT]
153+> The following skill paths are loaded by default and DO NOT NEED to be added to `skills_paths`:
154+> `.agents/skills`, `.crush/skills`, `.claude/skills`, `.cursor/skills`
156+Other options: `context_paths`, `progress`, `disable_notifications`, `disable_auto_summarize`, `disable_metrics`, `disable_provider_auto_update`, `disable_default_providers`, `data_directory`, `initialize_as`.
156− "options": {
162+ "permissions": {
157− "attribution": {
163+ "allowed_tools": ["view", "ls", "grep", "edit"]
158− "trailer_style": "assisted-by",
159− "generated_with": true
@@ -167,9 +170,3 @@ skills discovered from disk paths.
167- `CRUSH_GLOBAL_CONFIG` - Override global config location
170- `CRUSH_GLOBAL_CONFIG` - Override global config location
168- `CRUSH_GLOBAL_DATA` - Override data directory location
171- `CRUSH_GLOBAL_DATA` - Override data directory location
169- `CRUSH_SKILLS_DIR` - Override default skills directory
172- `CRUSH_SKILLS_DIR` - Override default skills directory
173−- `openai` - For OpenAI or OpenAI-compatible APIs that route through OpenAI
174−- `openai-compat` - For non-OpenAI providers with OpenAI-compatible APIs
175−- `anthropic` - For Anthropic-compatible APIs