- Sebagai AI coding agent untuk terminal, terintegrasi dengan berbagai LLM (model bahasa besar) untuk meningkatkan produktivitas kode lewat penulisan kode, otomatisasi alur kerja, dan pemeliharaan konteks kode
- Mendukung pemilihan banyak model atau pergantian model secara bebas di tengah sesi, serta mempertahankan sesi/konteks per proyek
- Menyediakan fitur ramah pengembang seperti integrasi LSP (Language Server Protocol), dukungan MCP (Model Context Protocol) yang dapat diperluas, pengecualian file via
.gitignore dan file ignore khusus
- Dapat berjalan di hampir semua lingkungan terminal utama seperti macOS, Linux, Windows, dan FreeBSD, serta dapat dipasang melalui beragam manajer paket, Go, atau binary
- Mendukung pengaturan intuitif sekaligus kustomisasi tingkat lanjut, termasuk variabel lingkungan, pengaturan JSON, daftar putih alat, agar juga ramah untuk pengguna tingkat lanjut
Crush
- Agen coding AI yang berjalan di lingkungan terminal, yang memungkinkan integrasi bebas dengan LLM favorit pengembang untuk mendukung penulisan, penyuntingan, dan otomatisasi kode
- Dapat memilih dan beralih secara bebas antar berbagai model (Anthropic, OpenAI, Groq, OpenRouter, dan lain-lain), serta mengelola konteks secara mandiri per sesi
- Melalui LSP (Language Server Protocol), agent menerima konteks tambahan sesuai bahasa sehingga lebih cerdas membantu penulisan kode
- Melalui MCP (Model Context Protocol), dapat mengumpulkan dan memanfaatkan informasi tambahan dari sistem eksternal, HTTP, command line, SSE, dan sumber lainnya
Fitur Utama
- Dukungan multi-model: Integrasi berbagai LLM seperti OpenAI, Anthropic, Groq, OpenRouter, dan bisa menambah sendiri
- Pekerjaan berbasis sesi: Mengelola beberapa sesi kerja dan pemisahan konteks untuk tiap proyek
- Pergantian model yang fleksibel: Dapat mengubah model kapan saja di tengah sesi sambil mempertahankan konteks yang ada
- Integrasi LSP: Koneksi LSP untuk Go, TypeScript, Nix, dan bahasa utama lainnya guna memperkuat konteks kode
- Ekstensibilitas: Berbasis protokol MCP, memudahkan penambahan fitur eksternal via HTTP/CLI/SSE
- Dukungan lintas platform luas: Berjalan di terminal OS utama termasuk macOS, Linux, Windows (WSL, PowerShell), FreeBSD, OpenBSD, NetBSD
- Pengaturan intuitif: Dapat dipakai langsung tanpa pengaturan tambahan, dengan opsi konfigurasi JSON per proyek/global jika diperlukan
- Fitur pengecualian yang kuat: Mengelola file/folder yang dikecualikan dari konteks melalui
.gitignore dan .crushignore
- Daftar putih alat: Mendukung persetujuan awal sebelum menjalankan alat dan opsi eksekusi otomatis; flag
--yolo dapat melewati seluruh prompt (gunakan dengan hati-hati)
- Penyedia kustom: Dapat menambahkan API kompatibel OpenAI, Anthropic secara bebas dan menentukan opsi detail
Instalasi dan Memulai
- Dapat dipasang lewat berbagai manajer paket seperti Homebrew, NPM, Arch, Nix, Debian/Ubuntu, Fedora/RHEL, serta binary/Go
- Pada eksekusi pertama, diperlukan API key LLM yang disukai (OpenAI, Anthropic, Groq, dsb.), dan juga bisa ditentukan lewat variabel lingkungan
- Contoh LLM yang dapat dihubungkan lewat variabel lingkungan:
OPENAI_API_KEY, ANTHROPIC_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY, VERTEXAI_PROJECT, dan lainnya
Contoh Konfigurasi
- Menerapkan opsi lanjutan melalui file JSON global atau per proyek (
./.crush.json, ./crush.json, $HOME/.config/crush/crush.json)
- Konfigurasi LSP: Menentukan perintah per bahasa
{
"lsp": {
"go": { "command": "gopls" },
"typescript": { "command": "typescript-language-server", "args": ["--stdio"] }
}
}
- Konfigurasi MCP: Contoh ekstensi eksternal berbasis HTTP/CLI/SSE
{
"mcp": {
"filesystem": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mcp-server.js"]
}
}
}
- Pengecualian file dan persetujuan alat
- Mengecualikan file/folder tertentu melalui
.crushignore
- Lewat daftar putih alat atau flag
--yolo untuk melewati prompt
Fitur Pengguna Lanjutan
- Pendaftaran penyedia kustom: Tambahkan API kompatibel OpenAI/Anthropic, dan tentukan opsi detail seperti harga dan konteks
- Logging: Tersedia file log per proyek, dan dapat dipantau secara real-time menggunakan perintah CLI
crush logs, crush logs --follow
- Opsi debug: Aktifkan log detail lewat flag
--debug atau konfigurasi
Belum ada komentar.