summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/tr/index.mdx
blob: 696eddc3a10607c1ce6bd41313a3a912c0408e50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
---
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.

![opencode TUI with the opencode theme](../../../assets/lander/screenshot.png)

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.