# GitHub Copilot CLI TypeScript: pratik kullanım rehberi

Adres: https://agentvera.dev/blog/copilot-cli-ile-typescript/ · Yayın: 2026-11-01

GitHub Copilot CLI’yi TypeScript projelerinde verimli kullanmak için kurulum, proje talimatları, çalışma döngüsü ve doğrulama adımlarını anlatan pratik rehber.

**Kısaca:**

- GitHub Copilot CLI, proje klasöründe copilot komutuyla başlar ve TypeScript derleyici çıktısını kullanarak hata düzeltir.
- Doğru proje talimatları strict mode, test komutları ve monorepo kurallarını ajanın uyması gereken net sınırlara dönüştürür.
- Her değişiklikten sonra tsc, test ve git diff ile doğrulama yapmak tip güvenliğini korur.

GitHub Copilot CLI, TypeScript projelerinde terminalden çalışan bir kodlama ajanıdır. `copilot` komutunu proje kökünde çalıştırarak ajanı başlatırsınız; ajan repo bağlamını okur ve tsc çıktısını kullanarak tip hatalarını giderir. Bu rehber kurulumdan doğrulamaya kadar pratik bir çalışma düzeni sunar. Daha genel kurulum için [GitHub Copilot CLI](/ajanlar/copilot-cli/) sayfasına bakabilirsiniz.

## GitHub Copilot CLI neden TypeScript işine uygun?

TypeScript projelerinde en büyük maliyet tip hatalarını bulmak ve düzeltmektir. Copilot CLI, `tsconfig.json` dosyasını okur; `strict` modundaki `noImplicitAny`, `strictNullChecks` ve `noUncheckedIndexedAccess` gibi kuralları bilir. Ajan bir hata gördüğünde `npx tsc --noEmit` çalıştırıp gerçek derleyici çıktısını kullanır. Bu yüzden önerdiği düzeltmeler genellikle derleyicinin beklediği tip daraltmalarını, generic kısıtları veya union ayrımlarını içerir.

Örneğin, `strictNullChecks` açıkken bir fonksiyon `string | null` döndürüyorsa, ajan bu değeri kullanmadan önce `if (value !== null)` gibi bir daraltma önerir veya fonksiyonun dönüş tipini değiştirir. Benzer şekilde, `noImplicitAny` hatalarında parametre tiplerini ekleyerek çözer. Generic kullanımlarda aşırı karmaşık çıkarımlar yerine basit constraint’ler önerir. Monorepo yapısında her paketin kendi tsconfig’ini okuyabilir; pnpm workspace komutlarıyla entegre çalışır. Ajan ayrıca test çalıştırıp hangi dosyanın hangi testi kırdığını raporlayabilir. Bu özellikler onu özellikle TypeScript refactor işlerinde güçlü kılar.

## Projeyi ajana hazırlama

Copilot CLI, proje kökündeki `.github/copilot-instructions.md` veya `AGENTS.md` dosyasını okur. Bu dosyaya TypeScript’e özgü komutları, klasör kurallarını ve kod standartlarını yazın. Ne kadar net olursa ajan o kadar az yanlış dosya düzenler. Örnek bir dosya:

```markdown
# TypeScript proje talimatları

## Komutlar
- build: npm run build (tsc -p tsconfig.build.json)
- test: npm test (vitest run)
- lint: npm run lint (eslint . --ext .ts,.tsx)
- typecheck: npx tsc --noEmit

## Klasörler
- packages/* her biri ayrı bir paket, kendi tsconfig.json'u var.
- dist/ ve .turbo/ çıktı dizinleridir; asla elle düzenleme.

## TypeScript kuralları
- tsconfig'de strict: true kal.
- unknown veya union tiplerde tip daraltması yapmadan cast kullanma.
- any kullanma; gerekirse generic veya unknown + narrowing.
- Fonksiyon dönüş tiplerini açıkça belirt.
- import type kullanarak tip içe aktar.
```

Bu talimatlar ajanın test, lint ve tip kontrol komutlarını doğru sırada kullanmasını sağlar. Talimat yazımıyla ilgili geniş rehber için [CLAUDE.md nasıl yazılır?](/blog/claude-md-nasil-yazilir/) sayfasına göz atın. Talimat dosyasını olabildiğince kısa tutun; uzun açıklamalar ajanın dikkatini dağıtır. Örneğin, `as` kullanımını tamamen yasaklamak yerine "önce daraltma yap, sonra cast" gibi bir kural yazın. Monorepo projelerinde her paketin `tsconfig.json` referanslarını doğru tanımlayın; aksi halde ajan yanlış paketi düzenleyebilir.

## Çalışma döngüsü ve örnek promptlar

Copilot CLI ile verimli çalışmak için her görevi küçük adımlara bölün. Önce ajanın plan yapmasını isteyin, ardından tek dosyada değişiklik yapmasını söyleyin, sonra test ve tip kontrolü çalıştırın, en son `git diff` ile değişiklikleri gözden geçirin. Ajan siz onaylamadan commit atmaz; siz diff’i inceleyip gerekirse düzeltme istersiniz.

Aşağıdaki promptlar tipik TypeScript senaryolarını kapsar:

- "Bu fonksiyondaki union tipi daralt ve gereksiz `any` kullanımlarını kaldır; ilgili testleri güncelle."
- "`npx tsc --noEmit` çıktısındaki hataları sırayla düzelt. Her seferinde yalnızca bir dosyayı değiştir ve sonucu göster."
- "Bu generic fonksiyonu daha güvenli hale getir; tip parametrelerine uygun constraint ekle ve çağrı noktalarını kontrol et."
- "Monorepo’da `packages/api` içindeki `User` tipindeki değişikliği `packages/web` içindeki tüm kullanımlara uygula; ardından her iki paketin testlerini çalıştır."
- "Şu test dosyasındaki tip hatalarını gider ve tüm testleri yeşile çevir; gerekirse test çiftlerini güncelle."
- "Bu React bileşenindeki props tiplerini daha daraltın; `string` yerine union literal kullanın ve kontrollü bileşen davranışını test edin."
- "API istemcisindeki hata yakalama bloğunu `unknown` ile yeniden yazın; ardından `instanceof` kontrolü ile daraltın."

Her prompttan sonra ajanın ürettiği değişikliği `git diff` ile inceleyin. Özellikle tip güvenliğini zayıflatan `as any`, `!` non-null assertion ve `@ts-ignore` eklenip eklenmediğine bakın. Bunları reddedin ve doğru daraltma yapmasını isteyin.

## Hangi TypeScript görevlerinde iyi, nerelerde dikkatli olmalı?

Copilot CLI özellikle tekrarlayan tip düzeltmeleri, API değişikliği yayılımı ve test güncellemelerinde hızlıdır. Ancak karmaşık tip çıkarımı veya mimari kararlarda son sözü siz söyleyin.

| Görev | İyi prompt örneği | Dikkat edilecek nokta |
|------|------------------|----------------------|
| Tip hatası düzeltme | "Şu dosyadaki strict mode hatalarını temizle, `as` kullanmadan." | Ajan bazen `as any` ile kestirme çözüm önerir; bunu reddedin. |
| Generic iyileştirme | "Bu fonksiyonu generic yap ve `unknown` kullanarak daralt." | Aşırı generic, okunabilirliği düşürebilir; imzayı basit tutun. |
| Union daraltma | "Bu union tipi için exhaustiveness kontrolü ekle." | Ajan `switch` içinde `default` unutabilir; kontrol edin. |
| Monorepo yayılımı | "API tipindeki değişikliği tüm paketlere uygula, testleri çalıştır." | Ajan bazen yalnızca ilk paketi günceller, diğerlerini atlar; diff’i inceleyin. |

Özellikle `strict` modda `noImplicitAny` ve `strictNullChecks` hatalarını düzeltirken ajanın `any` veya `!` non-null assertion kullanmasına izin vermeyin. Bu kısayollar derleyiciyi susturur ama tip güvenliğini zayıflatır. Ayrıca ajan bazen bir union tipi daraltmak yerine `as` ile tip dönüşümü yapabilir; bu da aynı riski taşır. Refactor sırasında kodun çalışma zamanı davranışının değişmediğinden emin olmak için birim testleri çalıştırın ve coverage raporlarına bakın. Generic fonksiyonlarda ajan gereksiz yere karmaşık koşullu tipler üretebilir; bunları basitleştirmesini isteyin.

## TypeScript ile test ve doğrulama

Ajan her değişiklikten sonra `npx tsc --noEmit` çalıştırmalıdır. Ayrıca test komutunu (`npm test`) ve linter’ı (`npm run lint`) koşun. CI’da `tsc` zaten çalışıyorsa, ajanın yerel çıktısıyla CI çıktısını karşılaştırın. Monorepo’da `pnpm -r run typecheck` gibi komutlarla tüm paketleri doğrulayabilirsiniz. Ajanın ürettiği kodda tip ithalatlarının `import type` ile yapıldığını ve çıktı dizinlerine dokunulmadığını kontrol edin.

Ajanın önerdiği değişiklikleri test etmek için birim testleri çalıştırmak yetmez; özellikle tip daraltmalarının çalışma zamanı etkisini görmek gerekir. Örneğin, bir union daraltması `switch` içinde doğru yapılmazsa, bazı dallar hiç çalışmayabilir. Snapshot testleri veya property-based testler bu tür hataları yakalamada yardımcı olur. Ajan test eklerken testlerin tip güvenliğini de korumasını isteyin; testlerde `any` kullanımı hataları gizler. Doğrulama adımlarını otomatikleştirmek için spec odaklı yaklaşımı deneyebilirsiniz; [yapay zekâ ajanlarıyla spec odaklı geliştirme rehberi](/blog/spec-odakli-gelistirme/) bu konuda iyi bir başlangıçtır.

## Aynı TypeScript projesinde birden fazla ajanı AgentVera ile çalıştırma

TypeScript projesinde birden fazla Copilot CLI ajanını paralel çalıştırmak istiyorsanız AgentVera işe yarar. Her ajan kendi git worktree’sinde çalıştığı için aynı dosyaları ezmez; bir ajan API tipini değiştirirken diğeri UI bileşenini güncelleyebilir. Ajanın turu bitince ikinci bir model kodu inceler ve bulgular `dosya:satır` biçiminde raporlanır; böylece tip güvenliğini bozan bir `any` veya eksik narrowing hemen yakalanır. Ayrıca her turun anlık görüntüsü alınır; hatalı bir refactor tek tıkla geri alınabilir ve oturum adım adım yeniden oynatılır.

## Kapanış

GitHub Copilot CLI, TypeScript projelerinde doğru talimatlar ve sıkı doğrulama ile ciddi zaman kazandırır. `copilot` komutunu proje kökünde çalıştırın, küçük adımlar isteyin, her adımda `tsc --noEmit`, test ve `git diff` ile denetleyin. Ajanın kestirme tip çözümlerine izin vermeyin; TypeScript’in katı modunu koruyun. Bu disiplinle ajan, tip hatalarından refactor işlerine kadar güvenilir bir yardımcı olur.

## Sık sorulanlar

**GitHub Copilot CLI TypeScript projesinde nasıl başlatılır?** Proje kökünde terminalde copilot komutunu çalıştırın. Ajan, .github/copilot-instructions.md veya AGENTS.md dosyasındaki talimatları okur ve TypeScript’e özgü komutları kullanır.

**GitHub Copilot CLI TypeScript tip hatalarını düzeltebilir mi?** Evet, npx tsc --noEmit çıktısını kullanarak hataları tespit eder ve düzeltme önerir. Ancak as any gibi tip güvenliğini bozan kısayolları reddetmelisiniz.

**GitHub Copilot CLI için TypeScript proje talimatlarına ne yazmalıyım?** Build, test, lint ve typecheck komutlarını, klasör kurallarını, strict mode beklentilerini ve monorepo yapısını belirtin. any kullanımını yasaklayın, tip daraltma kurallarını ekleyin.

**GitHub Copilot CLI monorepo TypeScript projelerinde çalışır mı?** Evet, her paketin kendi tsconfig’ini okur ve workspace komutlarını kullanabilir. Ancak değişikliklerin tüm paketlere yayıldığını diff ile kontrol etmelisiniz.

---

**AgentVera hakkında.** AgentVera, Solviera Teknoloji tarafından geliştirilen macOS, Windows ve Linux masaüstü uygulamasıdır. 18 yapay zeka kodlama ajanını (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) proje bazında, gerçek terminallerde ve kullanıcının kendi CLI kurulum ve girişleriyle yan yana çalıştırır. Ücretsiz planda sınırsız ajan vardır. İndir: https://agentvera.dev/indir/ · Fiyatlar: https://agentvera.dev/fiyatlar/
