# GitHub Copilot CLI ile Node.js Projesi: Pratik Kullanım

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

GitHub Copilot CLI’ı Node.js projesinde planlı görevler, test komutları ve diff incelemesiyle nasıl kullanacağınızı öğrenin. Express, npm scripts, node:test.

**Kısaca:**

- GitHub Copilot CLI, Node.js projesinde terminalden test ve kod döngüsünü tek komutla yürütür.
- AGENTS.md veya .github/copilot-instructions.md ile npm script’leri ve modül kurallarını ajanınıza net biçimde verebilirsiniz.
- Node.js’e özgü async hataları ve env yönetimi için her değişiklikte test ve diff incelemesi şarttır.

GitHub Copilot CLI, Node.js projesinde terminalden `copilot` komutuyla çalışır; projeyi okur, değişiklik önerir ve siz onayladıkça test sonuçlarına göre ilerler. Bu rehber Express/Fastify, npm scripts, ES modules, node:test veya Jest kullanan projelere göre pratik bir çalışma döngüsü kurar. Amaç, ajanı bağımsız bir kod üretici olarak değil, her adımı doğrulanabilir bir Node.js iş ortağı gibi kullanmaktır. Daha geniş komut akışı için [GitHub Copilot CLI](/ajanlar/copilot-cli/) sayfasına bakabilirsiniz.

## Node.js işleri için neden güçlü bir eşleşme

Node.js projeleri genellikle küçük modüller, net `package.json` script’leri ve hızlı test döngüsü içerir. GitHub Copilot CLI bu yapıyı iyi kullanır: `npm test`, `npm run lint`, `npm run build` gibi komutlar deterministiktir ve ajan her değişiklikten sonra aynı komutu çağırabilir. Express veya Fastify route’ları dosya bazlı olduğundan ajan, istenen değişikliği tek bir dosyada toplayıp diff’i küçük tutabilir. ES modules sayesinde import/export sınırları nettir; ajan yanlış içe aktarmayı hızlı fark eder. Ayrıca Node.js’in hata mesajları ve stack trace’leri ajan için yeterince bilgilendiricidir; başarısız testin nedenini bulmak için ek araç gerekmez.

Bu eşleşme özellikle veri doğrulama, request/response dönüşümü ve middleware zincirlerinde belirginleşir. Örneğin bir Express uygulamasında `app.use(express.json())` sonrası gelen body parser hatalarını yakalamak, ajanın hızlıca önerdiği bir hata yakalama middleware’i ile çözülür. Fastify’da schema tabanlı doğrulama hataları da benzer şekilde ajanın ürettiği özel hata formatıyla standartlaştırılır. Test dosyaları genellikle `node:test` veya Jest ile yazıldığı için ajan, yeni eklenen bir route’un testini aynı kalıpta oluşturabilir. Bu da kod tabanının tutarlılığını artırır.

## Projeyi ajan için hazırlama

GitHub Copilot CLI, proje kökündeki .github/copilot-instructions.md dosyasını ve yoksa AGENTS.md dosyasını okur. Node.js projesi için bu dosyada çalıştırma, test, build ve lint komutlarını; klasör yapısını; modül sistemini ve env kurallarını belirtin. `package.json` zaten bağlamın parçasıdır ama script’lerin ne işe yaradığını kısaca yazmak ajanın yanlış komut seçmesini engeller. Talimat dosyası yazarken genel format için [CLAUDE.md nasıl yazılır? AGENTS.md ve GEMINI.md rehberi](/blog/claude-md-nasil-yazilir/) rehberindeki AGENTS.md önerilerini uyarlayabilirsiniz.

Aşağıdaki örnek, orta ölçekli bir Express API projesi için yeterli bilgiyi içerir. Dosya, projenin köküne `.github/copilot-instructions.md` olarak konulabilir; AGENTS.md kullanacaksanız aynı içeriği oraya taşıyın. Kritik nokta, test ve lint komutlarının tam olarak yazılmasıdır; ajan bu komutları çalıştırarak kendi ürettiği kodun doğruluğunu kontrol eder.

```markdown
# Node.js proje talimatları
- Paket yöneticisi: npm; lock dosyası package-lock.json'ı koru
- Çalıştırma: npm run dev
- Build: npm run build
- Test: npm test (node:test ile)
- Lint: npm run lint
- Modüller: ES modules (import/export), .js uzantılı
- Kaynak: src/, testler: test/ veya *.test.js
- Ortam: .env.example'ı şablon al, .env'i asla commit etme
- Node sürümü: 20+
- Kural: testler geçmeden ve lint hata vermeden görevi tamamlama
```

Bu dosya kısa ve emredici olmalı; ajanın her görevde tekrar tekrar okuyacağı için gereksiz açıklama eklemeyin. Ayrıca proje içinde çok sayıda environment değişkeni varsa, `config.js` veya benzeri bir dosyayı işaret ederek ajanın bu dosyayı okumasını isteyebilirsiniz. Böylece env değişkenlerinin nerede toplandığını ve nasıl kullanıldığını bilir.

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

Node.js projesinde verimli döngü şudur: önce ajanın mevcut kodu özetlemesini isteyin, sonra tek bir değişikliği planlatın, testi çalıştırmasını söyleyin ve diff’i inceleyin. Küçük adımlar, ajanın bağlamı kaybetmesini önler ve hata ayıklamayı kolaylaştırır. Komutun temel açılış akışı için [GitHub Copilot CLI nasıl kullanılır? Adım adım rehber](/blog/copilot-cli-nasil-kullanilir/) yazısına göz atabilirsiniz.

Aşağıdaki örnek istekler, gerçek bir Express uygulaması üzerinde test edilmiş gibidir. Her birinde dosya yolu, beklenen davranış ve çalıştırılacak komut açıkça yazılmıştır. Bu netlik, ajanın tahmin yürütmesini azaltır ve üretilen kodun kalitesini artırır.

- `src/app.js` ve `src/routes/` altındaki tüm dosyaları oku. Express route’larının listesini çıkar, eksik hata yakalama middleware’i varsa göster.
- `user.service.js` için node:test ile birim testi yaz. Önce test dosyasını oluştur, sonra `npm test` çalıştır ve sonucu raporla.
- GET /orders akışını incele. Veritabanı sorgusunu basit bir bellek önbelleği ile sarmala, önbellek süresini .env’den al, sonra ilgili testi güncelle.
- package.json scripts bölümüne `lint` ekle; eslint kullanılıyorsa eksik config dosyasını oluştur ve `npm run lint` çalıştır.
- Üretim ortamında `NODE_ENV=production` iken detaylı stack trace döndüren hata middleware’ini sadeleştir; testleri çalıştır.

İsteklerde dosya yolu ve beklenen komutu net vermek, ajanın tahmin etmesini azaltır. Ayrıca görevi tek seferde büyük bir refactor olarak değil, yukarıdaki gibi küçük parçalara bölmek, hata durumunda geri dönüşü kolaylaştırır.

## Node.js’te iyi gittiği işler ve izlenmesi gereken tuzaklar

GitHub Copilot CLI özellikle route ekleme, middleware yazma, schema doğrulama, test yazma ve `package.json` script düzenleme gibi tek dosyalık ve iyi tanımlı işlerde rahattır. node:test veya Jest ile test tamamlama, env değişkeni ekleme, basit refactor gibi görevlerde diff küçük kalır. Aşağıdaki tablo sık görevler için doğrudan kullanılabilir istek örnekleri gösteriyor.

| Görev | İyi prompt |
| --- | --- |
| Fastify route ekleme | "`src/routes/users.js` dosyasına GET /users/:id route’unu ekle; 404 ve 400 hatalarını açık döndür; `npm test` çalıştır." |
| Jest test tamamlama | "`orders.service.js` için Jest testini genişlet; stok yetersiz senaryosunu ekle, `npm test` ile doğrula." |
| Env şeması güncelleme | ".env.example’a `REDIS_URL` ekle; config yükleme kodunu oku ve eksik değişkende erken hata ver." |
| npm script düzenleme | "`package.json` içindeki `start` script’ine `NODE_OPTIONS=--enable-source-maps` ekle; `npm run start` kontrolü yap." |

Ancak Node.js’e özgü tuzaklarda dikkatli olun. Ajan, async/await hatalarını yakalamadan bırakabilir; unhandled rejection üretimde process’i düşürür. ESM ile CommonJS karışımı projelerde `require` ve `import` geçişlerini yanlış yapabilir. `.env` dosyasını commit etmek veya test sırasında gerçek ağ çağrısı bırakmak sık görülür. package-lock.json’da gereksiz değişiklikler olabilir; diff’i incelerken sadece amaçlanan paketlerin değiştiğinden emin olun. Jest ve node:test aynı projede karışıyorsa ajan yanlış runner komutu seçebilir; talimat dosyanızda tek test runner belirtin.

Ayrıca ajan bazen mevcut kod tabanındaki stil ve mimari desenleri göz ardı edebilir. Örneğin proje dependency injection kullanıyorsa ajan doğrudan singleton modülü import edip test edilemez kod üretebilir. Bu durumda görevi verirken mevcut desenlere uymasını açıkça isteyin. Benzer şekilde, Express 5 veya Fastify 4 gibi belirli sürüm farkları da ajanın önerilerini etkileyebilir; paket sürümlerini talimat dosyanızda sabitlemek iyi olur.

## Test ve doğrulama

Node.js projesinde ajanın her önerisinden sonra testleri siz çalıştırmak zorunda değilsiniz; isterseniz ajanın kendisi çalıştırır. Ancak bunu her görevde açıkça isteyin: `npm test` veya belirli bir dosya için `node --test test/orders.test.js` komutu küçük geri bildirim döngüsü sağlar. Ajanın test çıktısını yorumlamasına izin verin; başarısız assertion’ı düzeltmek için diff üretmesini isteyin. Lint ve build adımlarını da atlamayın. `.env` değişikliklerinde agent’ın ürettiği örneği kendi ortamınıza göre doldurun ve gerçek secret’ları ajanla paylaşmayın.

Doğrulama sürecinde ajanın ürettiği diff’i satır satır incelemek önemlidir. Özellikle güvenlikle ilgili değişikliklerde (örneğin JWT doğrulama, rate limiting, input sanitization) ajanın önerdiği kodu kendi bilginizle sorgulayın. Ajan testleri çalıştırmadan önce mevcut testlerin geçtiğinden emin olun; bazen ajan kendi eklediği testleri geçse de mevcut testleri bozabilir. Bu yüzden tam test koşusunu (`npm test`) her zaman isteyin.

## Birden fazla ajanla Node.js projesi yürütmek: AgentVera

Node.js projesinde birden fazla ajanı paralel çalıştırmak isterseniz AgentVera, GitHub Copilot CLI dahil gerçek CLI araçlarını ayrı terminal panellerinde yan yana çalıştırır. Her ajan kendi git worktree’sinde çalışabildiği için route, servis ve test dosyalarını birbirinin üzerine yazmaz. Görev bitince ikinci bir modelin yaptığı otomatik kod incelemesi, async hata yakalama gibi Node.js’e özgü kusurları file:line ile gösterir. Checkpoint’ler sayesinde yanlış bir refactor’ı tek tıkla geri alıp oturumu adım adım yeniden oynatabilirsiniz; bu özellikle package.json ve bağımlılık değişikliklerinde güven verir.

## Sonuç

GitHub Copilot CLI, doğru proje talimatları ve küçük doğrulama adımlarıyla Node.js geliştirmeyi hızlandırır. Express/Fastify route işleri, npm script düzenlemeleri ve test tamamlama gibi görevlerde ajanı güvenle kullanabilirsiniz. Her diff’i inceleyip testleri çalıştırdığınız sürece, Node.js’in asenkron yapısından kaynaklanan hataları erkenden yakalarsınız.

## Sık sorulanlar

**GitHub Copilot CLI Node.js projesinde nasıl başlatılır?** Proje kök dizininde terminale copilot yazmanız yeterlidir. İlk çalıştırmada GitHub hesabınızla kimlik doğrulaması ister; ardından proje dosyalarını okur ve etkileşimli oturum başlatır. Node.js projesinde package.json ve mevcut script’ler otomatik bağlamın parçası olur.

**AGENTS.md ve .github/copilot-instructions.md dosyalarından hangisi kullanılmalı?** İkisi de GitHub Copilot CLI tarafından okunur. Proje geneli için depo köküne AGENTS.md, GitHub’a özgü talimatlar için .github/copilot-instructions.md koyabilirsiniz. İkisi birlikte varsa ajan her ikisini de değerlendirir; çelişen kuralları en spesifik dosyaya yazın.

**GitHub Copilot CLI npm test komutunu kendiliğinden çalıştırır mı?** Ajan, siz talimat verirseniz veya proje talimat dosyanızda test zorunluluğu yazarsanız npm test çalıştırır. Kendiliğinden çalıştırma garantisi yoktur; her görev sonunda test çalıştırmasını açıkça istemek en güvenli yoldur. Başarısız testleri size raporlar ve düzeltme önerir.

**Node.js projesinde GitHub Copilot CLI hangi durumlarda dikkat gerektirir?** Asenkron akışlarda unhandled rejection, ESM/CommonJS karışımı, .env dosyalarının yanlış commit edilmesi ve package-lock.json gereksiz değişiklikleri en sık sorunlu alanlardır. Ajanın önerdiği her değişiklikte diff’i inceleyin, testleri çalıştırın ve üretim bağımlılıklarını elle kontrol edin.

---

**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/
