--- 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** ```bash npm install -g opencode-ai ``` ```bash bun install -g opencode-ai ``` ```bash pnpm install -g opencode-ai ``` ```bash yarn global add opencode-ai ``` - **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ç" ``` Ş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" ``` 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.