charmbracelet/crush

Glamourous agentic coding for all 💘

Crush とは?

Crush は、Charm bracelet エコシステムのターミナルベースの AI コーディングアシスタントです。シェルから直接大規模言語モデル (LLM) とチャットでき、すでに使用しているツール(エディタ、言語サーバープロトコル (LSP) サーバー、バージョン管理、カスタムの「Model Context Protocol」(MCP) サービス)と緊密に統合されます。つまり、コマンドラインを、コードの実行、情報の取得、外部ツールの呼び出しができるインタラクティブなコーディングパートナーに変えます。これらはすべて、選択した LLM によって駆動されます。


主な機能

機能 説明
マルチモデルサポート OpenAI 互換、Anthropic 互換、その他のプロバイダー(例:OpenAI、Gemini、Claude、Ollama、Hyper)に接続し、会話コンテキストを維持しながらモデルをその場で切り替えられます。
セッションベースのワークフロー プロジェクトごとに個別のチャットセッションを保持し、それらを切り替えたり、複数のターミナルウィンドウ間でセッションを共有したりできます。
LSP で強化されたコンテキスト 言語サーバープロトコルサーバー(例:gopls、nil、typescript-language-server)をロードして、アシスタントが型情報、診断、その他の言語固有のデータを参照できるようにします。
MCP による拡張 stdio、http、sse の 3 つのトランスポートタイプを介してカスタムツールバックエンドを追加し、アシスタントが任意のサービス(GitHub、Linear、カスタムスクリプトなど)を呼び出せるようにします。
crushrc で設定可能 Bash スタイルの設定ファイルで、プロバイダー、モデル、LSP、MCP、権限を宣言でき、起動時にシェルコマンドを実行することもできます。
テーマと UI 組み込みの TUI テーマ(例:Charmtone Pantera、Gruvbox Dark)をライブで切り替えたり、JSON テーマファイルで編集したりできます。
クロスプラットフォーム macOS、Linux、Windows (PowerShell/WSL)、FreeBSD、OpenBSD、NetBSD、さらには illumos/Solaris 用のプリビルドバイナリを提供します。
ワークスペース共有 同じ作業ディレクトリを指す複数のターミナルインスタンスが自動的に共有ワークスペースに参加し、セッション、履歴、ツール状態を同期します。

クイックスタート

  1. インストール – お好みのパッケージマネージャー(Homebrew、NPM、Arch AUR、Nix、Debian/Ubuntu apt リポジトリ、Fedora/YUM、Winget、Scoop など)または go install github.com/charmbracelet/crush@latest を使用します。
  2. モデルを選択 – Ctrl + L を押してモデルピッカーを開き、プロバイダー(例:組み込みの Hyper サービスまたは任意の OpenAI 互換 API)を選択し、API キーを貼り付けます(または OPENAI_API_KEY などの対応する環境変数を設定します)。
  3. セッションを開始 – プロジェクトディレクトリで crush を実行します。TUI が開きます。自然言語のプロンプトを入力したり、コード生成を依頼したり、アシスタントにコマンドの実行を依頼したり、設定済みの MCP ツールを呼び出したりできます。
  4. 追加コンテキストを追加 – オプションで、crushrc ファイルに LSP サーバーを追加(lsp add go --command "gopls")したり、カスタム MCP サービスを登録(mcp add github --type http --url https://api.github.com/mcp/)したりできます。

設定のハイライト

  • crushrc – Bash 互換のスクリプトで、provider add …、model add …、lsp add …、mcp add …、権限の設定ができます。プロジェクトディレクトリからロードされ(./.crushrc → ./crushrc → ~/.config/crush/crushrc)、最初に存在するファイルが優先されます。
  • 環境変数 – API キー(OPENAI_API_KEY、ANTHROPIC_API_KEY、HYPER_API_KEY など)を事前に入力して、モデルピッカーを事前に埋めることができます。
  • テーマ – コマンドパレット(Ctrl + P → Themes)または JSON 設定の options.tui.active_theme を設定して変更します。
  • グローバルプロンプト – 2 つのオプションの Markdown ファイル(~/.config/crush/CRUSH.md と ~/.config/AGENTS.md)がシステムプロンプトに自動的に注入され、個人のルールや共有指示を定義できます。

誰が恩恵を受けるか?

  • 開発者 – ターミナルで多くの時間を過ごし、シェルから離れずに AI アシスタントを利用したい方。
  • チーム – macOS、Linux、Windows ワークステーションで一貫した設定可能な AI ツールが必要な方。
  • パワーユーザー – MCP を介してカスタムサービス(課題トラッカー、CI パイプライン、コードレビューボット)を AI ワークフローにフックしたい方。

詳細情報は?

  • リリースページ – バイナリダウンロードと変更ログ:https://github.com/charmbracelet/crush/releases
  • モデルカタログ – コミュニティ保守の互換モデルリスト:https://github.com/charmbracelet/catwalk
  • ドキュメント – 詳細な設定、フック、MCP ガイドはリポジトリの docs/ にあります。
  • コミュニティ – Charm Slack または Discord(README にリンク)に参加して、ヘルプやカスタム設定の共有を行ってください。

TL;DR

Crush は、主要な LLM と連携し、言語サーバーデータを統合し、カスタムツールバックエンドをサポートし、複数のターミナルウィンドウ間で共有できる、フル機能のターミナルネイティブな AI コーディングコンパニオンです。パッケージマネージャーでインストールし、crushrc(または環境変数)でプロバイダーを設定し、コマンドラインから直接コードとチャットを始めましょう。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト