İçeriğe geç
New Kodine v2 is now available

Araçlar

LLM'in kullanabileceği araçları yönetin.

Araçlar, LLM’in kod tabanınızda eylem gerçekleştirmesini sağlar. kodine yerleşik bir araç setiyle gelir; bunu özel araçlarla veya MCP sunucularıyla genişletebilirsiniz.

Varsayılan olarak tüm araçlar etkindir ve çalışmak için izin istemez. Araç davranışını izinler üzerinden kontrol edebilirsiniz.


Yapılandırma

Araç davranışını yönetmek için permission alanını kullanın. Her araç için izin verebilir, reddedebilir veya onay isteyebilirsiniz.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"edit": "deny",
"bash": "ask",
"webfetch": "allow"
}
}

Joker karakterlerle birden fazla aracı aynı anda da yönetebilirsiniz. Örneğin bir MCP sunucusundan gelen tüm araçlar için onay istemek:

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"mymcp_*": "ask"
}
}

İzin yapılandırması hakkında daha fazla bilgi alın.


Yerleşik

Aşağıda kodine ile birlikte gelen tüm yerleşik araçları bulabilirsiniz.


bash

Proje ortamınızda kabuk komutları çalıştırır.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"bash": "allow"
}
}

Bu araç LLM’in npm install, git status gibi terminal komutlarını veya diğer kabuk komutlarını çalıştırmasına olanak tanır.


edit

Birebir metin değiştirme yoluyla mevcut dosyaları düzenler.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"edit": "allow"
}
}

Bu araç, dosyalarda kesin metin eşleşmelerini değiştirerek hassas düzenleme yapar. LLM’in kodu değiştirmek için kullandığı temel yöntemdir.


write

Yeni dosyalar oluşturur veya mevcut dosyaların üzerine yazar.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"edit": "allow"
}
}

LLM’in yeni dosya oluşturmasına izin vermek için bunu kullanın. Dosya zaten mevcutsa üzerine yazılır.


read

Kod tabanınızdan dosya içeriği okur.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"read": "allow"
}
}

Bu araç dosyaları okur ve içeriklerini döndürür. Büyük dosyalarda belirli satır aralıklarını okuma desteği vardır.


grep

Düzenli ifadelerle dosya içeriğinde arama yapar.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"grep": "allow"
}
}

Kod tabanında hızlı içerik araması sağlar. Tam regex sözdizimini ve dosya desen filtrelerini destekler.


glob

Desen eşleştirmeyle dosya bulur.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"glob": "allow"
}
}

**/*.js veya src/**/*.ts gibi glob desenleriyle dosya arar. Eşleşen dosya yollarını değişiklik zamanına göre sıralar.


lsp (deneysel)

Tanım, referans, hover bilgisi ve çağrı hiyerarşisi gibi kod zekası özellikleri için yapılandırdığınız LSP sunucularıyla etkileşir.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"lsp": "allow"
}
}

Desteklenen işlemler: goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls, outgoingCalls.

Projeniz için kullanılabilir LSP sunucularını ayarlamak üzere LSP Sunucuları sayfasına bakın.


patch

Dosyalara patch uygular.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"edit": "allow"
}
}

Bu araç, patch dosyalarını kod tabanınıza uygular. Farklı kaynaklardan gelen diff ve patch’leri uygulamak için kullanışlıdır.


skill

Bir skill (SKILL.md dosyası) yükler ve içeriğini konuşmaya döndürür.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"skill": "allow"
}
}

todowrite

Kodlama oturumlarında yapılacaklar listesini yönetir.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"todowrite": "allow"
}
}

Karmaşık işlemlerde ilerlemeyi takip etmek için görev listeleri oluşturur ve günceller. LLM bunu çok adımlı görevleri düzenlemek için kullanır.


webfetch

Web içeriği getirir.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"webfetch": "allow"
}
}

LLM’in web sayfalarını getirip okumasını sağlar. Dokümantasyon aramak veya çevrimiçi kaynakları incelemek için kullanışlıdır.


websearch

Web’de bilgi arar.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"websearch": "allow"
}
}

Exa AI ile web araması yaparak ilgili bilgileri bulur. Eğitim verisi kesim tarihinin ötesindeki konuları araştırmak, güncel olayları bulmak veya genel araştırma yapmak için kullanışlıdır.

API anahtarı gerekmez — araç, Exa AI’nin barındırılan MCP hizmetine kimlik doğrulaması olmadan doğrudan bağlanır.


question

Çalışma sırasında kullanıcıya soru sorar.

kodine.json
{
"$schema": "https://kodine.net/config.json",
"permission": {
"question": "allow"
}
}

Bu araç LLM’in görev sırasında kullanıcıya soru sormasını sağlar. Şunlar için kullanışlıdır:

  • Kullanıcı tercihlerini veya gereksinimleri toplamak
  • Belirsiz talimatları netleştirmek
  • Uygulama seçeneklerinde karar almak
  • Hangi yöne gidileceğine dair seçenek sunmak

Her soru bir başlık, soru metni ve seçenek listesi içerir. Kullanıcılar seçeneklerden birini seçebilir veya özel yanıt yazabilir. Birden fazla soru varsa tüm yanıtları göndermeden önce sorular arasında gezinebilirler.


Özel araçlar

Özel araçlar, LLM’in çağırabileceği kendi fonksiyonlarınızı tanımlamanızı sağlar. Bunlar config dosyanızda tanımlanır ve istediğiniz kodu çalıştırabilir.

Özel araç oluşturma hakkında daha fazla bilgi alın.


MCP sunucuları

MCP (Model Context Protocol) sunucuları, harici araçları ve servisleri entegre etmenizi sağlar. Buna veritabanı erişimi, API entegrasyonları ve üçüncü taraf servisler dahildir.

MCP sunucularını yapılandırma hakkında daha fazla bilgi alın.


Dahili detaylar

Dahili olarak grep ve glob gibi araçlar ripgrep kullanır. Varsayılan olarak ripgrep .gitignore desenlerine uyar; yani .gitignore içindeki dosya ve dizinler arama ve listeleme sonuçlarına dahil edilmez.


Yoksayma desenleri

Normalde yok sayılan dosyaları dahil etmek için proje kökünde bir .ignore dosyası oluşturun. Bu dosya belirli yolları açıkça izinli yapabilir.

.ignore
!node_modules/
!dist/
!build/

Örneğin bu .ignore dosyası, .gitignore içinde listelenmiş olsalar bile ripgrep’in node_modules/, dist/ ve build/ dizinlerinde arama yapmasına izin verir.