crush  by charmbracelet

AI coding agent for your terminal

Created 4 months ago
12,812 stars

Top 3.9% on SourcePulse

GitHubView on GitHub
Project Summary

Crush is an AI coding agent designed for terminal use, enabling users to integrate their preferred LLMs and workflows directly into their command-line environment. It supports multiple LLM providers, preserves context across sessions, and enhances its understanding with Language Server Protocol (LSP) integration, making it a powerful tool for developers seeking AI assistance within their existing terminal setup.

How It Works

Crush acts as an intermediary between the user's terminal and various Large Language Models (LLMs). It leverages OpenAI and Anthropic-compatible APIs to connect with a wide range of models, allowing users to switch between them dynamically while maintaining conversational context. The integration of LSPs provides Crush with deeper code understanding, similar to how developers use them, improving the relevance and accuracy of its suggestions and actions. Its extensibility through Model Context Protocol (MCP) servers further allows for custom data sources and integrations.

Quick Start & Requirements

Installation is available via multiple package managers including Homebrew, NPM, Arch Linux (AUR), Nix, Scoop, and system package managers for Debian/Ubuntu and Fedora/RHEL. Alternatively, it can be installed with go install github.com/charmbracelet/crush@latest. Users will need an API key for their chosen LLM provider (e.g., Anthropic, OpenAI, Groq, OpenRouter) or configure environment variables for supported providers.

Highlighted Details

  • Supports a wide array of LLM providers, including local models via Ollama and LM Studio, and cloud services like AWS Bedrock and Google Vertex AI.
  • Integrates with Language Server Protocols (LSPs) for enhanced code context awareness.
  • Extensible via Model Context Protocol (MCP) servers using stdio, HTTP, and SSE transports.
  • Respects .gitignore and supports a .crushignore file for custom file exclusion.

Maintenance & Community

The project is part of the Charm ecosystem. Community support and discussion are available via Discord and Slack.

Licensing & Compatibility

The project is licensed under FSL-1.1-MIT, which is generally permissive for commercial use and integration with closed-source projects.

Limitations & Caveats

The README warns that increased productivity may lead to users being "nerd sniped." The --yolo flag for skipping permission prompts should be used with extreme caution.

Health Check
Last Commit

21 hours ago

Responsiveness

Inactive

Pull Requests (30d)
118
Issues (30d)
127
Star History
2,931 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.