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

Komutlar

Sık tekrarlanan işler için özel komutlar tanımlayın.

Özel komutlar sayesinde, TUI’de komut çalıştırıldığı anda modele gönderilecek istemi önceden belirleyebilirsiniz.

/my-command

Özel komutlar; /init, /undo, /redo, /share, /help gibi hazır komutların yanında sunulur. Daha fazla bilgi.


Komut dosyaları oluşturma

Özel komut tanımlamak için commands/ dizini altında Markdown dosyaları oluşturun.

Şu dosyayı oluşturun: .kodine/commands/test.md

.kodine/commands/test.md
---
description: Run tests with coverage
agent: build
model: kodine/kodine-code
---
Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.

Üst bilgi (frontmatter) bölümü komut özelliklerini taşır; gövde kısmı ise istem şablonuna dönüşür.

Komutu kullanmak için / yazıp ardından komut adını girin:

"/test"

Yapılandırma

Özel komutlar Kodine yapılandırması üzerinden ya da commands/ dizinine Markdown dosyaları ekleyerek tanımlanabilir.


JSON

Kodine yapılandırma dosyanızdaki command seçeneğini kullanın:

kodine.jsonc
{
"$schema": "https://kodine.net/config.json",
"command": {
// Buradaki anahtar, komutun adı olur
"test": {
// LLM'e gönderilecek istem
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
// TUI içinde açıklama olarak gösterilir
"description": "Run tests with coverage",
"agent": "build",
"model": "kodine/kodine-code"
}
}
}

Artık bu komutu TUI içinde çalıştırabilirsiniz:

/test

Markdown

Komutları Markdown dosyalarıyla da tanımlayabilirsiniz. Dosyaları şu konumlara koyun:

  • Global: ~/.config/kodine/commands/
  • Proje bazında: .kodine/commands/
~/.config/kodine/commands/test.md
---
description: Run tests with coverage
agent: build
model: kodine/kodine-code
---
Run the full test suite with coverage report and show any failures.
Focus on the failing tests and suggest fixes.

Dosya adı, komut adını belirler. Yani test.md dosyası şu komutu üretir:

/test

İstem yapılandırması

Özel komut istemleri, çeşitli yer tutucuları ve sözdizimi özelliklerini destekler.


Argümanlar

Komutlara $ARGUMENTS yer tutucusuyla argüman aktarabilirsiniz.

.kodine/commands/component.md
---
description: Create a new component
---
Create a new React component named $ARGUMENTS with TypeScript support.
Include proper typing and basic structure.

Komutu argümanla birlikte çalıştırın:

/component Button

Bu durumda $ARGUMENTS yerine Button yazılır.

Argümanlara konumsal parametrelerle de erişebilirsiniz:

  • $1 - İlk argüman
  • $2 - İkinci argüman
  • $3 - Üçüncü argüman
  • Ve böyle devam eder…

Örneğin:

.kodine/commands/create-file.md
---
description: Create a new file with content
---
Create a file named $1 in the directory $2
with the following content: $3

Komutu şöyle çalıştırın:

/create-file config.json src "{ \"key\": \"value\" }"

Bu durumda yer değiştirmeler şöyle olur:

  • $1 → config.json
  • $2 → src
  • $3 → { "key": "value" }

Shell çıktısı

İsteminize bash komutu çıktısı eklemek için _!command sözdizimini kullanın.

Örneğin test kapsamını inceleyen bir komut hazırlamak için:

.kodine/commands/analyze-coverage.md
---
description: Analyze test coverage
---
Here are the current test results:
!`npm test`
Based on these results, suggest improvements to increase coverage.

Ya da son değişiklikleri gözden geçiren bir komut için:

.kodine/commands/review-changes.md
---
description: Review recent changes
---
Recent git commits:
!`git log --oneline -10`
Review these changes and suggest any improvements.

Komutlar projenizin kök dizininde çalıştırılır ve ürettikleri çıktı istemin parçası haline gelir.


Dosya referansları

@ işaretinin ardından dosya adı yazarak komutunuza dosya ekleyebilirsiniz.

.kodine/commands/review-component.md
---
description: Review component
---
Review the component in @src/components/Button.tsx.
Check for performance issues and suggest improvements.

Dosyanın içeriği isteme otomatik olarak dahil edilir.


Seçenekler

Şimdi yapılandırma seçeneklerini ayrıntılı inceleyelim.


Şablon

template seçeneği, komut çalıştırıldığında LLM’e gönderilecek istemi tanımlar.

kodine.json
{
"command": {
"test": {
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes."
}
}
}

Bu zorunlu bir yapılandırma seçeneğidir.


Açıklama

description seçeneği, komutun ne işe yaradığını kısaca anlatır.

kodine.json
{
"command": {
"test": {
"description": "Run tests with coverage"
}
}
}

Komut adını yazmaya başladığınızda bu açıklama TUI’de görüntülenir.


Ajan

agent yapılandırmasıyla komutun hangi agent tarafından yürütüleceğini belirtebilirsiniz. Bu bir subagent ise komut, varsayılan olarak bir alt ajan çağrısı başlatır. Bu davranışı istemiyorsanız subtask değerini false yapın.

kodine.json
{
"command": {
"review": {
"agent": "plan"
}
}
}

Bu isteğe bağlı bir seçenektir; boş bırakılırsa o anki agent’ınız kullanılır.


Subtask

subtask boolean değeri, komutu bir subagent çağrısına dönüştürmeye yarar. Komutun birincil bağlamınızı kirletmesini istemiyorsanız ve agent’ın bir alt ajan gibi davranmasını zorlamak istiyorsanız kullanışlıdır. Agent yapılandırmasında mode değeri primary olsa bile geçerlidir.

kodine.json
{
"command": {
"analyze": {
"subtask": true
}
}
}

Bu isteğe bağlı bir yapılandırma seçeneğidir.


Model

model seçeneği, bu komut için varsayılan modeli ezer.

kodine.json
{
"command": {
"analyze": {
"model": "kodine/kodine-code"
}
}
}

Bu isteğe bağlı bir yapılandırma seçeneğidir.


Yerleşik

Kodine; /init, /undo, /redo, /share, /help gibi çeşitli yerleşik komutlarla gelir. Daha fazlasını öğrenin.

Yerleşik bir komutla aynı ada sahip özel bir komut tanımlarsanız, sizin komutunuz onu ezer.