{
  "overview": "AGENA, otonom olarak kod \u00fcreten, pull request olu\u015fturan ve yaz\u0131l\u0131m geli\u015ftirme i\u015f ak\u0131\u015f\u0131n\u0131z\u0131 y\u00f6neten **ajansal yapay zeka platformudur**. Kod kalitesinden \u00f6d\u00fcn vermeden teslimati h\u0131zland\u0131rmak isteyen geli\u015ftirme ekipleri i\u00e7in tasarlanm\u0131\u015ft\u0131r.\n\n### AGENA Ne Yapar\n- **Bir g\u00f6rev al\u0131r** \u2014 i\u015f listenizden (Azure DevOps, Jira veya manuel olu\u015fturulmu\u015f)\n- **Bir yapay zeka ajan hatt\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r**: PM \u2192 Developer \u2192 Reviewer \u2192 Finalizer\n- **\u00dcretim kodu \u00fcretir**, dal olu\u015fturur, commit yapar ve PR a\u00e7ar\n- **Kendi \u00e7\u0131kt\u0131s\u0131n\u0131 inceler** \u2014 g\u00f6ndermeden \u00f6nce \u00f6zel bir Reviewer ajan\u0131 ile\n- **Ekibinizi bilgilendirir** \u2014 Slack, Teams veya Telegram \u00fczerinden\n- **Kod taban\u0131n\u0131zdan \u00f6\u011frenir** \u2014 ba\u011flama duyarl\u0131 \u00fcretim i\u00e7in vekt\u00f6r belle\u011fi kullanarak\n\n### Temel Kavramlar\n| Kavram | A\u00e7\u0131klama |\n|---------|-------------|\n| **Task** | Jira/Azure DevOps'tan i\u00e7e aktar\u0131lan veya manuel olu\u015fturulan bir i\u015f \u00f6\u011fesi. Ba\u015fl\u0131k, a\u00e7\u0131klama, kabul kriterleri ve ba\u011flam i\u00e7erir. |\n| **Agent** | Kendi LLM modeli, sistem istemi ve davran\u0131\u015f\u0131na sahip bir yapay zeka rol\u00fc (PM, Developer, Reviewer, QA, Finalizer). Organizasyon baz\u0131nda yap\u0131land\u0131r\u0131labilir. |\n| **Flow** | Ajanlar\u0131, ko\u015fullar\u0131, HTTP \u00e7a\u011fr\u0131lar\u0131n\u0131 ve entegrasyonlar\u0131 \u00f6zel i\u015f ak\u0131\u015flar\u0131na ba\u011flayan g\u00f6rsel otomasyon hatt\u0131 (n8n tarz\u0131). |\n| **Pixel Agent** | Ajanlar\u0131 ger\u00e7ek zamanl\u0131 olarak g\u00f6revler \u00fczerinde \u00e7al\u0131\u015fan piksel karakterler olarak g\u00f6steren animasyonlu g\u00f6rsel \u00e7al\u0131\u015fma alan\u0131. |\n| **Organization** | \u00c7ok kirac\u0131l\u0131 bir \u00e7al\u0131\u015fma alan\u0131. Her organizasyonun kendi entegrasyonlar\u0131, ekip \u00fcyeleri, g\u00f6revleri ve faturaland\u0131rmas\u0131 vard\u0131r. |\n| **Repo Mapping** | Bir GitHub/Azure DevOps deposunu organizasyonunuza ba\u011flar, b\u00f6ylece AGENA dallar\u0131 ve PR'lar\u0131 nerede olu\u015fturaca\u011f\u0131n\u0131 bilir. |\n| **Playbook** | Organizasyon genelinde kodlama kurallar\u0131 ve standartlar\u0131. Ajanlar kod \u00fcretirken playbook'a ba\u015fvurur. |\n| **Sprint** | Azure DevOps veya Jira'dan aktif sprint. G\u00f6revler sprintten i\u00e7e aktar\u0131labilir ve sprint panosunda takip edilebilir. |\n\n### Nas\u0131l \u00c7al\u0131\u015f\u0131r \u2014 U\u00e7tan Uca\n1. Bir g\u00f6rev olu\u015ftururusunuz (manuel olarak, Jira/Azure'dan veya ChatOps arac\u0131l\u0131\u011f\u0131yla: \\",
  "signup": "### Hesab\u0131n\u0131z\u0131 Olu\u015fturma\n\n1. [agena.dev/signup](${SITE}/signup) adresine gidin\n2. E-posta adresinizi ve \u015fifrenizi girin\n3. Otomatik olarak yeni bir organizasyona atanacaks\u0131n\u0131z\n4. \u0130lk entegrasyonunuzu yap\u0131land\u0131rmak i\u00e7in ba\u015flang\u0131\u00e7 sihirbaz\u0131n\u0131 tamamlay\u0131n\n\n### Kay\u0131t Sonras\u0131\n- Organizasyonunuzun **sahibi** sizsiniz\n- Ekip \u00fcyelerini **Dashboard \u2192 Team** b\u00f6l\u00fcm\u00fcnden davet edin\n- Entegrasyonlar\u0131 **Dashboard \u2192 Integrations** b\u00f6l\u00fcm\u00fcnden yap\u0131land\u0131r\u0131n",
  "quickstart-saas": "### AGENA SaaS Kullan\u0131m\u0131 (agena.dev)\n\n**Ad\u0131m 1 \u2014 Kay\u0131t olun** [agena.dev/signup](${SITE}/signup) adresinden\n\n**Ad\u0131m 2 \u2014 Entegrasyonlar\u0131 Yap\u0131land\u0131r\u0131n** (Dashboard \u2192 Integrations)\n- **AI sekmesi**: OpenAI API anahtar\u0131n\u0131z\u0131 ekleyin (zorunlu) ve iste\u011fe ba\u011fl\u0131 olarak Gemini\n- **Task sekmesi**: GitHub'\u0131 ba\u011flay\u0131n (PR olu\u015fturmak i\u00e7in) ve iste\u011fe ba\u011fl\u0131 olarak Azure DevOps / Jira\n\n**Ad\u0131m 3 \u2014 Depo E\u015flemesi Yap\u0131n** (Dashboard \u2192 Mappings)\n- GitHub sahibinizi ve deponuzu se\u00e7in\n- Bu, AGENA'ya dallar\u0131 ve PR'lar\u0131 nerede olu\u015fturaca\u011f\u0131n\u0131 bildirir\n\n**Ad\u0131m 4 \u2014 Aktif Sprint'i Ayarlay\u0131n** (Dashboard \u2192 Profile)\n- Azure/Jira projenizi, ekibinizi ve sprint'inizi se\u00e7in\n- Aktif sprint otomatik olarak alg\u0131lan\u0131r\n\n**Ad\u0131m 5 \u2014 \u0130lk G\u00f6revinizi Olu\u015fturun**\n- **Dashboard \u2192 Tasks** \u2192 Create Task b\u00f6l\u00fcm\u00fcne gidin\n- Bir ba\u015fl\u0131k ve a\u00e7\u0131klama girin (ne istedi\u011finizi a\u00e7\u0131k\u00e7a belirtin)\n- **Assign to AI** butonuna t\u0131klay\u0131n \u2014 AGENA g\u00f6revi kuyru\u011fa al\u0131r, hatt\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r ve bir PR olu\u015fturur\n\n**Ad\u0131m 6 \u2014 \u0130lerlemeyi \u0130zleyin**\n- G\u00f6rev durumunu g\u00f6rev listesinden veya **Office** g\u00f6r\u00fcn\u00fcm\u00fcnden takip edin\n- Tamamland\u0131\u011f\u0131nda PR ba\u011flant\u0131s\u0131n\u0131 g\u00f6receksiniz",
  "quickstart-selfhost": "### Kendi Sunucunuzda Da\u011f\u0131t\u0131m\n\n#### \u00d6n Ko\u015fullar\n- Docker & Docker Compose\n- En az 4GB RAM'e sahip bir sunucu\n- SSL'li alan ad\u0131 (webhook geri \u00e7a\u011f\u0131rmalar\u0131 i\u00e7in)\n\n#### Kurulum\n\n\\",
  "office": "### Office \u2014 Pixel Agent \u00c7al\u0131\u015fma Alan\u0131\n\n**Office**, yapay zeka ajanlar\u0131n\u0131z\u0131n animasyonlu piksel karakterler olarak g\u00f6r\u00fcnd\u00fc\u011f\u00fc AGENA'n\u0131n g\u00f6rsel \u00e7al\u0131\u015fma alan\u0131d\u0131r. Her ajan\u0131n bir masas\u0131 vard\u0131r, etrafta dola\u015f\u0131r ve \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 \u015feyi g\u00f6rsel olarak g\u00f6sterir.\n\n#### Ne G\u00f6r\u00fcrs\u00fcn\u00fcz\n- **Ajan Karakterleri** \u2014 Her yapay zeka rol\u00fc (PM, Developer, Reviewer, vb.) masas\u0131nda bir piksel karakterdir\n- **Aktivite G\u00f6stergeleri** \u2014 Ajanlar bir g\u00f6revi aktif olarak i\u015flerken parlar veya animasyonlu hale gelir\n- **G\u00f6rev \u0130lerleme \u00c7ubu\u011fu** \u2014 Ger\u00e7ek zamanl\u0131 hat ilerlemesi: fetch \u2192 analyze \u2192 generate \u2192 review \u2192 finalize\n- **Kuyruk Sayac\u0131** \u2014 Kuyrukta bekleyen g\u00f6rev say\u0131s\u0131n\u0131 g\u00f6sterir\n- **Son Tamamlananlar** \u2014 Son tamamlanan g\u00f6revlere ve PR ba\u011flant\u0131lar\u0131na h\u0131zl\u0131 eri\u015fim\n\n#### Etkile\u015fimli \u00d6\u011feler\n- Mevcut g\u00f6revini ve durumunu g\u00f6rmek i\u00e7in **bir ajana t\u0131klay\u0131n**\n- H\u0131zl\u0131 ajan bilgisi i\u00e7in **masalar\u0131n \u00fczerine gelin**\n- Office g\u00f6r\u00fcn\u00fcm\u00fcnden ayr\u0131lmadan h\u0131zl\u0131 g\u00f6rev olu\u015fturmak i\u00e7in **Create Task** butonu\n- Office d\u00fczeni WebSocket arac\u0131l\u0131\u011f\u0131yla ger\u00e7ek zamanl\u0131 g\u00fcncellenir \u2014 yenileme gerekmez\n\n#### Office Ne Zaman Kullan\u0131l\u0131r\nOffice \u015funlar i\u00e7in idealdir:\n- Aktif ajan \u00e7al\u0131\u015fmas\u0131n\u0131 ger\u00e7ek zamanl\u0131 izleme\n- Payda\u015flara AGENA'y\u0131 g\u00f6stermek i\u00e7in demo/sunum modu\n- Yapay zeka i\u015f g\u00fcc\u00fcn\u00fczun durumuna h\u0131zl\u0131 genel bak\u0131\u015f\n\n#### Gezinme\nDashboard \u2192 Office (kenar \u00e7ubu\u011funun Workspace b\u00f6l\u00fcm\u00fcndeki ilk \u00f6\u011fe)",
  "tasks": "### G\u00f6revler\n\nT\u00fcm yapay zeka taraf\u0131ndan olu\u015fturulan i\u015f \u00f6\u011feleriniz i\u00e7in g\u00f6rev y\u00f6netim merkezi.\n\n#### G\u00f6rev Olu\u015fturma\n1. **Manuel**: \"Create Task\" butonuna t\u0131klay\u0131n \u2192 ba\u015fl\u0131k + a\u00e7\u0131klama girin \u2192 Assign to AI\n2. **Azure DevOps'tan \u0130\u00e7e Aktar**: Proje/ekip/sprint se\u00e7in \u2192 Import\n3. **Jira'dan \u0130\u00e7e Aktar**: Proje/pano/sprint se\u00e7in \u2192 Import\n4. **ChatOps**: \\",
  "sprints": "### Sprint Panosu\n\nAktif sprint'inizdeki t\u00fcm g\u00f6revleri duruma g\u00f6re grupland\u0131rarak g\u00f6steren Kanban tarz\u0131 pano.\n\n#### Kurulum\n1. **Dashboard \u2192 Profile** b\u00f6l\u00fcm\u00fcne gidin\n2. Azure DevOps veya Jira projenizi, ekibinizi ve sprint'inizi se\u00e7in\n3. Sprint panosu, se\u00e7ilen sprint'ten i\u015f \u00f6\u011felerini otomatik olarak y\u00fckler\n\n#### \u00d6zellikler\n- **S\u00fcr\u00fckle ve b\u0131rak** ile g\u00f6rev durumu de\u011fi\u015fiklikleri\n- **T\u00fcm sprint \u00f6\u011felerini tek t\u0131kla i\u00e7e aktar\u0131n**\n- Panodan do\u011frudan **yapay zekaya atay\u0131n**\n- Durum, atanan ki\u015fi veya i\u015f \u00f6\u011fesi t\u00fcr\u00fcne g\u00f6re **filtreleme**\n- WebSocket ile **ger\u00e7ek zamanl\u0131 g\u00fcncellemeler**",
  "sprint-performance": "### Sprint Performans\u0131\n\nSprint h\u0131z\u0131n\u0131z ve yapay zeka ajan etkinli\u011finiz i\u00e7in analiz panosu.\n\n#### Metrikler\n- **Tamamlanma oran\u0131** \u2014 Tamamlanan g\u00f6revlerin toplama oran\u0131\n- **Yapay zeka ba\u015far\u0131 oran\u0131** \u2014 Yapay zeka hatt\u0131n\u0131n hatas\u0131z ba\u015far\u0131l\u0131 olma s\u0131kl\u0131\u011f\u0131\n- **Ortalama d\u00f6ng\u00fc s\u00fcresi** \u2014 G\u00f6rev olu\u015fturmadan PR birle\u015ftirmeye kadar\n- **Token verimlili\u011fi** \u2014 Ba\u015far\u0131l\u0131 g\u00f6rev ba\u015f\u0131na maliyet\n- **PR birle\u015ftirme oran\u0131** \u2014 Yapay zeka taraf\u0131ndan olu\u015fturulan PR'lar\u0131n ka\u00e7\u0131n\u0131n birle\u015ftirildi\u011fi",
  "refinement": "### Refinement\n\nBacklog \u00f6\u011felerini analiz eden ve hikaye puanlar\u0131 \u00f6neren yapay zeka destekli sprint iyile\u015ftirme arac\u0131.\n\n#### Nas\u0131l \u00c7al\u0131\u015f\u0131r\n1. Kayna\u011f\u0131n\u0131z\u0131 se\u00e7in (Azure DevOps veya Jira)\n2. Proje \u2192 ekip/pano \u2192 sprint se\u00e7in\n3. **Load Items** butonuna t\u0131klay\u0131n \u2014 tahmin edilmemi\u015f t\u00fcm \u00f6\u011feleri g\u00f6sterir\n4. Analiz edilecek \u00f6\u011feleri se\u00e7in \u2192 **Run Refinement** butonuna t\u0131klay\u0131n\n5. Yapay zeka her \u00f6\u011feyi analiz eder ve \u015funlar\u0131 sa\u011flar:\n   - G\u00fcven puan\u0131 ile **\u00f6nerilen hikaye puanlar\u0131**\n   - \u00d6\u011fenin ne i\u00e7erdi\u011fine dair **\u00f6zet**\n   - Netle\u015ftirilmesi gereken **belirsizlikler** ve **sorular**\n   - **Planlamaya haz\u0131r** g\u00f6stergesi\n\n#### Geri Yazma\n\u00d6nerileri inceledikten sonra, hikaye puanlar\u0131n\u0131 do\u011frudan Azure DevOps veya Jira'da g\u00fcncellemek i\u00e7in **Write Back** butonuna t\u0131klay\u0131n.",
  "agents": "### Yapay Zeka Ajanlar\u0131\n\nHatt\u0131n\u0131z\u0131 g\u00fc\u00e7lendiren yapay zeka ajanlar\u0131n\u0131 yap\u0131land\u0131r\u0131n.\n\n#### Varsay\u0131lan Ajan Rolleri\n| Rol | A\u00e7\u0131klama |\n|------|-------------|\n| **PM** | Gereksinimleri analiz eder, ba\u011flam toplar, uygulama plan\u0131 olu\u015fturur |\n| **Developer** | Plana dayal\u0131 \u00fcretim kodu \u00fcretir |\n| **Reviewer** | Kodu kalite, g\u00fcvenlik ve en iyi uygulamalar a\u00e7\u0131s\u0131ndan inceler |\n| **QA** | \u00dcretilen kodu test eder ve do\u011frular |\n| **Finalizer** | Dal olu\u015fturur, commit yapar ve pull request a\u00e7ar |\n\n#### Ajan Ba\u015f\u0131na Yap\u0131land\u0131rma\n- **Provider**: OpenAI veya Gemini\n- **Model**: gpt-5, gpt-4o, gemini-2.5-pro, vb.\n- **Etkin/Devre D\u0131\u015f\u0131**: Her ajan\u0131 a\u00e7\u0131p kapat\u0131n\n- **PR Olu\u015ftur**: Bu ajan \u00e7al\u0131\u015fmas\u0131n\u0131n PR olu\u015fturup olu\u015fturmayaca\u011f\u0131\n\n#### \u00d6zel Ajan Modelleri\nHer ajan farkl\u0131 bir model kullanabilir. \u00d6rne\u011fin:\n- PM: gpt-4o-mini (analiz i\u00e7in h\u0131zl\u0131, ekonomik)\n- Developer: gpt-5 (kod \u00fcretimi i\u00e7in en iyi kalite)\n- Reviewer: gpt-4o (inceleme i\u00e7in iyi denge)",
  "prompt-studio": "### Prompt Studio\n\nHer yapay zeka ajan\u0131 taraf\u0131ndan kullan\u0131lan sistem istemlerini d\u00fczenleyin ve y\u00f6netin. T\u00fcm istemler veritaban\u0131nda saklan\u0131r ve yeniden da\u011f\u0131t\u0131m yapmadan \u00e7al\u0131\u015fma zaman\u0131nda de\u011fi\u015ftirilebilir.\n\n#### \u00d6zellikler\n- **Canl\u0131 d\u00fczenleme** \u2014 De\u011fi\u015fiklikler anında y\u00fcr\u00fcrl\u00fc\u011fe girer\n- **S\u00fcr\u00fcm ge\u00e7mi\u015fi** \u2014 \u0130stemlerin en son ne zaman de\u011fi\u015ftirildi\u011fini g\u00f6r\u00fcn\n- **Ajan ba\u015f\u0131na istemler** \u2014 Her ajan rol\u00fcn\u00fcn kendi istem \u015fablonu vard\u0131r\n- **De\u011fi\u015fken enterpolasyonu** \u2014 \\",
  "flows": "### Flow Builder\n\n\u00d6zel yapay zeka i\u015f ak\u0131\u015flar\u0131 olu\u015fturmak i\u00e7in g\u00f6rsel otomasyon olu\u015fturucu (n8n tarz\u0131).\n\n#### D\u00fc\u011f\u00fcm T\u00fcrleri\n| D\u00fc\u011f\u00fcm | A\u00e7\u0131klama |\n|------|-------------|\n| **Trigger** | Flow giri\u015f noktas\u0131 |\n| **Agent** | LLM destekli analiz/\u00fcretim (model, sa\u011flay\u0131c\u0131, istem se\u00e7imi) |\n| **Azure DevOps** | Dal olu\u015ftur, PR olu\u015ftur, PR tamamla, PR iptal et |\n| **GitHub** | Dal olu\u015ftur, PR olu\u015ftur, PR birle\u015ftir |\n| **HTTP** | Kimlik do\u011frulamal\u0131 REST API \u00e7a\u011fr\u0131lar\u0131 (bearer, API key, basic) |\n| **Condition** | Dal mant\u0131\u011f\u0131 (eq, neq, contains, regex, vb.) |\n| **Notify** | Webhook, Slack veya e-posta bildirimleri |\n| **Azure Update** | \u0130\u015f \u00f6\u011fesi durumunu g\u00fcncelle + yorum ekle |\n\n#### D\u00fc\u011f\u00fcm \u0130leti\u015fimi\nD\u00fc\u011f\u00fcmler verileri \u015fu yolla iletir: \\",
  "templates": "### \u015eablonlar\n\nYayg\u0131n geli\u015ftirme kal\u0131plar\u0131 i\u00e7in yeniden kullan\u0131labilir g\u00f6rev ve flow \u015fablonlar\u0131.\n\n#### Kullan\u0131m\n- Yayg\u0131n g\u00f6revler (hata d\u00fczeltme, \u00f6zellik, yeniden yap\u0131land\u0131rma) i\u00e7in \u00f6nceden haz\u0131rlanm\u0131\u015f \u015fablonlara g\u00f6z at\u0131n\n- Ba\u015far\u0131l\u0131 g\u00f6rev yap\u0131land\u0131rmalar\u0131ndan kendi \u015fablonlar\u0131n\u0131z\u0131 olu\u015fturun\n- Yeni g\u00f6revler olu\u015ftururken a\u00e7\u0131klama, ba\u011flam ve ayarlar\u0131 \u00f6nceden doldurmak i\u00e7in \u015fablonlar\u0131 uygulay\u0131n",
  "dora": "### DORA Metrikleri\n\nDevOps Research and Assessment (DORA) metrikleri panosu.\n\n#### Mevcut G\u00f6r\u00fcn\u00fcmler\n- **Overview** \u2014 \u00dcst d\u00fczey DORA \u00f6zeti\n- **Project** \u2014 Proje bazl\u0131 teslimat metrikleri\n- **Development** \u2014 Kod h\u0131z\u0131, commit s\u0131kl\u0131\u011f\u0131, PR verimi\n- **Quality** \u2014 Kod inceleme s\u00fcresi, hata yo\u011funlu\u011fu, test kapsam\u0131\n- **Bugs** \u2014 Hata takibi, \u00e7\u00f6z\u00fcm s\u00fcresi, \u00f6nem derecesi da\u011f\u0131l\u0131m\u0131\n- **Team** \u2014 Geli\u015ftirici bazl\u0131 performans ve i\u015f y\u00fck\u00fc dengesi\n\n#### \u0130zlenen Metrikler\n- **Da\u011f\u0131t\u0131m S\u0131kl\u0131\u011f\u0131** \u2014 Kodun ne s\u0131kl\u0131kla da\u011f\u0131t\u0131ld\u0131\u011f\u0131\n- **De\u011fi\u015fiklik Teslim S\u00fcresi** \u2014 Commit'ten \u00fcretime kadar ge\u00e7en s\u00fcre\n- **De\u011fi\u015fiklik Ba\u015far\u0131s\u0131zl\u0131k Oran\u0131** \u2014 Ar\u0131zalara neden olan da\u011f\u0131t\u0131mlar\u0131n y\u00fczdesi\n- **Ortalama Kurtarma S\u00fcresi** \u2014 Ar\u0131zalar\u0131n ne kadar h\u0131zl\u0131 \u00e7\u00f6z\u00fcld\u00fc\u011f\u00fc",
  "integrations": "### Entegrasyon Kurulumu\n\nHarici hizmetleri **Dashboard \u2192 Integrations** b\u00f6l\u00fcm\u00fcnden yap\u0131land\u0131r\u0131n.\n\n#### AI Sekmesi\n- **OpenAI** \u2014 API anahtar\u0131 + temel URL (kod \u00fcretimi i\u00e7in zorunlu)\n- **Gemini** \u2014 Google AI API anahtar\u0131 (iste\u011fe ba\u011fl\u0131 yedek sa\u011flay\u0131c\u0131)\n- **Playbook** \u2014 Organizasyon genelinde kodlama kurallar\u0131 ve standartlar\u0131. Yapay zeka ajanlar\u0131 kod \u00fcretirken bu kurallara ba\u015fvurur.\n\n#### Task Sekmesi\n- **GitHub** \u2014 Sahip + Ki\u015fisel Eri\u015fim Belirteci (PAT) ile \\",
  "repo-mapping": "### Depo E\u015flemesi\n\nDepo e\u015flemesi, AGENA'ya her g\u00f6rev i\u00e7in hangi kod taban\u0131yla \u00e7al\u0131\u015faca\u011f\u0131n\u0131 s\u00f6yler. E\u015fleme olmadan AGENA dallar\u0131 ve PR'lar\u0131 nerede olu\u015fturaca\u011f\u0131n\u0131 bilemez.\n\n#### Kurulum\n1. **Dashboard \u2192 Mappings** b\u00f6l\u00fcm\u00fcne gidin\n2. **Add Mapping** butonuna t\u0131klay\u0131n\n3. A\u015fa\u011f\u0131daki alanlar\u0131 yap\u0131land\u0131r\u0131n:\n\n| Alan | A\u00e7\u0131klama | \u00d6rnek |\n|-------|-------------|--------|\n| **Provider** | GitHub veya Azure DevOps | GitHub |\n| **Owner** | GitHub org/kullan\u0131c\u0131 veya Azure projesi | \\",
  "team-management": "### Ekip ve \u0130zinler\n\nOrganizasyonunuzun ekip \u00fcyelerini ve eri\u015fim d\u00fczeylerini y\u00f6netin.\n\n#### Roller\n| Rol | \u0130zinler |\n|------|-------------|\n| **Owner** | Tam eri\u015fim, faturaland\u0131rma, organizasyonu silme |\n| **Admin** | Ekip, entegrasyon, ayar y\u00f6netimi |\n| **Member** | G\u00f6rev olu\u015fturma, sonu\u00e7lar\u0131 g\u00f6r\u00fcnt\u00fcleme, ajan kullanma |\n| **Viewer** | G\u00f6revlere ve panolara salt okunur eri\u015fim |\n\n#### \u00dcye Davet Etme\n1. **Dashboard \u2192 Team** b\u00f6l\u00fcm\u00fcne gidin\n2. **Invite** butonuna t\u0131klay\u0131n \u2192 e-posta adresini girin\n3. Atanacak rol\u00fc se\u00e7in\n4. Davetli, kay\u0131t/kat\u0131l\u0131m ba\u011flant\u0131s\u0131 i\u00e7eren bir e-posta al\u0131r\n\n#### \u0130zinler\n**Dashboard \u2192 Permissions** b\u00f6l\u00fcm\u00fcnde detayl\u0131 izinler mevcuttur:\n- \\",
  "profile-settings": "### Profil ve Tercihler\n\nKi\u015fisel \u00e7al\u0131\u015fma alan\u0131 tercihlerinizi **Dashboard \u2192 Profile** b\u00f6l\u00fcm\u00fcnden yap\u0131land\u0131r\u0131n.\n\n#### Aktif Sprint Se\u00e7imi\n- **Azure DevOps**: Proje \u2192 Ekip \u2192 Sprint se\u00e7in (aktif sprint otomatik alg\u0131lan\u0131r)\n- **Jira**: Proje \u2192 Pano \u2192 Sprint se\u00e7in (aktif sprint otomatik alg\u0131lan\u0131r)\n\n#### \u00c7al\u0131\u015fma Alan\u0131 Tercihleri\n- **E-posta / Web Push / Uygulama i\u00e7i bildirimler** \u2014 Kanal baz\u0131nda a\u00e7ma/kapama\n- **G\u00fcnl\u00fck \u00f6zet e-postas\u0131** \u2014 G\u00f6rev etkinli\u011finin g\u00fcnl\u00fck \u00f6zetini al\u0131n\n- **Yeni g\u00f6revleri otomatik ata** \u2014 \u0130\u00e7e aktar\u0131lan g\u00f6revleri otomatik olarak yapay zekaya kuyru\u011fa al\u0131n\n- **Varsay\u0131lan PR olu\u015ftur** \u2014 Yapay zeka g\u00f6revlerinin varsay\u0131lan olarak PR olu\u015fturup olu\u015fturmayaca\u011f\u0131\n- **Tercih edilen sa\u011flay\u0131c\u0131 ve model** \u2014 Yeni g\u00f6revler i\u00e7in varsay\u0131lan yapay zeka modeli\n\n#### Dal Adland\u0131rma Kal\u0131b\u0131\n\u00d6n ayarlardan se\u00e7in veya \u00f6zel bir kal\u0131p tan\u0131mlay\u0131n:\n- \\",
  "chatops": "### ChatOps \u2014 Teams / Slack / Telegram\n\nAGENA'y\u0131 do\u011frudan sohbet platformunuzdan kontrol edin.\n\n#### Kullan\u0131labilir Komutlar\n| Komut | A\u00e7\u0131klama |\n|---------|-------------|\n| \\",
  "pipeline": "### Yapay Zeka Ajan Hatt\u0131\n\nAGENA iki katmanl\u0131 bir orkestrasyon sistemi kullan\u0131r:\n\n#### CrewAI \u2014 Ajan Rolleri\nHer ajan\u0131n belirli bir rol\u00fc, modeli ve sistem istemi vard\u0131r:\n- **PM Agent**: G\u00f6revi analiz eder, kod taban\u0131 ba\u011flam\u0131n\u0131 toplar, ayr\u0131nt\u0131l\u0131 uygulama plan\u0131 olu\u015fturur\n- **Developer Agent**: Plana ve depo standartlar\u0131na uygun \u00fcretim kodu \u00fcretir\n- **Reviewer Agent**: \u00dcretilen kodu hatalar, g\u00fcvenlik sorunlar\u0131 ve en iyi uygulamalar a\u00e7\u0131s\u0131ndan inceler\n- **Finalizer Agent**: Git dal\u0131 olu\u015fturur, kodu commit eder ve pull request a\u00e7ar\n\n#### LangGraph \u2014 Y\u00fcr\u00fctme Hatt\u0131\n\\",
  "services": "### Servis Mimarisi\n\nAGENA, 6 adet pip ile kurulabilir Python paketinden olu\u015fan bir monorepo'dur:\n\n| Paket | A\u00e7\u0131klama |\n|---------|-------------|\n| \\",
  "selfhost-deploy": "### Kendi Sunucunuzda Da\u011f\u0131t\u0131m\n\n#### Docker Compose Servisleri\n\\",
  "admin-panel": "### Platform Y\u00f6netici Paneli\n\nY\u00f6netici paneli, t\u00fcm organizasyonlar genelinde AGENA platformunun tamam\u0131n\u0131 y\u00f6netmek i\u00e7in s\u00fcper y\u00f6netici aray\u00fcz\u00fcd\u00fcr. **Dashboard \u2192 Admin** b\u00f6l\u00fcm\u00fcnden eri\u015filebilir.\n\n#### Kimler Eri\u015febilir\nYaln\u0131zca \\",
  "admin-orgs": "### Organizasyon Y\u00f6netimi\n\n#### Organizasyonlar\u0131 G\u00f6r\u00fcnt\u00fcleme\nT\u00fcm kay\u0131tl\u0131 organizasyonlar\u0131 g\u00f6rmek i\u00e7in **Admin \u2192 Organizations** sekmesine gidin.\n\nHer organizasyon kart\u0131 \u015funlar\u0131 g\u00f6sterir:\n- **Organizasyon ad\u0131** ve kimli\u011fi\n- **\u00dcye say\u0131s\u0131** \u2014 Bu organizasyona ka\u00e7 kullan\u0131c\u0131 ait\n- **G\u00f6rev say\u0131s\u0131** \u2014 Bu organizasyon taraf\u0131ndan olu\u015fturulan toplam g\u00f6rev\n- **Olu\u015fturulma tarihi** \u2014 Organizasyonun ne zaman kaydedildi\u011fi\n- **Sahip** \u2014 Organizasyon sahibinin e-posta adresi\n\n#### \u00c7oklu Kirac\u0131l\u0131k\nAGENA tamamen \u00e7ok kirac\u0131l\u0131d\u0131r. Her organizasyon tamamen izoledir:\n- **Ayr\u0131 veriler** \u2014 G\u00f6revler, flow'lar, ajanlar, entegrasyonlar organizasyon kapsam\u0131ndad\u0131r\n- **Ayr\u0131 faturaland\u0131rma** \u2014 Her organizasyonun kendi abonelik plan\u0131 vard\u0131r\n- **Ayr\u0131 entegrasyonlar** \u2014 Her organizasyon kendi GitHub, Jira, Slack vb. hesaplar\u0131n\u0131 ba\u011flar\n- **Organizasyonlar aras\u0131 g\u00f6r\u00fcn\u00fcrl\u00fck yok** \u2014 A Organizasyonundaki kullan\u0131c\u0131lar B Organizasyonundan hi\u00e7bir \u015fey g\u00f6remez\n\n#### Yayg\u0131n Y\u00f6netici G\u00f6revleri\n- **Sorunlar\u0131 ara\u015ft\u0131rma** \u2014 Bir kullan\u0131c\u0131 sorun bildirirse organizasyonunu bulun ve g\u00f6rev kay\u0131tlar\u0131n\u0131 kontrol edin\n- **B\u00fcy\u00fcmeyi izleme** \u2014 Yeni organizasyon kay\u0131tlar\u0131n\u0131 ve aktif kirac\u0131 say\u0131s\u0131n\u0131 takip edin\n- **K\u00f6t\u00fcye kullan\u0131m\u0131 tespit etme** \u2014 Al\u0131\u015f\u0131lmad\u0131k derecede y\u00fcksek g\u00f6rev say\u0131s\u0131 veya API kullan\u0131m\u0131 olan organizasyonlar\u0131 belirleyin",
  "admin-users": "### Kullan\u0131c\u0131 Y\u00f6netimi\n\n#### Kullan\u0131c\u0131lar\u0131 G\u00f6r\u00fcnt\u00fcleme\nT\u00fcm platform genelinde kay\u0131tl\u0131 t\u00fcm kullan\u0131c\u0131lar\u0131 g\u00f6rmek i\u00e7in **Admin \u2192 Users** sekmesine gidin.\n\nHer kullan\u0131c\u0131 giri\u015fi \u015funlar\u0131 g\u00f6sterir:\n- **Ad soyad** ve e-posta adresi\n- Ait olduklar\u0131 **organizasyon**\n- Organizasyon i\u00e7indeki **rol\u00fc** (owner, admin, member, viewer)\n- **Platform y\u00f6neticisi bayra\u011f\u0131** \u2014 Platform y\u00f6neticisi eri\u015fimine sahip olup olmad\u0131\u011f\u0131\n- **Son giri\u015f** \u2014 En son ne zaman kimlik do\u011frulamas\u0131 yapt\u0131\u011f\u0131\n\n#### Kullan\u0131c\u0131 Ya\u015fam D\u00f6ng\u00fcs\u00fc\n1. Kullan\u0131c\u0131 \u015fu adreste kay\u0131t olur: \\",
  "auth-api": "### Kimlik Do\u011frulama API'si\n\n\\",
  "tasks-api": "### G\u00f6revler API'si\n\n\\",
  "flows-api": "### Flow'lar API'si\n\n\\",
  "integrations-api": "### Entegrasyonlar API'si\n\n\\",
  "sdk-install": "### Kurulum\n\nAGENA SDK'yı npm ile yükleyin:\n\n\\`\\`\\`bash\nnpm install @agena/sdk\n\\`\\`\\`\n\nVeya yarn ile:\n\n\\`\\`\\`bash\nyarn add @agena/sdk\n\\`\\`\\`\n\n#### Gereksinimler\n- Node.js 18+ veya `fetch` desteğine sahip herhangi bir ortam\n- API tokenına sahip bir AGENA hesabı\n\n#### API Tokenınızı Alma\n1. AGENA panelinize giriş yapın\n2. **Profil ve Tercihler** bölümüne gidin\n3. API tokenınızı kopyalayın\n\nVeya SDK'yı kullanarak programatik olarak giriş yapın:\n\n\\`\\`\\`typescript\nconst { access_token } = await AgenaClient.auth.login(\n  'https://api.agena.dev',\n  'you@email.com',\n  'your-password'\n);\n\\`\\`\\`",
  "sdk-quickstart": "### Hızlı Başlangıç\n\n\\`\\`\\`typescript\nimport { AgenaClient } from '@agena/sdk';\n\n// İstemciyi başlat\nconst agena = new AgenaClient({\n  apiKey: 'your-token-here',\n});\n\n// Bir görev oluştur — AI ajanları kod üretecek ve bir PR açacaktır\nconst task = await agena.tasks.create({\n  title: 'Add user avatar upload',\n  description: 'Allow users to upload and crop a profile avatar image',\n});\n\nconsole.log('Task created:', task.id, task.status);\n\n// Tamamlanma durumunu sorgula\nconst interval = setInterval(async () => {\n  const updated = await agena.tasks.get(task.id);\n  console.log('Status:', updated.status);\n\n  if (updated.status === 'completed') {\n    console.log('PR ready:', updated.pr_url);\n    clearInterval(interval);\n  }\n}, 5000);\n\\`\\`\\`\n\n#### Bir Flow Çalıştırma\n\n\\`\\`\\`typescript\n// Görsel bir otomasyon flow'u çalıştır\nconst run = await agena.flows.run({ flow_id: 1 });\n\n// Sonucu kontrol et\nconst result = await agena.flows.getRun(run.id);\nconsole.log('Steps:', result.steps.map(s => s.status));\n\\`\\`\\`\n\n#### Ajanları İzleme\n\n\\`\\`\\`typescript\n// AI ajanlarını gerçek zamanlı olarak izle\nconst live = await agena.agents.liveStatus(task.id);\nlive.agents.forEach(agent => {\n  console.log(agent.role, '→', agent.status);\n});\n// PM → completed\n// Developer → running\n// Reviewer → pending\n\\`\\`\\`",
  "multi-repo": "### Multi-Repository Orkestrasyon\n\nAGENA **multi-repo orkestrasyon** destekler — tek bir görev aynı anda birden fazla repository'yi hedefleyebilir. Her repo için ayrı görev oluşturmak yerine, değişikliği bir kez tanımlarsınız ve AGENA her repository için bağımsız agent pipeline'ları çalıştırarak ayrı pull request'ler oluşturur.\n\n#### Multi-Repo Nedir?\nGerçek dünya projelerinde, tek bir özellik veya hata düzeltmesi genellikle birden fazla kod tabanını kapsar — bir backend API, bir frontend uygulama, paylaşılan bir kütüphane veya altyapı yapılandırması. Multi-repo orkestrasyon, etkilenen tüm repository'lere tek seferde bir görev atamanızı sağlar.\n\n#### Nasıl Kurulur\n1. **Repository eşlemeleri ekleyin** — **Dashboard → Mappings** bölümüne gidin ve AGENA'nın çalışmasını istediğiniz her repository'yi ekleyin (GitHub veya Azure DevOps).\n2. **Görev oluştururken birden fazla repo seçin** — Bir görev oluşturduğunuzda veya atadığınızda, hedef olarak iki veya daha fazla eşlenmiş repository seçin.\n3. **Gerisini AGENA halleder** — Seçilen her repository kendi bağımsız pipeline yürütmesini alır.\n\n#### Nasıl Çalışır\n- Her repository kendi **tam agent pipeline'ını** çalıştırır (PM → Developer → Reviewer → Finalizer)\n- Her pipeline **bağımsız bağlama** sahiptir — PM agent'ı ilgili repo'nun kod tabanını, kurallarını ve dosya yapısını çeker\n- Her repository kendi **branch ve pull request'ini** alır\n- Tüm pipeline'lar maksimum hız için **paralel** çalışır\n- Görev panosu **repo bazında durum** gösterir, böylece her repository'nin ilerlemesini bağımsız olarak takip edebilirsiniz\n\n#### Örnek Kullanım Senaryosu\n**Görev**: *\"Login endpoint'ine rate limiting ekle\"*\n\n| Repository | AGENA Ne Yapar |\n|------------|----------------|\n| `backend-api` | Rate limiting middleware ekler, login route'unu günceller, Redis sayaç mantığını ekler |\n| `frontend-app` | Üstel geri çekilme ile yeniden deneme mantığı ekler, kullanıcılara rate limit hata mesajı gösterir |\n| `shared-types` | Paylaşılan hata tiplerine `RateLimitError` tip tanımı ekler |\n\nSonuç: Tek bir görevden 3 ayrı PR, her repo için bir tane.\n\n#### En İyi Uygulamalar\n- **Görev açıklamanızda spesifik olun** — mümkünse hangi yönlerin hangi repo'lara uygulandığını belirtin\n- **Playbook kullanın** — organizasyon çapındaki kodlama kuralları, agent'ların repo'lar arasında tutarlılığı korumasına yardımcı olur\n- **PR'ları birlikte inceleyin** — tüm PR'lar aynı görevle ilgili olduğundan, bunları bir grup olarak inceleyin ve birleştirin",
  "task-dependencies": "### Görev Bağımlılıkları\n\nAGENA **görev bağımlılıklarını** destekler — görevler arasında yürütme sırası tanımlayarak doğru sırada otomatik çalışmalarını sağlayın. Bir bağımlılık tamamlandığında, zincirdeki sonraki görev otomatik olarak kuyruğa alınır ve manuel müdahale olmadan başlar.\n\n#### Görev Bağımlılıkları Nedir?\nKarmaşık projelerde görevlerin genellikle doğal sıralama gereksinimleri vardır. Veritabanı migrasyonu, backend API güncellemesinden önce tamamlanmalıdır. Frontend güncellemesi, yeni API endpoint'lerinin hazır olmasına bağlıdır. E2E testleri yalnızca tüm kod değişiklikleri deploy edildikten sonra çalışmalıdır. Görev bağımlılıkları bu ilişkileri açıkça ifade etmenizi sağlar.\n\n#### Bağımlılıkları Nasıl Ayarlarsınız\n1. **Oluşturma sırasında** — Yeni bir görev oluştururken, \"Bağımlılıklar\" alanında bir veya daha fazla mevcut görevi bağımlılık olarak seçin.\n2. **Görev detay sayfasından** — Herhangi bir görevi açın ve Bağımlılıklar bölümünden bağımlılık ekleyin.\n3. **Atama popup'ından** — Bir görev atarken bağımlılıklarını da ayarlayabilirsiniz.\n\n#### Nasıl Çalışır\n- **Worker** herhangi bir görevi yürütmeden önce bağımlılıkları kontrol eder — engelleyiciler tamamlanmadıysa görev `waiting` durumunda kalır\n- Bir engelleyici görev tamamlandığında, tüm bağımlı görevler **otomatik olarak yeniden değerlendirilir**\n- Bağımlılıkları artık karşılanan görevler **otomatik kuyruğa alınır** ve yürütme başlar\n- Bağımlılık zinciri gerektiği kadar uzun olabilir: Görev A → Görev B → Görev C → Görev D\n- **Döngü algılama** bir bağımlılık eklediğinizde çalışır — dairesel zincirler (A → B → C → A) net bir hata mesajıyla reddedilir\n\n#### Görsel Bağımlılık Akışı\nGörev panosu bağımlılık zincirlerinin görsel bir temsilini gösterir:\n- **Yeşil** (tamamlandı) — Görev başarıyla tamamlandı\n- **Sarı** (çalışıyor) — Görev şu anda AI ajanları tarafından işleniyor\n- **Gri** (bekliyor) — Görev bağımlılıklarının tamamlanmasını bekliyor\n- Görevler arasındaki oklar yürütme akış yönünü gösterir\n\n#### Örnek\n```\n#31 DB Migration        ✓ tamamlandı\n     ↓\n#32 Backend API Update  ✓ tamamlandı\n     ↓\n#33 Frontend Update     ⟳ çalışıyor\n     ↓\n#34 E2E Tests           ⏳ bekliyor\n```\nBu örnekte, #33, #32 tamamlandıktan sonra otomatik kuyruğa alındı. #34, #33 bittiğinde otomatik kuyruğa alınacak.\n\n#### En İyi Uygulamalar\n- **Zincirleri odaklı tutun** — bağımlılıklar aynı özellik içindeki doğal olarak sıralı işler için en iyi çalışır\n- **Multi-repo ile birlikte kullanın** — karmaşık çapraz repo iş akışları için bağımlılıkları multi-repo orkestrasyon ile birleştirin\n- **Görsel akışı kontrol edin** — zinciri başlatmadan önce yürütme sıranızı doğrulamak için bağımlılık görselleştirmesini kullanın",
  "sdk-reference": "### API Referansı\n\n#### AgenaClient\n\n| Metot | Açıklama |\n|--------|-------------|\n| `new AgenaClient({ apiKey, baseUrl?, timeout? })` | Bir istemci örneği oluştur |\n| `AgenaClient.auth.login(baseUrl, email, password)` | Statik: giriş yap ve token al |\n\n#### Tasks\n\n| Metot | Açıklama |\n|--------|-------------|\n| `agena.tasks.create(params)` | Yeni bir AI görevi oluştur |\n| `agena.tasks.get(id)` | ID'ye göre görevi getir |\n| `agena.tasks.list({ status?, page?, per_page? })` | Görevleri listele |\n| `agena.tasks.cancel(id)` | Çalışan bir görevi iptal et |\n| `agena.tasks.rerun(id)` | Tamamlanmış/başarısız görevi yeniden çalıştır |\n\n#### Flows\n\n| Metot | Açıklama |\n|--------|-------------|\n| `agena.flows.run({ flow_id, context? })` | Bir flow çalıştır |\n| `agena.flows.getRun(runId)` | Flow çalıştırma detaylarını getir |\n| `agena.flows.listRuns()` | Son çalıştırmaları listele |\n| `agena.flows.listTemplates()` | Flow şablonlarını listele |\n\n#### Agents\n\n| Metot | Açıklama |\n|--------|-------------|\n| `agena.agents.run({ task_id })` | Bir görevde ajanları çalıştır |\n| `agena.agents.liveStatus(taskId)` | Canlı ajan durumunu getir |\n\n#### Integrations\n\n| Metot | Açıklama |\n|--------|-------------|\n| `agena.integrations.list()` | Tüm entegrasyonları listele |\n| `agena.integrations.get(provider)` | Belirli bir entegrasyonu getir |\n| `agena.integrations.githubRepos()` | GitHub depolarını listele |\n| `agena.integrations.githubBranches(owner, repo)` | Dalları listele |\n\n#### Hata Yönetimi\n\nTüm metotlar başarısızlık durumunda `AgenaApiError` fırlatır:\n\n\\`\\`\\`typescript\ntry {\n  await agena.tasks.get(999);\n} catch (err) {\n  if (err.name === 'AgenaApiError') {\n    console.error(err.status, err.detail);\n  }\n}\n\\`\\`\\`"
}