348 lines
8.9 KiB
Markdown
348 lines
8.9 KiB
Markdown
---
|
||
title: Giriş
|
||
description: OpenCode kullanmaya başlayın.
|
||
---
|
||
|
||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||
import config from "../../../../config.mjs"
|
||
export const console = config.console
|
||
|
||
[**OpenCode**](/) açık kaynaklı bir AI kodlama ajanıdır. Terminal tabanlı bir arayüz, masaüstü uygulaması veya IDE uzantısı olarak mevcuttur.
|
||
|
||

|
||
|
||
Başlayalım.
|
||
|
||
---
|
||
|
||
#### Ön koşullar
|
||
|
||
OpenCode'u terminalinizde kullanmak için ihtiyacınız olacak:
|
||
|
||
1. Şu gibi modern bir terminal emülatörü:
|
||
- [WezTerm](https://wezterm.org), cross-platform (tüm platformlarda)
|
||
- [Alacritty](https://alacritty.org), cross-platform (tüm platformlarda)
|
||
- [Ghostty](https://ghostty.org), Linux ve macOS
|
||
- [Kitty](https://sw.kovidgoyal.net/kitty/), Linux ve macOS
|
||
|
||
2. Kullanmak istediğiniz LLM sağlayıcılarının API anahtarları.
|
||
|
||
---
|
||
|
||
## Kurulum
|
||
|
||
OpenCode'u kurmanın en kolay yolu kurulum betiğidir.
|
||
|
||
```bash
|
||
curl -fsSL https://opencode.ai/install | bash
|
||
```
|
||
|
||
Ayrıca aşağıdaki komutlarla da yükleyebilirsiniz:
|
||
|
||
- **Node.js'yi kullanma**
|
||
|
||
<Tabs>
|
||
|
||
<TabItem label="npm">
|
||
```bash
|
||
npm install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Bun">
|
||
```bash
|
||
bun install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="pnpm">
|
||
```bash
|
||
pnpm install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Yarn">
|
||
```bash
|
||
yarn global add opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
</Tabs>
|
||
|
||
- **Homebrew'u macOS ve Linux'ta kullanma**
|
||
|
||
```bash
|
||
brew install anomalyco/tap/opencode
|
||
```
|
||
|
||
> En güncel sürümler için OpenCode tap'ini kullanmanızı öneririz. Resmi `brew install opencode` formülü Homebrew ekibi tarafından korunur ve daha sık güncellenir.
|
||
|
||
- **Paru'yu Arch Linux'ta kullanma**
|
||
|
||
```bash
|
||
sudo pacman -S opencode # Arch Linux (Stable)
|
||
paru -S opencode-bin # Arch Linux (Latest from AUR)
|
||
```
|
||
|
||
#### Windows
|
||
|
||
:::tip[Önerilen: WSL kullanın]
|
||
Windows'ta en iyi deneyim için [Windows Subsystem for Linux (WSL)](/docs/windows-wsl) kullanılmasını öneririz. Daha iyi performans ve OpenCode'un özellikleriyle tam uyumluluğu sağlar.
|
||
:::
|
||
|
||
- **Chocolatey Kullanımı**
|
||
|
||
```bash
|
||
choco install opencode
|
||
```
|
||
|
||
- **Scoop Kullanımı**
|
||
|
||
```bash
|
||
scoop install opencode
|
||
```
|
||
|
||
- **NPM kullanarak**
|
||
|
||
```bash
|
||
npm install -g opencode-ai
|
||
```
|
||
|
||
- **Mise Kullanımı**
|
||
|
||
```bash
|
||
mise use -g github:anomalyco/opencode
|
||
```
|
||
|
||
- **Docker'ı kullanma**
|
||
|
||
```bash
|
||
docker run -it --rm ghcr.io/anomalyco/opencode
|
||
```
|
||
|
||
OpenCode'un Bun kullanılarak Windows'a yüklenmesine yönelik destek şu anda devam etmektedir.
|
||
|
||
İkili dosyayı [Releases](https://github.com/anomalyco/opencode/releases)'dan da alabilirsiniz.
|
||
|
||
---
|
||
|
||
## Yapılandırma
|
||
|
||
OpenCode ile herhangi bir LLM sağlayıcısının API anahtarlarını yapılandırarak kullanabilirsiniz.
|
||
|
||
LLM sağlayıcılarını kullanmaya yeni başlıyorsanız, [OpenCode Zen](/docs/zen) kullanmanızı öneririz.
|
||
OpenCode ekibi tarafından test edilmiş ve doğrulanmış modellerin seçilmiş bir listesidir.
|
||
|
||
1. TUI'de `/connect` komutunu çalıştırın, OpenCode'u seçin ve [opencode.ai/auth](https://opencode.ai/auth)'ye gidin.
|
||
|
||
```txt
|
||
/connect
|
||
```
|
||
|
||
2. Oturum açın, fatura ayrıntılarınızı ekleyin ve API anahtarınızı kopyalayın.
|
||
|
||
3. API anahtarınızı yapıştırın.
|
||
|
||
```txt
|
||
┌ API key
|
||
│
|
||
│
|
||
└ enter
|
||
```
|
||
|
||
Alternatif olarak diğer sağlayıcılardan birini seçebilirsiniz. [Daha fazla bilgi](/docs/providers#directory).
|
||
|
||
---
|
||
|
||
## Başlatma
|
||
|
||
Artık bir sağlayıcı yapılandırdığınıza göre, üzerinde çalışmak istediğiniz bir projeye gidebilirsiniz.
|
||
|
||
```bash
|
||
cd /path/to/project
|
||
```
|
||
|
||
Ve OpenCode'u çalıştırın.
|
||
|
||
```bash
|
||
opencode
|
||
```
|
||
|
||
Daha sonra aşağıdaki komutu çalıştırarak proje için OpenCode'u başlatın.
|
||
|
||
```bash frame="none"
|
||
/init
|
||
```
|
||
|
||
Bu, OpenCode'un projenizi analiz etmesini ve bir `AGENTS.md` proje kökünde dosyası oluşturmasını sağlayacaktır.
|
||
|
||
:::tip
|
||
Projenizin `AGENTS.md` dosyasını Git'e göndermelisiniz.
|
||
:::
|
||
|
||
Bu, OpenCode'un proje yapısını ve kullanılan kodlama kalıplarını anlamasına yardımcı olur.
|
||
|
||
---
|
||
|
||
## Kullanım
|
||
|
||
Artık projeniz üzerinde çalışmak için OpenCode'u kullanmaya hazırsınız. Dilediğiniz soruyu sorabilirsiniz.
|
||
|
||
AI kodlama ajanını kullanmaya yeniyseniz aşağıdaki örnekler yardımcı olabilir.
|
||
|
||
---
|
||
|
||
### Soru Sorma
|
||
|
||
OpenCode'dan kod tabanını size açıklamasını isteyebilirsiniz.
|
||
|
||
:::tip
|
||
Projedeki dosyaları bulanık aramak için `@` tuşunu kullanın.
|
||
:::
|
||
|
||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||
How is authentication handled in @packages/functions/src/api/index.ts
|
||
```
|
||
|
||
Kod tabanının üzerinde çalışmadığınız bir kısmı varsa bu yararlı olur.
|
||
|
||
---
|
||
|
||
### Özellik Ekleme
|
||
|
||
OpenCode'dan projenize yeni özellikler eklemesini isteyebilirsiniz. Yine de öncelikle ondan bir plan oluşturmasını istemenizi öneririz.
|
||
|
||
1. **Bir plan oluşturun**
|
||
|
||
OpenCode, değişiklik yapma özelliğini kapatan bir \_Plan modu_\na sahiptir.
|
||
Bu modda, özelliğin nasıl uygulanacağını önerir.
|
||
|
||
**Tab** tuşunu kullanarak buna geçin. Bunun için sağ alt köşede bir gösterge göreceksiniz.
|
||
|
||
```bash frame="none" title="Plan moduna geç"
|
||
<TAB>
|
||
```
|
||
|
||
Şimdi ne yapmasını istediğimizi anlatalım.
|
||
|
||
```txt frame="none"
|
||
When a user deletes a note, we'd like to flag it as deleted in the database.
|
||
Then create a screen that shows all the recently deleted notes.
|
||
From this screen, the user can undelete a note or permanently delete it.
|
||
```
|
||
|
||
OpenCode'un isteğinizi anlaması için yeterli ayrıntı verin.
|
||
Ekibinizdeki junior bir geliştiriciyle konuşur gibi yazmak genelde iyi sonuç verir.
|
||
|
||
:::tip
|
||
OpenCode'a ne istediğinizi anlamasına yardımcı olacak bol miktarda bağlam ve örnek verin.
|
||
:::
|
||
|
||
2. **Planı yineleyin**
|
||
|
||
Size bir plan sunduğunda ona geri bildirimde bulunabilir veya daha fazla ayrıntı ekleyebilirsiniz.
|
||
|
||
```txt frame="none"
|
||
We'd like to design this new screen using a design I've used before.
|
||
[Image #1] Take a look at this image and use it as a reference.
|
||
```
|
||
|
||
:::tip
|
||
İsteme eklemek için görüntüleri terminale sürükleyip bırakın.
|
||
:::
|
||
|
||
OpenCode verdiğiniz görselleri tarayıp prompt'a ekleyebilir.
|
||
Bunu bir görseli terminale sürükleyip bırakarak yapabilirsiniz.
|
||
|
||
3. **Özelliği oluşturun**
|
||
|
||
Planı yeterli bulduğunuzda **Tab** tuşuna tekrar basarak \_Build modu_\na dönün.
|
||
|
||
```bash frame="none"
|
||
<TAB>
|
||
```
|
||
|
||
Ardından değişiklikleri yapmasını isteyin.
|
||
|
||
```bash frame="none"
|
||
Sounds good! Go ahead and make the changes.
|
||
```
|
||
|
||
---
|
||
|
||
### Değişiklik Yapma
|
||
|
||
Daha basit değişikliklerde, önce planı incelemeden OpenCode'dan doğrudan değişiklik yapmasını isteyebilirsiniz.
|
||
|
||
```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts"
|
||
We need to add authentication to the /settings route. Take a look at how this is
|
||
handled in the /notes route in @packages/functions/src/notes.ts and implement
|
||
the same logic in @packages/functions/src/settings.ts
|
||
```
|
||
|
||
OpenCode'un doğru değişiklikleri yapması için yeterli ayrıntı verdiğinizden emin olun.
|
||
|
||
---
|
||
|
||
### Değişiklikleri Geri Alma
|
||
|
||
Diyelim ki OpenCode'dan bazı değişiklikler yapmasını istediniz.
|
||
|
||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||
```
|
||
|
||
Ama istediğinin bu olmadığını anlıyorsun. `/undo` komutunu kullanarak değişiklikleri **geri alabilirsiniz**.
|
||
|
||
```bash frame="none"
|
||
/undo
|
||
```
|
||
|
||
OpenCode değişiklikleri geri alır ve orijinal mesajınızı tekrar gösterir.
|
||
|
||
```txt frame="none" "@packages/functions/src/api/index.ts"
|
||
Can you refactor the function in @packages/functions/src/api/index.ts?
|
||
```
|
||
|
||
Buradan komut isteminde ince ayar yapabilir ve OpenCode'dan tekrar denemesini isteyebilirsiniz.
|
||
|
||
:::tip
|
||
Birden çok değişikliği geri almak için `/undo` komutunu birden çok kez çalıştırabilirsiniz.
|
||
:::
|
||
|
||
Veya `/redo` komutunu kullanarak değişiklikleri **yeniden yapabilirsiniz**.
|
||
|
||
```bash frame="none"
|
||
/redo
|
||
```
|
||
|
||
---
|
||
|
||
## Paylaşma
|
||
|
||
OpenCode ile yaptığınız görüşmeleri [ekibinizle paylaşabilirsiniz](/docs/share).
|
||
|
||
```bash frame="none"
|
||
/share
|
||
```
|
||
|
||
Bu, mevcut konuşmaya bir bağlantı oluşturacak ve bunu panonuza kopyalayacaktır.
|
||
|
||
:::note
|
||
Konuşmalar varsayılan olarak paylaşılmaz.
|
||
:::
|
||
|
||
İşte OpenCode ile bir [örnek konuşma](https://opencode.ai/s/4XP1fce5).
|
||
|
||
---
|
||
|
||
## Özelleştirme
|
||
|
||
İşte bu kadar! Artık OpenCode'u kullanma konusunda profesyonelsiniz.
|
||
|
||
Kendinize göre uyarlamak için [tema seçebilir](/docs/themes), [tuş atamalarını özelleştirebilir](/docs/keybinds), [kod biçimlendirici ayarlayabilir](/docs/formatters), [özel komutlar oluşturabilir](/docs/commands) veya [OpenCode config](/docs/config) ile oynayabilirsiniz.
|