Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Evren Code — Yazılım GeliştirmeNew to Visual Studio Code? Get it now.
Evren Code — Yazılım Geliştirme

Evren Code — Yazılım Geliştirme

Yusuf BEKAR

|
1 install
| (0) | Free
VS Code için Türkçe yapay zekâ kodlama ajanı: planlama, kod düzenleme ve test desteği.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
Evren Code

Evren Code

VS Code içinde çalışan otonom yazılım geliştirme ajanı.

Projeyi okur, plan yapar, kod yazar, testleri çalıştırır, hataları analiz eder ve düzeltir.

License: MIT VS Code TypeScript Tests

Geliştirici: Yusuf BEKAR · E-posta: ybekar@msn.com

GitHub deposu · Hata bildir / özellik iste

[!IMPORTANT] Yasal ve kurumsal bilgilendirme

Evren Code, Savunma Sanayii Başkanlığı bünyesinde geliştirilen resmi uçtan uca yapay zekâ platformu ile herhangi bir kurumsal bağlantıya veya resmi ortaklığa sahip değildir. Bağımsız ve kişisel olarak geliştirilmiş, açık kaynak bir VS Code eklentisidir. EVREN sağlayıcısı seçildiğinde varsayılan olarak evren-llmapi.ssyz.org.tr hizmetine bağlanır; diğer sağlayıcılar kullanıcı tarafından yapılandırılır.


İçindekiler

  • Öne çıkanlar
  • Kurulum
  • Gizlilik ve veri akışı
  • Hızlı başlangıç
  • Kodlama ve Planlama modları
  • Sohbet arayüzü
  • Araçlar
  • Model sağlayıcıları
  • Ayarlar
  • Projeye özel yapılandırma
  • MCP sunucuları
  • İzinler ve denetim
  • Hook'lar
  • Güvenlik modeli
  • Mimari ve proje yapısı
  • Geliştirme
  • Testler
  • Sorun giderme
  • Destek ve geri bildirim
  • Sürüm notları
  • Gizlilik bildirimi
  • Marketplace yayını
  • Bilinen sınırlar ve yol haritası
  • Katkı
  • Lisans

Öne çıkanlar

Özellik Açıklama
Otonom ReAct döngüsü Görevi planlar, araçları çalıştırır, çıktıları değerlendirir ve hedefe ulaşana kadar ilerler.
Planlama / Kodlama modu Planlama modunda yazma ve komut çalıştırma teknik olarak kilitlidir; kodlama modunda tam yetki.
Güvenli dosya erişimi Workspace path jail, symlink kontrolü, hassas dosya koruması ve dosya başına izin kuralları.
Görsel diff ve onay Yazma/düzenleme işlemleri VS Code diff görünümünde gösterilir; onayınız olmadan diske yazılmaz.
Checkpoint / Undo Tur başlangıçlarında checkpoint; dosya değişiklikleri için adım bazlı geri alma.
MCP desteği .evren/mcp_config.json üzerinden stdio ve HTTP/SSE MCP sunucuları.
AGENTS.md uyumu AGENTS.md, .agents/skills/ ve .agents/agents/ yapıları otomatik algılanır.
Proje hafızası Tamamlanan görevler .evren/memory.md dosyasına yazılır; ajan sonraki oturumlarda bunları hatırlar.
Alt ajanlar Architect, Coder, Tester, Reviewer ve projeye özel ajanlar.
LSP entegrasyonu Tanılar, tanıma gitme ve hover bilgisi doğrudan VS Code dil sunucusundan alınır.
Çoklu sağlayıcı EVREN LLM, OpenRouter, Ollama ve OpenAI API uyumlu uç noktalar.
Güvenli sır saklama API anahtarları SecretStorage içinde şifreli tutulur; UI'ya maskeli gönderilir.
Denetim günlüğü Araç kararları .evren/audit.log dosyasına yazılır.
Tema uyumu Açık, koyu ve yüksek karşıtlık temalarıyla uyumlu, VS Code değişkenlerine dayalı arayüz.

Kurulum

Gereksinimler

  • VS Code 1.85 veya üzeri
  • Node.js 22+ (yalnızca kaynaktan derleme ve Marketplace paketleme için)
  • En az bir model sağlayıcısı:
    • EVREN API anahtarı
    • OpenRouter API anahtarı
    • veya yerel Ollama kurulumu

Marketplace üzerinden kurulum

Evren Code henüz VS Code Marketplace'te yayımlanmadı. Yayın tamamlandığında:

  1. VS Code'da Extensions görünümünü açın.
  2. Evren Code veya ysf-bkr.evren-code aratın.
  3. Yayıncı kimliğinin ysf-bkr olduğunu doğrulayıp Install'a tıklayın.

Yayın sonrasında terminalden kurmak için:

code --install-extension ysf-bkr.evren-code

Marketplace kaydı henüz mevcut olmadığından, bu arama ve komut yayın yapılana kadar çalışmayacaktır.

VSIX oluşturma ve kurulum

Kaynak depoda dağıtım amaçlı VSIX dosyası tutulmaz. Kendi VSIX paketinizi güncel sürümle oluşturmak için:

npm run package

Bu komut paketi out/evren-code-<sürüm>.vsix konumunda oluşturur. Paketi VS Code'a kurmak veya mevcut kurulumu güncellemek için:

npm run install:ext

Bu komut uzantıyı derler, paketler ve VS Code CLI (code) üzerinden kurar. Oluşturduğunuz VSIX'i elle kurmak için:

code --install-extension out/evren-code-0.0.2.vsix --force

Sürüm yükseldiğinde komuttaki dosya adını güncel sürüme göre değiştirin. Alternatif olarak VS Code içinde Extensions → ... → Install from VSIX yolunu izleyebilirsiniz.

Kaldırma ve güncelleme

Uzantıyı VS Code CLI ile kaldırmak için:

npm run uninstall:ext

VS Code arayüzünden de Extensions bölümünde Evren Code → Uninstall seçilebilir.

Şu anda Evren Code Marketplace'te yayımlanmış değil ve GitHub Releases bölümünde yayımlanmış bir sürüm bulunmuyor. Bu nedenle Marketplace üzerinden kurulum ve otomatik güncelleme henüz kullanılamaz. VSIX dosyasından kurulan uzantılarda otomatik güncelleme varsayılan olarak kapalıdır. Yerel VSIX kurulumunu güncellemek için npm run install:ext komutunu yeniden çalıştırın.

Marketplace için publisher hesabı, eşleşen publisher kimliği ve VSCE_PAT gerekir. Yerel yayın komutu npm run publish:ext; GitHub Actions ile sürüm yayınlama adımları Marketplace yayın kılavuzunda açıklanmıştır. Marketplace yayını hazırlanmadan publisher kimliğini değiştirmeyin.

Kaynaktan kurulum

git clone https://github.com/ysf-bkr/evren-code.git
cd evren-code
npm install
npm --prefix webview-ui install
npm run install:ext

Geliştirme modunda çalıştırma

npm install
npm --prefix webview-ui install
npm run dev

Bu komut uzantıyı derler ve yeni bir Extension Host penceresi açar.


Gizlilik ve veri akışı

  • Model isteği gönderildiğinde kullanıcının mesajı ve modele sağlanan bağlam, Ayarlar'da seçilen sağlayıcıya iletilir. Sağlayıcının kendi veri işleme, saklama ve gizlilik koşulları geçerlidir.
  • EVREN sağlayıcısı seçildiğinde istekler evren-llmapi.ssyz.org.tr hizmetine gider. OpenRouter ve OpenAI uyumlu sağlayıcılarda istek, yapılandırılan servise gönderilir. Ollama veya uyumlu bir yerel sunucu kullanırken uç noktanın gerçekten yerel ve güvenilir olduğunu doğrulayın.
  • Web araması sorguları, yapılandırmanıza göre Tavily, Brave veya DuckDuckGo'ya gönderilir. web_fetch açılan URL'ye istek yapar; alınan içerik modele bağlam olarak verilebilir. Yapılandırılmış MCP sunucuları da kendilerine gönderilen araç argümanlarını alabilir.
  • Araçların okuyup modele bağlam olarak eklediği dosya içerikleri de sağlayıcıya gönderilebilir. Hassas veya gizli içerikleri göndermeden önce çalışma alanını ve seçili sağlayıcıyı kontrol edin.
  • Sağlayıcı API anahtarları VS Code SecretStorage içinde tutulur; düz metin ayarlarına yazılmaz.
  • EVREN sağlayıcısı ilk model isteğinden önce kullanım koşullarının durumunu kontrol eder. Kullanım koşulları varsayılan olarak kullanıcı adına otomatik kabul edilmez.

Hızlı başlangıç

  1. VS Code'da sol activity bar üzerindeki Evren Code simgesine tıklayın.
  2. Ayarlar ekranından sağlayıcınızı ve modelinizi seçin.
  3. API anahtarınızı girin (EVREN / OpenRouter) veya Ollama URL'sini doğrulayın.
  4. Bir görev yazın:
    • Projenin mimarisini incele ve eksikleri raporla
    • Testleri çalıştır, başarısız olanları düzelt
    • src/auth.ts dosyasındaki hata yönetimini iyileştir
  5. Yazma veya komut gerekiyorsa onay kartı çıkar; Onayla ya da Reddet.
  6. Değişiklikleri adım bazlı geri almak için araç kartındaki Bu adımı geri al düğmesini kullanın.

Kodlama ve Planlama modları

Header üzerindeki mod seçici ile geçiş yapılır. Mod değişikliği ajan çalışırken kilitlidir.

Planlama modu (plan)

Amaç: kod tabanını anlamak ve uygulanabilir bir plan üretmek.

  • Yalnızca salt-okunur araçlar modele sunulur.
  • write_file, edit_file, execute_command, run_tests, run_linter, undo_change ve MCP yazma araçları teknik olarak kilitlidir.
  • Sistem prompt'u ajanı yalnızca analiz ve plan üretmeye yönlendirir.

Plan modunda izin verilen araçlar:

read_file, list_directory, search_files, git_status, git_diff,
get_diagnostics, get_definition, get_hover, read_skill, ask_followup_question

Kodlama modu (code)

Amaç: görevi baştan sona uygulamak.

  • Tüm yerleşik ve MCP araçları kullanılabilir.
  • Dosya değişiklikleri snapshot/checkpoint ve audit kapsamındadır.
  • Onay gerektiren işlemler autoApprove ayarlarına ve .evren/permissions.json kurallarına göre belirlenir.

Mod garantileri

  • Mod yalnızca arayüzde değil, araç listesi ve yürütme katmanında uygulanır.
  • Mod bilgisi oturumla birlikte saklanır ve yeniden yüklendiğinde korunur.

Sohbet arayüzü

  • Markdown yanıtlar: başlıklar, listeler, alıntılar, kalın/italik, satır içi kod ve kod blokları güvenli biçimde render edilir.
  • Kod blokları: dil etiketi ve tek tıkla kopyalama.
  • Mesaj kartları: kullanıcı ve asistan mesajları ayrıştırılmış; zaman, kopyalama ve streaming göstergesi.
  • Araç zaman çizelgesi: her araç çağrısı için ikon, kısa açıklama, durum, çıktı, hata ve parametreler.
  • Onay kartı: yazma/komut işlemleri için diff ve açıklama ile Onayla/Reddet.
  • Soru kartı: ajan ask_followup_question kullandığında girilen cevap aynı görevde devam eder.
  • Checkpoint menüsü: önceki turlara dönme ve son dosya değişikliğini geri alma.
  • Canlı durum: adım sayısı, token kullanımı, değiştirilen dosya sayısı.
  • Erişilebilirlik: metin seçimi, klavye ile gönderme (Enter), yeni satır (Shift+Enter) ve odak halkaları.

Ekranlar

Ekran İçerik
Sohbet Mesajlar, araç adımları, onaylar, sorular, checkpoint'ler
Geçmiş Kayıtlı oturumlar, arama, durum bilgisi, silme
Ayarlar Sağlayıcı/model, API anahtarı, otomatik izinler
MCP Sunucu durumları, keşfedilen araçlar, yapılandırma
Ajanlar AGENTS.md, proje hafızası, beceriler, özel ve yerleşik alt ajanlar
Hakkında Sürüm, ortam, özellikler, kısayollar, lisans ve bağlantılar

Araçlar

Araç Açıklama
read_file Satır aralığı destekli dosya okuma; ikili dosya ve boyut kontrolü.
write_file Yeni dosya oluşturma veya tamamen güncelleme.
edit_file Benzersiz hedef metin değiştirme; çoklu eşleşme koruması ve allowMultiple.
list_directory Dizin listeleme; node_modules, .git, dist gibi gürültülü klasörleri atlar.
search_files Metin arama; grep yoksa Node tabanlı yedek arama (cross-platform).
execute_command Terminal komutu çalıştırma; iptal edilebilir süreç ve tehlikeli desen koruması.
run_tests npm/pnpm/yarn/pytest test komutunu otomatik algılar.
run_linter package.json lint betiğini veya tsc kontrolünü çalıştırır.
git_status Git çalışma ağacı durumu.
git_diff Değişiklik farkı.
get_diagnostics LSP hata ve uyarıları.
get_definition Sembol tanımına gitme.
get_hover Sembol tipi/dokümantasyonu.
read_skill .agents/skills/ altındaki beceri talimatları.
invoke_subagent Uzman alt ajana görev devri. isolate: true ile ayrı Git worktree üzerinde çalışır.
ask_followup_question Kullanıcıdan cevap bekleyerek görevi duraklatma.
update_plan Bağımlılıklı ve tamamlanma koşullu görev planı oluşturma/güncelleme.
run_verification Test, lint ve tip kontrolünü birlikte çalıştırıp sonucu raporlama.
index_workspace / find_symbol / analyze_impact Kod tabanı sembol indeksi ve etki analizi.
get_references / get_workspace_symbols LSP referansları ve workspace sembol araması.
git_create_branch / git_commit / prepare_pr Dal, commit ve PR açıklaması hazırlama.
web_fetch / web_search Güvenli web içeriği ve DuckDuckGo araması.
search_memory Yapılandırılmış proje hafızasında arama.
read_notebook Jupyter notebook hücrelerini okuma.
run_parallel_tasks / merge_worktree Worktree’lerde paralel ajan ve birleştirme.
undo_change Son dosya değişikliğini geri alma.
mcp_* MCP sunucularından gelen dinamik araçlar.

Otomatik doğrulama

evrenCode.autoVerify açıkken (varsayılan) ajan her dosya değişikliğinden sonra run_verification ile test/lint/tip kontrolünü çalıştırır. Otomatik doğrulama yalnızca güvenilir çalışma alanında, deny kurallarına takılmayan ve allow.commands / autoApprove.executeCommands ile izin verilmiş komutlarla çalışır; aksi halde komut atlanır ve bilgi bildirimi gösterilir. Başarısız olursa çıktı modele geri bildirilir ve evrenCode.maxRepairAttempts kadar düzeltme denenir. evrenCode.captureBaseline ile görev başlangıcındaki hatalar .evren/verification-baseline.json dosyasına kaydedilir; yalnızca yeni regresyonlar düzeltilmeye çalışılır.

Checkpoint ve snapshot'lar .evren/checkpoints/ ile .evren/snapshots/ altında kalıcıdır; eklenti yeniden yüklense bile geri alma çalışır. Oturum değiştirmek bu kayıtları silmez. Tamamlanan dosya değişikliklerinde araç kartındaki Diff düğmesi önce/sonra görünümünü açar.

Alt ajanlar, kullanıcı onayı gerektiren yazma/komut işlemlerini doğrudan yapamaz; ana ajanın onay akışına yönlendirilir. EVREN kullanım şartları varsayılan olarak otomatik kabul edilmez (evrenCode.autoAcceptTerms).

Docker sandbox

evrenCode.sandboxMode = "docker" ile test/lint/terminal komutları Docker konteynerinde çalışır. Varsayılan olarak ağ kapalıdır (evrenCode.sandboxNetwork = false). İmaj evrenCode.sandboxImage ile belirlenir. Docker kurulu değilse komut açık bir hata ile durur; sessizce host'a düşmez.

Evren Bench CLI

npm run bench -- --suite bench/tasks.example.json
npm run bench -- --suite bench/tasks.example.json --agent-command "evren-code --prompt {prompt} --workspace {sandbox} --yes" --runs 3 --report bench-report.json

{prompt}, {sandbox} ve {taskId} yer tutucuları desteklenir. Ajan komutu verilmezse yalnızca gizli doğrulama komutları çalıştırılır. Örnek görevler süre biçimlendirme, iç içe yapılandırma birleştirme ve yeniden deneme gecikmesi gibi kodlama davranışlarını sınar. Aynı görev seti ve modelle --runs 3 kullanarak tekrarlı sonuç alın. Komut satırı adaptörü şu anda token ve maliyet bilgisi sağlamaz; bu alanlar raporda sıfır görünür ve model kalitesi kıyaslaması sayılmaz.

Headless CLI

npm run cli -- --prompt "Login hatasını düzelt" --workspace . --yes
npm run cli -- --prompt "Projeyi incele" --read-only

Varsayılan olarak yazma/komut işlemleri için onay ister. --yes ile otomatik onay, --read-only ile yalnızca salt-okunur araçlar kullanılır. API anahtarı --api-key veya EVREN_API_KEY, OPENROUTER_API_KEY ya da OpenAI uyumlu uç nokta için OPENAI_COMPATIBLE_API_KEY ortam değişkeniyle verilir. OpenAI uyumlu uç nokta OPENAI_COMPATIBLE_BASE_URL ile yapılandırılır.

Proje hafızası 2.0

Görev kayıtları .evren/memory.md yanında .evren/memory.jsonl olarak da saklanır. Kayıtlar commit, dosya, özet ve zaman bilgisi içerir; search_memory ile aranabilir.

Çoklu kök (multi-root)

Bir oturumda farklı workspace kökleri arasında geçiş yapıldığında her kökün snapshot/checkpoint kayıtları bellekte ayrı tutulur ve aktif köke göre yüklenir. Eski kökün diskteki kayıtları silinmez.

Tüm araç çağrıları zorunlu parametre doğrulamasından geçer. Hatalar modele yapılandırılmış biçimde döndürülür.


Model sağlayıcıları

EVREN LLM

  • Varsayılan uç nokta: https://evren-llmapi.ssyz.org.tr/v1
  • API anahtarı X-API-Key ve Authorization başlıklarıyla gönderilir.
  • auto modeli sunucunun en uygun modeli seçmesini sağlar.
  • Kullanım şartları oturum başına bir kez kontrol edilir.

OpenRouter

  • Uç nokta: https://openrouter.ai/api/v1
  • HTTP-Referer ve X-Title başlıkları otomatik eklenir.
  • Model listesi OpenRouter API'sinden dinamik alınır.

Ollama (yerel)

  • Varsayılan URL: http://localhost:11434
  • Modeller /api/tags üzerinden listelenir.
  • OpenAI uyumlu /v1 uç noktası üzerinden çağrılır.

OpenAI API uyumlu uç noktalar

  • LM Studio, vLLM ve OpenAI Chat Completions biçimini uygulayan sunucularla kullanılabilir.
  • Temel adres /v1 ile bitmelidir; modeller /models, yanıtlar /chat/completions üzerinden alınır.
  • VS Code ayarlarında API anahtarı isteğe bağlıdır ve varsa SecretStorage içinde saklanır.
  • Bu seçenek her sağlayıcının tüm özel özelliklerini desteklediği anlamına gelmez; uyumluluk sunucunun araç çağrısı biçimini desteklemesine bağlıdır.

API anahtarları hiçbir zaman düz metin dosyasına veya ayar dosyasına yazılmaz. VS Code SecretStorage kullanılır.


Ayarlar

VS Code ayarları

Ayar Varsayılan Açıklama
evrenCode.selectedProvider evren evren, openrouter, ollama veya openai-compatible.
evrenCode.selectedModel auto Kullanılacak model kimliği.
evrenCode.maxTokensPerTask 64000 Görev başına bağlam token bütçesi.

Bu değerler arayüzdeki Ayarlar ekranıyla senkronize edilir.

Otomatik izinler

Ayar Varsayılan Etki
Dosya okuma/arama Açık Okuma araçları onay istemez.
Dosya yazma/düzenleme Kapalı Diff gösterilir ve onay beklenir.
Terminal komutları, testler ve lint Kapalı Komut çalıştırılmadan önce onay istenir.

Bu seçenekler Evren Code Ayarları ekranından değiştirilebilir ve Kaydet ile uygulanır. Projedeki .evren/permissions.json kuralları bu varsayılanların üzerine yazabilir. Zincirli komutlar ve riskli komut örüntüleri otomatik onay ayarından bağımsız olarak ayrıca onaylanır veya engellenir.


Projeye özel yapılandırma

AGENTS.md

Kök dizinde AGENTS.md, agent.md veya .agents.md varsa içeriği her göreve sistem prompt'u olarak eklenir. Büyük dosyalar bağlam bütçesi için otomatik kısaltılır.

Beceriler (.agents/skills/)

.agents/skills/code-quality/SKILL.md
.agents/skills/api-tasarimi.md

SKILL.md frontmatter örneği:

---
name: code-quality
description: Temiz kod ve refactoring standartları
---

# Kod Kalitesi

1. Açıklayıcı isimlendirme kullan.
2. Tek sorumluluk ilkesine uy.

Ajan read_skill aracıyla tam talimatı okur.

Proje hafızası (.evren/memory.md)

Evren Code, tamamlanan her görevi otomatik olarak .evren/memory.md dosyasına kaydeder:

## 2026-10-21T01:23:45.678Z · Kodlama · completed
<!-- task:session_123:msg_456 -->
- **Görev:** Login hatasını düzelt
- **Değişen dosyalar:** `src/auth.ts`
- **Sonuç:** Hata yönetimi güncellendi ve testler geçti.
  • Dosya insan tarafından okunabilir ve elle düzenlenebilir.
  • Ajan her yeni görevde son kayıtları sistem prompt'una alır; aynı işi tekrar yapmaz ve önceki kararlarla çelişmez.
  • En fazla 80 kayıt / 64 KB tutulur; eski kayıtlar otomatik budanır.
  • Ajanlar ekranındaki Proje Hafızası kartından açılabilir veya temizlenebilir.
  • Varsayılan olarak .gitignore içindedir; proje ekibiyle paylaşmak isterseniz kaldırabilirsiniz.

Özel alt ajanlar (.agents/agents/)

.agents/agents/devops-engineer/AGENT.md
---
name: devops-engineer
role: devops
description: Docker ve CI/CD uzmanı
tools: read_file, list_directory, search_files, read_skill, write_file, edit_file, execute_command
---

Sen bu projenin DevOps uzmanısın...
  • tools belirtilmezse özel ajan varsayılan olarak salt-okunur araçlarla çalışır.
  • Özel ajanlar da .evren/permissions.json deny kurallarına tabidir.
  • Tüm alt ajan araç çağrıları audit günlüğüne yazılır.

Yerleşik ajanlar:

Ajan Görev
architect Mimari analiz ve uygulama planı
coder Kod üretimi ve refactoring
tester Test çalıştırma ve hata çözme
reviewer Kod kalitesi ve güvenlik denetimi

MCP sunucuları

Desteklenen yapılandırma dosyaları (öncelik sırasıyla):

  1. .evren/mcp_config.json
  2. mcp_config.json
  3. .mcp.json

stdio sunucu örneği

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sqlite", "./data.db"]
    }
  }
}

HTTP / SSE sunucu örneği

{
  "mcpServers": {
    "uzak-sunucu": {
      "type": "http",
      "url": "https://example.com/mcp"
    }
  }
}

Özellikler:

  • Sunucular paralel başlatılır ve oturum boyunca önbelleklenir.
  • stdio sunucuları workspace kökünde (cwd) çalışır.
  • Mcp-Session-Id ve SSE yanıtları desteklenir.
  • tools/list sayfalaması (nextCursor) işlenir.
  • Bağlantı koparsa üstel geri çekilmeyle yeniden bağlanılır.
  • Workspace güvenilir değilse MCP sunucuları başlatılmaz.

MCP sunucuları repo tarafından tanımlanan komutları çalıştırabilir. Yalnızca güvendiğiniz workspace'lerde kullanın.


İzinler ve denetim

.evren/permissions.json

{
  "allow": {
    "readFiles": ["**/*"],
    "writeFiles": ["src/**/*", "tests/**/*"],
    "commands": ["npm test*", "npm run build*", "git status*", "git diff*"]
  },
  "deny": {
    "readFiles": ["secret/**/*"],
    "writeFiles": [".env*", "**/*.pem", "**/*.key", "package-lock.json"],
    "commands": ["git push*", "rm -rf /*", "mkfs*"]
  },
  "autoApprove": {
    "readFiles": true,
    "writeFiles": false,
    "executeCommands": false
  }
}

Öncelik: deny > allow > proje autoApprove > global ayar.

  • Yollar workspace'e göre normalize edilir; ./secret/x ve mutlak workspace yolları aynı kurala yakalanır.
  • Allow komutları yalnızca zincirlenmemiş komutlarda otomatik onay sağlar.
  • .env, *.pem, *.key, id_rsa ve .git/** varsayılan olarak korunur.
  • Bozuk izin dosyası yazma/komut işlemlerini otomatik onaya kapatır.

Denetim günlüğü

.evren/audit.log dosyasına şu formatta kayıt yazılır:

2026-10-21T01:23:45.678Z  completed  edit_file  {"path":"src/app.ts"}
  • API anahtarları, dosya içerikleri ve replacement metinleri redakte edilir.
  • Ana ajan ve alt ajan araç çağrıları kaydedilir.

Hook'lar

.evren/hooks.json:

{
  "hooks": [
    {
      "lifecycle": "PreToolUse",
      "toolMatcher": "write_file|edit_file",
      "command": "npm run lint"
    },
    {
      "lifecycle": "Stop",
      "command": "echo 'Görev tamamlandı'"
    }
  ]
}

Desteklenen yaşam döngüleri: PreToolUse, PostToolUse, Stop.

  • Hook komutları workspace güvenilir değilse çalıştırılmaz.
  • Komutlar workspace kökünde ve 15 saniye zaman aşımıyla çalışır.
  • Hatalı toolMatcher desenleri ajan döngüsünü kilitlemez.

Güvenlik modeli

Katman Koruma
Path jail Workspace dışına dosya erişimi engellenir; symlink kaçışı kontrol edilir.
Hassas dosyalar .env, anahtarlar, sertifikalar ve .git içeriği varsayılan korumalı.
Komut güvenliği Tehlikeli komut desenleri, shell zincirleme kontrolü ve onay akışı.
Gerçek iptal Model istekleri AbortController; terminal komutları SIGTERM/SIGKILL.
Plan modu kilidi Yazma/komut araçları hem modele sunulmaz hem yürütmede reddedilir.
Subagent izolasyonu Rol bazlı araç allowlist'i, salt-okunur varsayılan ve deny kuralları.
SecretStorage API anahtarları şifreli saklanır, UI'ya maskeli gönderilir.
CSP Webview yalnızca eklenti kaynaklarına izin verir.
Workspace Trust Güvenilmeyen workspace'te MCP ve hook komutları çalışmaz.
Audit Kritik araç kararları redakte edilerek günlüğe yazılır.

Yine de otonom bir ajanın dosya ve komut çalıştırma yetkisi olduğunu unutmayın. Kritik depolarda önce yedek alın, autoApprove seçeneklerini kapalı tutun ve izin dosyasını kullanın.


Mimari ve proje yapısı

evren-code/
├── src/
│   ├── extension.ts                  # Aktivasyon, komutlar, view kaydı
│   ├── shared/types.ts               # Extension ↔ webview sözleşmeleri
│   ├── providers/                    # EVREN / OpenAI uyumlu / Ollama
│   ├── tools/                        # Yerleşik araçlar ve path safety
│   ├── webview/EvrenSidebarProvider.ts
│   └── core/
│       ├── agent/AgentCore.ts        # ReAct döngüsü, onay, iptal
│       ├── agent/modeTools.ts        # Plan/kod araç kilidi
│       ├── permission/               # allow/deny/autoApprove
│       ├── context/                  # Token bütçesi ve pruning
│       ├── memory/                   # Oturum geçmişi + proje hafızası
│       ├── checkpoint/               # Tur checkpoint'leri
│       ├── snapshot/                 # Dosya geri alma
│       ├── mcp/                      # MCP hub + stdio/HTTP client
│       ├── multiagent/               # Alt ajan orkestrasyonu
│       ├── skills/                   # AGENTS.md, skills, özel ajanlar
│       ├── lsp/                      # VS Code LSP köprüsü
│       ├── hooks/                    # Pre/Post/Stop hook'ları
│       ├── prompts/                  # Sistem prompt'u
│       └── workspace/                # Aktif workspace kökü
├── webview-ui/
│   └── src/
│       ├── App.tsx                   # Ekran yönlendirme
│       ├── components/               # Sohbet, ayarlar, MCP, ajanlar...
│       ├── components/Markdown.tsx   # Güvenli markdown renderer
│       └── utils/vscode.ts           # Webview mesajlaşma
├── test/unit/                        # Node test runner testleri
├── resources/                        # Marka ikonları
├── esbuild.js                        # Extension bundler
└── plan.md                           # Geliştirme yol haritası

Veri akışı

Webview UI
   │  postMessage (SEND_MESSAGE / APPROVE_TOOL / ...)
   ▼
EvrenSidebarProvider
   ▼
AgentCore (ReAct döngüsü)
   ├── ModelProvider (streaming + tool calls)
   ├── PermissionManager (deny/allow/approval)
   ├── Tool execution (dosya, komut, LSP, MCP)
   ├── Snapshot / Checkpoint
   ├── Audit log
   └── TaskState güncellemeleri → Webview

Geliştirme

Scriptler

Komut Açıklama
npm run dev Derler ve Extension Host penceresi açar.
npm run typecheck Extension TypeScript tip kontrolü.
npm run typecheck:test Test dosyalarının tip kontrolü.
npm run lint ESLint kod kalitesi kontrolü (src, test, scripts).
npm test Unit testleri çalıştırır.
npm run build Typecheck + webview build + extension bundle.
npm run package VSIX paketi üretir.
npm run install:ext Paketleyip VS Code'a kurar.
npm run uninstall:ext Eklentiyi kaldırır.
npm run watch Extension için watch modu.
npm run watch:ui Webview için watch modu.

Teknoloji yığını

  • Extension: TypeScript, VS Code API, esbuild
  • Webview: React 18, Vite 6, Tailwind CSS 3, Lucide React
  • Test: Node.js test runner + tsx
  • Paketleme: @vscode/vsce

Testler

npm test

Kapsanan alanlar:

Test dosyası Kapsam
safety_and_context.test.ts Path jail, symlink/traversal, token bütçesi, pruning
permission_checkpoint.test.ts Glob eşleştirme, deny/allow, ./ ve mutlak yol bypass'ları, checkpoint rewind
provider.test.ts Retry davranışı, 4xx/429, SSE streaming, tool call birleştirme, usage
snapshot_tools.test.ts Gerçek dosya snapshot/undo, dosya araçları, komut iptali, dizin filtreleme
mode_tools.test.ts Plan/kod modu araç kilidi
project_memory.test.ts Proje hafızası kaydı, tekrar engeli, prompt bağlamı ve temizleme
webview-ui/test/ChatInput.test.tsx Mesaj gönderme, Enter/Shift+Enter, çalışan görevde iptal ve menü etkileşimleri

Mevcut durum: 102 çekirdek ve 6 arayüz testi, tamamı geçiyor.


Sorun giderme

“API anahtarı girilmedi” hatası

Ayarlar ekranında doğru sağlayıcıyı seçtiğinizden ve anahtarın kaydedildiğinden emin olun. Anahtar maskeli görünüyorsa kayıtlıdır; tekrar yazmanız gerekmez.

Model listesi gelmiyor

  • EVREN/OpenRouter için internet bağlantısını kontrol edin.
  • Ollama için ollama serve çalıştığından emin olun.
  • .evren veya ağ proxy ayarlarınızı kontrol edin.

Onay kartı görünmüyor

  • İşlem autoApprove ile otomatik onaylanmış olabilir.
  • waiting_approval durumunda araç kartı otomatik açılır.
  • Onay mesajlarının bağlı olduğundan emin olmak için arayüzü yenileyin.

MCP sunucusu bağlanmıyor

  • Workspace'in güvenilir olduğundan emin olun (Workspace Trust).
  • command, args ve göreli yolların workspace köküne göre olduğunu kontrol edin.
  • Sunucunun stderr çıktısını VS Code Developer Tools konsolunda inceleyin.
  • Değişiklikten sonra MCP ekranındaki yenile düğmesine basın.

Ajan plan modunda dosya değiştirmiyor

Bu beklenen davranıştır. Planlama modu salt-okunur çalışır. Kodlama moduna geçin.

Komut iptal edilmiyor

Güncel sürümde terminal komutları iptal sinyaliyle sonlandırılır. Uzun süren alt süreçler için Durdur düğmesini kullanın; MCP araç çağrıları kendi zaman aşımına sahiptir.

Destek ve geri bildirim

  • Hata bildirmek veya özellik istemek için GitHub Issues sayfasını kullanın.
  • Bildirime VS Code ve Evren Code sürümünü, işletim sistemini, seçili sağlayıcıyı ve hatayı yeniden üretme adımlarını ekleyin.
  • API anahtarlarını, erişim belirteçlerini, özel kaynak kodunu veya kişisel verileri issue içeriğine ve ekran görüntülerine eklemeyin.
  • Marketplace yayını tamamlandığında kurulum ve sürüm bilgileri bu README'de güncellenecektir.

Bilinen sınırlar ve yol haritası

Aktif olarak geliştirilen alanlar:

  • Oturum export/import, yeniden adlandırma ve dallandırma
  • Oturumların globalState yerine workspace storage'da tutulması
  • Paralel araç çalıştırma ve canlı ilerleme yüzdesi
  • MCP resources/* ve prompts/* desteği
  • Uzun ömürlü SSE transportu
  • Komutların yaptığı değişikliklerin snapshot kapsamına alınması
  • Alt ajanlarda araç bazlı onay akışı
  • Çoklu kök workspace için tam kök seçici arayüzü
  • Genel amaçlı plugin SDK'sı

Bilinen davranışlar:

  • Snapshot ve checkpoint'ler .evren/snapshots/ ve .evren/checkpoints/ altında kalıcıdır.
  • Proje hafızası .evren/memory.md ve .evren/memory.jsonl dosyalarında kalıcıdır.
  • Oturum geçmişi globalState içinde saklanır.
  • Çoklu kökte her kökün snapshot/checkpoint yöneticisi ayrı tutulur.
  • Headless kullanım için npm run cli ve dist/cli.js mevcuttur.
  • Ağ istekleri varsayılan 20 saniye zaman aşımına sahiptir (model istekleri 120 saniye).

Katkı

  1. Depoyu fork'layın.
  2. Yeni bir dal açın: git checkout -b ozellik/yeni-ozellik
  3. Değişikliklerinizi yapın.
  4. npm run typecheck && npm run lint && npm test && npm run build çalıştırın.
  5. Anlamlı bir commit mesajıyla PR açın.

İletişim: Yusuf BEKAR — ybekar@msn.com

Katkı sağlarken:

  • TypeScript strict moduna uyun.
  • Yeni araçlar için path safety ve izin kontrollerini unutmayın.
  • Kullanıcıya görünen metinleri Türkçe tutun.
  • Güvenlik davranışını değiştiren PR'larda test ekleyin.

Lisans

MIT © 2026 Yusuf BEKAR · ybekar@msn.com

Evren Code — Yusuf BEKAR tarafından geliştirilen bağımsız, açık kaynak yazılım geliştirme ajanı.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft