@@ -224,6 +224,10 @@ Crush’s default model listing is managed in [Catwalk](https://github.com/charm
225## Configuration
225## Configuration
228+> Crush ships with a builtin `crush-config` skill for configuring itself. In
229+> many cases you can simply ask Crush to configure itself.
227Crush runs great with no configuration. That said, if you do need or want to
231Crush runs great with no configuration. That said, if you do need or want to
228customize Crush, configuration can be added either local to the project itself,
232customize Crush, configuration can be added either local to the project itself,
229or globally, with the following priority:
233or globally, with the following priority:
@@ -241,7 +245,8 @@ Configuration itself is stored as a JSON object:
244−As an additional note, Crush also stores ephemeral data, such as application state, in one additional location:
248+As an additional note, Crush also stores ephemeral data, such as application
249+state, in one additional location:
@@ -253,8 +258,9 @@ $HOME/.local/share/crush/crush.json
255> You can override the user and data config locations by setting:
260> You can override the user and data config locations by setting:
256−> * `CRUSH_GLOBAL_CONFIG`
262+> - `CRUSH_GLOBAL_CONFIG`
257−> * `CRUSH_GLOBAL_DATA`
263+> - `CRUSH_GLOBAL_DATA`
@@ -371,16 +377,28 @@ completely hidden from the agent.
372 "$schema": "https://charm.land/crush.json",
378 "$schema": "https://charm.land/crush.json",
373 "options": {
379 "options": {
374− "disabled_tools": [
380+ "disabled_tools": ["bash", "sourcegraph"]
382To disable tools from MCP servers, see the [MCP config section](#mcps).
385To disable tools from MCP servers, see the [MCP config section](#mcps).
389+If you'd like to prevent Crush from using certain skills entirely, you can
390+disable them via the `options.disabled_skills` list. Disabled skills are hidden
391+from the agent, including builtin skills and skills discovered from disk.
395+ "$schema": "https://charm.land/crush.json",
397+ "disabled_skills": ["crush-config"]
384### Agent Skills
402### Agent Skills
386Crush supports the [Agent Skills](https://agentskills.io) open standard for
404Crush supports the [Agent Skills](https://agentskills.io) open standard for
@@ -412,9 +430,9 @@ relative paths:
412 "options": {
430 "options": {
413 "skills_paths": [
431 "skills_paths": [
414 "~/.config/crush/skills", // Windows: "%LOCALAPPDATA%\\crush\\skills",
432 "~/.config/crush/skills", // Windows: "%LOCALAPPDATA%\\crush\\skills",
415− "./project-skills"
433+ "./project-skills",
@@ -446,8 +464,8 @@ focused _and_ your terminal supports reporting the focus state.
447 "$schema": "https://charm.land/crush.json",
465 "$schema": "https://charm.land/crush.json",
448 "options": {
466 "options": {
449− "disable_notifications": false // default
467+ "disable_notifications": false, // default
@@ -496,10 +514,10 @@ it creates. You can customize this behavior with the `attribution` option:
497- `trailer_style`: Controls the attribution trailer added to commit messages
515- `trailer_style`: Controls the attribution trailer added to commit messages
498 (default: `assisted-by`)
516 (default: `assisted-by`)
499− - `assisted-by`: Adds `Assisted-by: [Model Name] via Crush <crush@charm.land>`
517+ - `assisted-by`: Adds `Assisted-by: [Model Name] via Crush <crush@charm.land>`
500− (includes the model name)
518+ (includes the model name)
501− - `co-authored-by`: Adds `Co-Authored-By: Crush <crush@charm.land>`
519+ - `co-authored-by`: Adds `Co-Authored-By: Crush <crush@charm.land>`
502− - `none`: No attribution trailer
520+ - `none`: No attribution trailer
503- `generated_with`: When true (default), adds `💘 Generated with Crush` line to
521- `generated_with`: When true (default), adds `💘 Generated with Crush` line to
504 commit messages and PR descriptions
522 commit messages and PR descriptions
@@ -511,8 +529,9 @@ Anthropic-compatible APIs.
512> Note that we support two "types" for OpenAI. Make sure to choose the right one
530> Note that we support two "types" for OpenAI. Make sure to choose the right one
513> to ensure the best experience!
531> to ensure the best experience!
514−> * `openai` should be used when proxying or routing requests through OpenAI.
533+> - `openai` should be used when proxying or routing requests through OpenAI.
515−> * `openai-compat` should be used when using non-OpenAI providers that have OpenAI-compatible APIs.
534+> - `openai-compat` should be used when using non-OpenAI providers that have OpenAI-compatible APIs.
517#### OpenAI-Compatible APIs
536#### OpenAI-Compatible APIs