SKILL.md


name: crush-config description: Configure Crush settings including providers, LSPs, MCPs, skills, permissions, and behavior options. Use when the user needs help with crush.json configuration, setting up providers, configuring LSPs, adding MCP servers, or changing Crush behavior.

Crush Configuration

Crush uses JSON configuration files with the following priority (highest to lowest):

  1. .crush.json (project-local, hidden)
  2. crush.json (project-local)
  3. $XDG_CONFIG_HOME/crush/crush.json or $HOME/.config/crush/crush.json (global)

Basic Structure

{
  "$schema": "https://charm.land/crush.json",
  "options": {}
}

The $schema property enables IDE autocomplete but is optional.

Common Configurations

Project-Local Skills

Add a relative path to keep project-specific skills alongside your code:

{
  "options": {
    "skills_paths": ["./skills"]
  }
}

[!IMPORTANT] Keep in mind that the following paths are loaded by default, so they DO NOT NEED to be added to skill_paths:

  • .agents/skills
  • .crush/skills
  • .claude/skills
  • .cursor/skills

LSP Configuration

{
  "lsp": {
    "go": {
      "command": "gopls",
      "env": {
        "GOTOOLCHAIN": "go1.24.5"
      }
    },
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"]
    }
  }
}

MCP Servers

{
  "mcp": {
    "filesystem": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/mcp-server.js"]
    },
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer $GH_PAT"
      }
    }
  }
}

Custom Provider

{
  "providers": {
    "deepseek": {
      "type": "openai-compat",
      "base_url": "https://api.deepseek.com/v1",
      "api_key": "$DEEPSEEK_API_KEY",
      "models": [
        {
          "id": "deepseek-chat",
          "name": "Deepseek V3",
          "context_window": 64000
        }
      ]
    }
  }
}

Tool Permissions

{
  "permissions": {
    "allowed_tools": ["view", "ls", "grep", "edit"]
  }
}

Disable Built-in Tools

{
  "options": {
    "disabled_tools": ["bash", "sourcegraph"]
  }
}

Disable Skills

{
  "options": {
    "disabled_skills": ["crush-config"]
  }
}

disabled_skills disables skills by name, including both builtin skills and skills discovered from disk paths.

Debug Options

{
  "options": {
    "debug": true,
    "debug_lsp": true
  }
}

Attribution Settings

{
  "options": {
    "attribution": {
      "trailer_style": "assisted-by",
      "generated_with": true
    }
  }
}

Environment Variables

  • CRUSH_GLOBAL_CONFIG - Override global config location
  • CRUSH_GLOBAL_DATA - Override data directory location
  • CRUSH_SKILLS_DIR - Override default skills directory

Provider Types

  • openai - For OpenAI or OpenAI-compatible APIs that route through OpenAI
  • openai-compat - For non-OpenAI providers with OpenAI-compatible APIs
  • anthropic - For Anthropic-compatible APIs