kortext 2.2.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +7 -11
- package/CHANGELOG.md +81 -0
- package/LICENSE +21 -0
- package/README.md +144 -47
- package/USER-GUIDE.md +505 -0
- package/bin/kortext.js +23 -0
- package/bin/kortext.ts +377 -0
- package/dist/bin/kortext.js +346 -0
- package/dist/bin/kortext.js.map +1 -0
- package/dist/mcp/index.js +4 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.js +553 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/sse.js +38 -0
- package/dist/mcp/sse.js.map +1 -0
- package/dist/mcp/stdio.js +44 -0
- package/dist/mcp/stdio.js.map +1 -0
- package/dist/server/cli/cleanup.js +73 -0
- package/dist/server/cli/cleanup.js.map +1 -0
- package/dist/server/cli/commands.js +73 -0
- package/dist/server/cli/commands.js.map +1 -0
- package/dist/server/cli/doctor.js +118 -0
- package/dist/server/cli/doctor.js.map +1 -0
- package/dist/server/cli/executor-factory.js +39 -0
- package/dist/server/cli/executor-factory.js.map +1 -0
- package/dist/server/cli/init.js +121 -0
- package/dist/server/cli/init.js.map +1 -0
- package/dist/server/cli/logs.js +28 -0
- package/dist/server/cli/logs.js.map +1 -0
- package/dist/server/cli/serve.js +72 -0
- package/dist/server/cli/serve.js.map +1 -0
- package/dist/server/config/env.js +12 -0
- package/dist/server/config/env.js.map +1 -0
- package/dist/server/db/client.js +32 -0
- package/dist/server/db/client.js.map +1 -0
- package/dist/server/db/json.js +21 -0
- package/dist/server/db/json.js.map +1 -0
- package/dist/server/db/migrate.js +70 -0
- package/dist/server/db/migrate.js.map +1 -0
- package/dist/server/db/migrations/001_init.sql +243 -0
- package/dist/server/db/repositories/audit-log.js +58 -0
- package/dist/server/db/repositories/audit-log.js.map +1 -0
- package/dist/server/db/repositories/backlog.js +96 -0
- package/dist/server/db/repositories/backlog.js.map +1 -0
- package/dist/server/db/repositories/contexts.js +54 -0
- package/dist/server/db/repositories/contexts.js.map +1 -0
- package/dist/server/db/repositories/decisions.js +71 -0
- package/dist/server/db/repositories/decisions.js.map +1 -0
- package/dist/server/db/repositories/handovers.js +53 -0
- package/dist/server/db/repositories/handovers.js.map +1 -0
- package/dist/server/db/repositories/index.js +30 -0
- package/dist/server/db/repositories/index.js.map +1 -0
- package/dist/server/db/repositories/locks.js +59 -0
- package/dist/server/db/repositories/locks.js.map +1 -0
- package/dist/server/db/repositories/notifications.js +63 -0
- package/dist/server/db/repositories/notifications.js.map +1 -0
- package/dist/server/db/repositories/pending-questions.js +63 -0
- package/dist/server/db/repositories/pending-questions.js.map +1 -0
- package/dist/server/db/repositories/runs.js +138 -0
- package/dist/server/db/repositories/runs.js.map +1 -0
- package/dist/server/db/repositories/runtime-artifacts.js +39 -0
- package/dist/server/db/repositories/runtime-artifacts.js.map +1 -0
- package/dist/server/db/repositories/secrets.js +65 -0
- package/dist/server/db/repositories/secrets.js.map +1 -0
- package/dist/server/db/repositories/sessions.js +48 -0
- package/dist/server/db/repositories/sessions.js.map +1 -0
- package/dist/server/db/schemas.js +308 -0
- package/dist/server/db/schemas.js.map +1 -0
- package/dist/server/engine/consistency.js +25 -0
- package/dist/server/engine/consistency.js.map +1 -0
- package/dist/server/engine/dag.js +86 -0
- package/dist/server/engine/dag.js.map +1 -0
- package/dist/server/engine/executor.js +2 -0
- package/dist/server/engine/executor.js.map +1 -0
- package/dist/server/engine/executors/claude-cli-executor.js +83 -0
- package/dist/server/engine/executors/claude-cli-executor.js.map +1 -0
- package/dist/server/engine/executors/cli-spawn.js +127 -0
- package/dist/server/engine/executors/cli-spawn.js.map +1 -0
- package/dist/server/engine/executors/codex-cli-executor.js +69 -0
- package/dist/server/engine/executors/codex-cli-executor.js.map +1 -0
- package/dist/server/engine/executors/gemini-cli-executor.js +69 -0
- package/dist/server/engine/executors/gemini-cli-executor.js.map +1 -0
- package/dist/server/engine/executors/mock-executor.js +52 -0
- package/dist/server/engine/executors/mock-executor.js.map +1 -0
- package/dist/server/engine/executors/persona-routed-executor.js +17 -0
- package/dist/server/engine/executors/persona-routed-executor.js.map +1 -0
- package/dist/server/engine/gate-enforcer.js +75 -0
- package/dist/server/engine/gate-enforcer.js.map +1 -0
- package/dist/server/engine/git-commit.js +42 -0
- package/dist/server/engine/git-commit.js.map +1 -0
- package/dist/server/engine/handover.js +120 -0
- package/dist/server/engine/handover.js.map +1 -0
- package/dist/server/engine/item-lifecycle.js +74 -0
- package/dist/server/engine/item-lifecycle.js.map +1 -0
- package/dist/server/engine/persona-registry.js +108 -0
- package/dist/server/engine/persona-registry.js.map +1 -0
- package/dist/server/engine/worker-pool.js +324 -0
- package/dist/server/engine/worker-pool.js.map +1 -0
- package/dist/server/engine/workflow-loader.js +55 -0
- package/dist/server/engine/workflow-loader.js.map +1 -0
- package/dist/server/engine/workflow-parser.js +158 -0
- package/dist/server/engine/workflow-parser.js.map +1 -0
- package/dist/server/engine/worktree.js +176 -0
- package/dist/server/engine/worktree.js.map +1 -0
- package/dist/server/index.js +99 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/notifications/dispatcher.js +60 -0
- package/dist/server/notifications/dispatcher.js.map +1 -0
- package/dist/server/notifications/slack.js +37 -0
- package/dist/server/notifications/slack.js.map +1 -0
- package/dist/server/notifications/telegram.js +33 -0
- package/dist/server/notifications/telegram.js.map +1 -0
- package/dist/server/orchestrator/approval-queue.js +83 -0
- package/dist/server/orchestrator/approval-queue.js.map +1 -0
- package/dist/server/orchestrator/blueprint-watcher.js +94 -0
- package/dist/server/orchestrator/blueprint-watcher.js.map +1 -0
- package/dist/server/orchestrator/orchestrator.js +283 -0
- package/dist/server/orchestrator/orchestrator.js.map +1 -0
- package/dist/server/orchestrator/pipeline-chainer.js +96 -0
- package/dist/server/orchestrator/pipeline-chainer.js.map +1 -0
- package/dist/server/orchestrator/resume.js +36 -0
- package/dist/server/orchestrator/resume.js.map +1 -0
- package/dist/server/routes/approvals.js +52 -0
- package/dist/server/routes/approvals.js.map +1 -0
- package/dist/server/routes/backlog.js +44 -0
- package/dist/server/routes/backlog.js.map +1 -0
- package/dist/server/routes/db-info.js +21 -0
- package/dist/server/routes/db-info.js.map +1 -0
- package/dist/server/routes/docs.js +70 -0
- package/dist/server/routes/docs.js.map +1 -0
- package/dist/server/routes/doctor.js +19 -0
- package/dist/server/routes/doctor.js.map +1 -0
- package/dist/server/routes/handovers.js +25 -0
- package/dist/server/routes/handovers.js.map +1 -0
- package/dist/server/routes/health.js +11 -0
- package/dist/server/routes/health.js.map +1 -0
- package/dist/server/routes/personas.js +96 -0
- package/dist/server/routes/personas.js.map +1 -0
- package/dist/server/routes/runs.js +41 -0
- package/dist/server/routes/runs.js.map +1 -0
- package/dist/server/routes/workflows.js +38 -0
- package/dist/server/routes/workflows.js.map +1 -0
- package/dist/server/safety/harmful-output-filter.js +40 -0
- package/dist/server/safety/harmful-output-filter.js.map +1 -0
- package/dist/server/safety/secret-scanner.js +169 -0
- package/dist/server/safety/secret-scanner.js.map +1 -0
- package/dist/server/services/markdown-sync.js +101 -0
- package/dist/server/services/markdown-sync.js.map +1 -0
- package/dist/web/assets/index-B80d5ZPZ.js +75 -0
- package/dist/web/assets/index-B80d5ZPZ.js.map +1 -0
- package/dist/web/assets/index-Bge5Gzqv.css +1 -0
- package/dist/web/index.html +13 -0
- package/docs/architecture.md +413 -0
- package/package.json +83 -11
- package/rules/behavior.md +2 -2
- package/scripts/copy-migrations.mjs +29 -0
- package/workspace/.locks/workspace_handover.md.lock +3 -0
- package/hooks/audit-logger.sh +0 -25
- package/hooks/auto-locker.sh +0 -74
- package/hooks/auto-unlocker.sh +0 -17
- package/hooks/backlog-sync-guard.sh +0 -12
- package/hooks/branch-guard.sh +0 -32
- package/hooks/commit-msg-guard.sh +0 -43
- package/hooks/git-pre-commit.sh +0 -76
- package/hooks/git-pre-push.sh +0 -17
- package/hooks/handover-guard.sh +0 -33
- package/hooks/kortext-init.sh +0 -194
- package/hooks/kortext-lib.sh +0 -141
- package/hooks/lint-guard.sh +0 -50
- package/hooks/secret-scanner.sh +0 -89
- package/hooks/size-guard.sh +0 -48
- package/hooks/snapshot-guard.sh +0 -39
- package/hooks/write-guard.sh +0 -77
- package/scripts/kortext-backlog-add.py +0 -123
- package/scripts/kortext-backlog-health.py +0 -112
- package/scripts/kortext-backlog-sync.py +0 -117
- package/scripts/kortext-bulk-plan.py +0 -63
- package/scripts/kortext-cli.py +0 -295
- package/scripts/kortext-consistency-check.py +0 -74
- package/scripts/kortext-context-check.py +0 -146
- package/scripts/kortext-handover.py +0 -107
- package/scripts/kortext-item-check.py +0 -61
- package/scripts/kortext-item-start.py +0 -70
- package/scripts/kortext-item-transition.py +0 -78
- package/scripts/kortext-lock.py +0 -174
- package/scripts/kortext-session-start.py +0 -127
- package/scripts/lock_kortext.sh +0 -34
- package/settings/.claude-settings.template.json +0 -48
- package/settings/CHANGELOG.md +0 -176
- package/settings/INTEGRATION-MAP.md +0 -276
- package/settings/README.md +0 -255
- package/settings/USER-GUIDE.md +0 -502
- package/settings/VERSION +0 -1
- package/settings/config.md +0 -8
- package/settings/runtime-adapters.md +0 -104
- package/skills/backend-developer/.gitkeep +0 -0
- package/skills/compliance-expert/.gitkeep +0 -0
- package/skills/copywriter/.gitkeep +0 -0
- package/skills/db-admin/.gitkeep +0 -0
- package/skills/delivery-manager/.gitkeep +0 -0
- package/skills/designer/.gitkeep +0 -0
- package/skills/devops-engineer/.gitkeep +0 -0
- package/skills/engineering-manager/.gitkeep +0 -0
- package/skills/frontend-developer/.gitkeep +0 -0
- package/skills/growth-expert/.gitkeep +0 -0
- package/skills/operation-manager/.gitkeep +0 -0
- package/skills/product-manager/.gitkeep +0 -0
- package/skills/qa-engineer/.gitkeep +0 -0
- package/skills/security-engineer/.gitkeep +0 -0
package/settings/USER-GUIDE.md
DELETED
|
@@ -1,502 +0,0 @@
|
|
|
1
|
-
# Kortext Kullanım Kılavuzu (User Guide)
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
Versiyon : v2.2.0
|
|
5
|
-
Tarih : 16.05.2026
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
> Bu döküman Kortext'i ilk kez kullanacaklar veya nasıl çalıştığını anlamak isteyenler için
|
|
9
|
-
> yazılmıştır. Teknik referans için `settings/README.md`'e, komut listesi için
|
|
10
|
-
> `rules/commands.md`'e, değişiklik geçmişi için `CHANGELOG.md`'e bakın.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## İçindekiler
|
|
15
|
-
|
|
16
|
-
1. [Kortext Nedir?](#1-kortext-nedir)
|
|
17
|
-
2. [Kurulum](#2-kurulum)
|
|
18
|
-
3. [Proje Başlatma](#3-proje-başlatma)
|
|
19
|
-
4. [Günlük Kullanım — Komutlar](#4-günlük-kullanım--komutlar)
|
|
20
|
-
5. [Ajan Sistemi — Kimler Ne Yapar?](#5-ajan-sistemi--kimler-ne-yapar)
|
|
21
|
-
6. [Hafıza Sistemi — Bilgi Nerede Saklanır?](#6-hafıza-sistemi--bilgi-nerede-saklanır)
|
|
22
|
-
7. [Tam Proje Yaşam Döngüsü](#7-tam-proje-yaşam-döngüsü)
|
|
23
|
-
8. [Sık Karşılaşılan Durumlar](#8-sık-karşılaşılan-durumlar)
|
|
24
|
-
9. [Onay ve Ret Mekanizması](#9-onay-ve-ret-mekanizması)
|
|
25
|
-
10. [İyi Bilmek Gerekenler](#10-iyi-bilmek-gerekenler)
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 1. Kortext Nedir?
|
|
30
|
-
|
|
31
|
-
Kortext, bir AI ajanı (Claude, Gemini vb.) üzerinde çalışan **çok ajanlı proje yönetim protokolüdür.** Tek bir AI konuşma penceresini; ürün müdürü, mühendis, tasarımcı, QA ve DevOps gibi 14 farklı uzmandan oluşan bir geliştirme ekibine dönüştürür.
|
|
32
|
-
|
|
33
|
-
**Kortext olmadan:** Tek bir AI ile çalışırsın. Her oturumda bağlamı yeniden anlatman gerekir. Hangi kararın neden alındığını takip edemezsin.
|
|
34
|
-
|
|
35
|
-
**Kortext ile:** Ajanlar aralarında devir yapıp oturumlar arasında bağlamı korur. Kararlar kayıt altındadır. Her iş akışı tanımlıdır. Bir şey patlak verdiğinde kimin ne yapacağı bellidir.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## 2. Kurulum
|
|
40
|
-
|
|
41
|
-
### 2.1 Kortext'i Projeye Ekle
|
|
42
|
-
|
|
43
|
-
Kortext klasörünü projenin kökündeki `.kortext/` (veya geliştirme ortamında `kortext/`) dizinine yerleştir:
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
proje-koku/
|
|
47
|
-
├── kortext/ ← tüm Kortext dosyaları buraya
|
|
48
|
-
├── AGENTS.md ← AI ajanına "buradan başla" talimatı (proje kökünde)
|
|
49
|
-
├── src/
|
|
50
|
-
└── ...
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### 2.2 Git Hook'larını Kur
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
bash kortext/hooks/kortext-init.sh --install-hooks
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Bu komut şu hook'ları kurar:
|
|
60
|
-
- `pre-commit` → secrets taraması, branch koruma, handover kontrolü
|
|
61
|
-
- `commit-msg` → commit mesajı format denetimi
|
|
62
|
-
- `pre-push` → production'a push koruması
|
|
63
|
-
|
|
64
|
-
### 2.3 Ortam Değişkeni (Opsiyonel ama Önerilen)
|
|
65
|
-
|
|
66
|
-
Hook'ların hangi dosya üzerinde çalıştığını bilmesi için:
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
export KORTEXT_AGENT="backend-developer" # hangi ajan olduğunu belirt
|
|
70
|
-
export KORTEXT_HOOK_MODE="strict" # ihlallerde uyarı yerine hata ver
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 3. Proje Başlatma
|
|
76
|
-
|
|
77
|
-
### Adım 1 — Blueprint'i Doldur
|
|
78
|
-
|
|
79
|
-
`kortext/workspace/references/blueprint.md` dosyasını aç ve doldur:
|
|
80
|
-
|
|
81
|
-
```markdown
|
|
82
|
-
# Proje Adı
|
|
83
|
-
|
|
84
|
-
> - status: approved | 16.05.2026
|
|
85
|
-
> - author: +prime
|
|
86
|
-
|
|
87
|
-
## Vizyon
|
|
88
|
-
[Projenin neden var olduğu — 2-3 cümle]
|
|
89
|
-
|
|
90
|
-
## Hedef Kitle
|
|
91
|
-
[Kimler kullanacak?]
|
|
92
|
-
|
|
93
|
-
## Ana Özellikler
|
|
94
|
-
- [Özellik 1]
|
|
95
|
-
- [Özellik 2]
|
|
96
|
-
- [Özellik 3]
|
|
97
|
-
|
|
98
|
-
## Teknoloji Tercihleri (varsa)
|
|
99
|
-
- Backend: [Laravel, Node.js vb.]
|
|
100
|
-
- Frontend: [React, Vue vb.]
|
|
101
|
-
|
|
102
|
-
## Platform
|
|
103
|
-
[Web / Mobil / İkisi]
|
|
104
|
-
|
|
105
|
-
## Başarı Kriterleri
|
|
106
|
-
- [Hangi metriklerle başarıyı ölçeceğiz?]
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
> ⚠️ **Kritik:** Blueprint'in başlığında `status: approved` olması zorunludur.
|
|
110
|
-
> Aksi takdirde `!setup kortext` sistemi durdurur.
|
|
111
|
-
|
|
112
|
-
### Adım 2 — Framework'ü Aktif Et
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
!setup kortext
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Sistem şunu yapar:
|
|
119
|
-
1. Framework dosyalarını salt okunur yapar (kimse kural dosyalarını değiştiremez)
|
|
120
|
-
2. `kortext-session-start.py` ile SESSION_BRIEF üretir
|
|
121
|
-
3. Blueprint'i okur, proje durumunu belirler
|
|
122
|
-
4. Hangi komutla devam edeceğini bildirir
|
|
123
|
-
|
|
124
|
-
### Adım 3 — Projeyi Başlat
|
|
125
|
-
|
|
126
|
-
**Yeni proje (sıfırdan):**
|
|
127
|
-
```
|
|
128
|
-
!start analysis
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
**Mevcut proje (Kortext'e dahil etme):**
|
|
132
|
-
```
|
|
133
|
-
!start onboard
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## 4. Günlük Kullanım — Komutlar
|
|
139
|
-
|
|
140
|
-
Kortext'i senin için çalıştıran komutlar. Bunları AI konuşma penceresine yazman yeterli.
|
|
141
|
-
|
|
142
|
-
### Hızlı Referans
|
|
143
|
-
|
|
144
|
-
```
|
|
145
|
-
SETUP
|
|
146
|
-
!setup kortext → Framework'ü aktif et (bir kez)
|
|
147
|
-
!setup environment → Ortam kurulumunu başlat
|
|
148
|
-
|
|
149
|
-
BAŞLATMA
|
|
150
|
-
!start analysis → Yeni proje analizi
|
|
151
|
-
!start onboard → Mevcut projeyi dahil et
|
|
152
|
-
!start planning → Backlog oluştur
|
|
153
|
-
!start spike → Teknik belirsizlik araştırması (time-boxed)
|
|
154
|
-
!start development → Geliştirme başlat
|
|
155
|
-
|
|
156
|
-
DURUM
|
|
157
|
-
!status → Hızlı özet (backlog sağlık, aktif ajanlar, bloker)
|
|
158
|
-
!status full → Tam rapor
|
|
159
|
-
|
|
160
|
-
DEPLOYMENT
|
|
161
|
-
!deploy prod → Production'a çık
|
|
162
|
-
!rollback [version] → Sürüme geri dön
|
|
163
|
-
!hotfix [issue-id] → Kritik hata düzelt
|
|
164
|
-
|
|
165
|
-
BAKIM
|
|
166
|
-
!maintenance → Rutin bakım döngüsü
|
|
167
|
-
|
|
168
|
-
TALEP
|
|
169
|
-
!request [açıklama] → Yeni özellik, iyileştirme, bug veya borç bildirimi
|
|
170
|
-
|
|
171
|
-
ONAY
|
|
172
|
-
!approve [artifact] → Bekleyen çıktıyı onayla
|
|
173
|
-
!reject [artifact] → Revizyona gönder
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Komutlar Ne Zaman Kullanılır?
|
|
177
|
-
|
|
178
|
-
| Durum | Komut |
|
|
179
|
-
|---|---|
|
|
180
|
-
| Proje yeni, hiç kod yok | `!start analysis` |
|
|
181
|
-
| Proje var, Kortext'i ekleyeceğim | `!start onboard` |
|
|
182
|
-
| "Bu teknoloji işe yarar mı?" sorun var | `!start spike` |
|
|
183
|
-
| Backlog hazır, kodlamaya başlanacak | `!start development` |
|
|
184
|
-
| "Ne durumdayız?" | `!status` |
|
|
185
|
-
| Production'a çıkılacak | `!deploy prod` |
|
|
186
|
-
| Production'da bir şey patladı | `!hotfix [id]` |
|
|
187
|
-
| Tamamen geri dönülecek | `!rollback [version]` |
|
|
188
|
-
| Sprint başı / dönem arası bakım | `!maintenance` |
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## 5. Ajan Sistemi — Kimler Ne Yapar?
|
|
193
|
-
|
|
194
|
-
Her ajan belirli bir role odaklanmıştır. Sen komut verirsin, ajan kendi rolüne göre hareket eder.
|
|
195
|
-
|
|
196
|
-
### Hiyerarşi
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
+prime (SEN)
|
|
200
|
-
└─ +operation-manager ← Orkestrasyon, görev dağılımı
|
|
201
|
-
├─ +product-manager ← Ürün, backlog, kullanıcı ihtiyaçları
|
|
202
|
-
│ ├─ +designer ← UI/UX, tasarım sistemi
|
|
203
|
-
│ ├─ +copywriter ← Metinler, marka dili
|
|
204
|
-
│ ├─ +growth-expert ← SEO, analitik, büyüme
|
|
205
|
-
│ └─ +compliance-expert ← KVKK, GDPR
|
|
206
|
-
├─ +engineering-manager ← Mimari, code review, teknik karar
|
|
207
|
-
│ ├─ +backend-developer
|
|
208
|
-
│ ├─ +frontend-developer
|
|
209
|
-
│ └─ +db-admin
|
|
210
|
-
└─ +delivery-manager ← Teslimat, release koordinasyonu
|
|
211
|
-
├─ +devops-engineer ← CI/CD, ortam, Git
|
|
212
|
-
├─ +qa-engineer ← Test, kalite güvence
|
|
213
|
-
└─ +security-engineer ← Güvenlik, açık tespiti
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Her Oturum `+operation-manager` Olarak Başlar
|
|
217
|
-
|
|
218
|
-
AI ajanı `AGENTS.md` dosyasını okuyarak her oturuma `+operation-manager` kimliğiyle girer.
|
|
219
|
-
Bağlama göre hangi uzman ajana geçeceğine karar verir.
|
|
220
|
-
|
|
221
|
-
### Ajan Kimlik Beyanı
|
|
222
|
-
|
|
223
|
-
Her ajan yanıtının başında şu formatı kullanır:
|
|
224
|
-
```
|
|
225
|
-
+engineering-manager | T12 | Code review başlatıldı
|
|
226
|
-
+backend-developer | T08 | In Progress — auth servisi yazılıyor
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
Bunu görmüyorsan ajan protokolü ihlal ediyor demektir.
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## 6. Hafıza Sistemi — Bilgi Nerede Saklanır?
|
|
234
|
-
|
|
235
|
-
Kortext, bilgiyi **tek bir doğruluk kaynağı (workspace/)** üzerinden yönetir.
|
|
236
|
-
|
|
237
|
-
### Yazılabilir Alan: `workspace/`
|
|
238
|
-
|
|
239
|
-
```
|
|
240
|
-
workspace/
|
|
241
|
-
├── references/ ← Projenin "gerçeği" — asla silinmez
|
|
242
|
-
│ ├── blueprint.md ← Proje vizyonu ve kapsam
|
|
243
|
-
│ ├── tech-stack.md ← Teknoloji kararları
|
|
244
|
-
│ ├── design-system.md
|
|
245
|
-
│ ├── db-schema.md
|
|
246
|
-
│ └── ...
|
|
247
|
-
│
|
|
248
|
-
├── memory/ ← Canlı proje hafızası
|
|
249
|
-
│ ├── context/ ← Aktif çalışan ajanların anlık durumu
|
|
250
|
-
│ │ └── backend-developer-active.md
|
|
251
|
-
│ ├── backlog/ ← Görev takip sistemi
|
|
252
|
-
│ │ ├── epic-dashboard.md
|
|
253
|
-
│ │ ├── T01-login-form.md
|
|
254
|
-
│ │ └── B03-null-pointer.md
|
|
255
|
-
│ ├── handover.md ← Ajanlar arası devir notları
|
|
256
|
-
│ ├── decisions.md ← Alınan teknik kararlar (ADR)
|
|
257
|
-
│ └── learned.md ← Hatalardan çıkarılan dersler
|
|
258
|
-
│
|
|
259
|
-
└── reports/ ← Periyodik çıktılar
|
|
260
|
-
├── analysis-reports.md
|
|
261
|
-
├── test-reports.md
|
|
262
|
-
├── status-reports.md
|
|
263
|
-
└── ...
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
### En Önemli 3 Dosya
|
|
267
|
-
|
|
268
|
-
**`handover.md`** — Oturumlar arası köprü.
|
|
269
|
-
Bir ajan işini bitirdiğinde buraya devir notu yazar. Bir sonraki oturumda ilk okunan dosya budur.
|
|
270
|
-
|
|
271
|
-
```
|
|
272
|
-
!status komutundan sonra ilk bak: handover.md
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
**`decisions.md`** — Kararların arşivi.
|
|
276
|
-
"Neden bu teknolojiyi seçtik?", "Bu mimari değişiklik neden yapıldı?" — hepsi burada.
|
|
277
|
-
|
|
278
|
-
**`learned.md`** — Hata hafızası.
|
|
279
|
-
"Bu hatayı bir daha yapma" notları. `!maintenance` döngüsünde gözden geçirilir ve aksiyona alınır.
|
|
280
|
-
|
|
281
|
-
### Backlog Nasıl Çalışır?
|
|
282
|
-
|
|
283
|
-
```
|
|
284
|
-
T01-login-form.md → Task (özellik geliştirme)
|
|
285
|
-
B03-null-pointer.md → Bug (hata)
|
|
286
|
-
D02-test-coverage.md → Debt (teknik borç)
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
Her item şu durumlardan geçer:
|
|
290
|
-
```
|
|
291
|
-
To Do → In Progress → Test → Review → Done
|
|
292
|
-
↓
|
|
293
|
-
Blocked (bağımlılık veya teknik engel)
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## 7. Tam Proje Yaşam Döngüsü
|
|
299
|
-
|
|
300
|
-
Sıfırdan production'a tam akış:
|
|
301
|
-
|
|
302
|
-
```
|
|
303
|
-
1. HAZIRLIK
|
|
304
|
-
blueprint.md doldur → !setup kortext
|
|
305
|
-
|
|
306
|
-
2. ANALİZ (01a veya 01b)
|
|
307
|
-
!start analysis → Analiz raporu üretilir
|
|
308
|
-
!approve analysis-reports
|
|
309
|
-
|
|
310
|
-
3. PLANLAMA (02)
|
|
311
|
-
!start planning → Backlog oluşturulur (Epic, Task, Bug, Debt)
|
|
312
|
-
!approve planning
|
|
313
|
-
|
|
314
|
-
4. ORTAM KURULUMU (03)
|
|
315
|
-
!setup environment → .env, CI/CD, Git hook'ları kurulur
|
|
316
|
-
|
|
317
|
-
5. GELİŞTİRME DÖNGÜSÜ (04)
|
|
318
|
-
!start development → Task seçilir → kodlanır → review → test
|
|
319
|
-
|
|
320
|
-
Teknik belirsizlik varsa:
|
|
321
|
-
!start spike → Hipotez → Deney → ADR veya yeni Task
|
|
322
|
-
|
|
323
|
-
6. TEST (05)
|
|
324
|
-
QA döngüsü — otomatik olarak workflow içinde yürür
|
|
325
|
-
|
|
326
|
-
7. DEPLOYMENT (06)
|
|
327
|
-
!deploy prod → Staging → Go/No-Go → Production
|
|
328
|
-
|
|
329
|
-
8. BAKIM (09)
|
|
330
|
-
!maintenance → Her sprint başı veya dönem arası
|
|
331
|
-
|
|
332
|
-
Acil durum:
|
|
333
|
-
!hotfix [id] → Kritik hata → fix → deploy
|
|
334
|
-
!rollback [version] → Geri dön
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
|
|
339
|
-
## 8. Sık Karşılaşılan Durumlar
|
|
340
|
-
|
|
341
|
-
### "Yeni bir özellik istiyorum"
|
|
342
|
-
|
|
343
|
-
```
|
|
344
|
-
!request Kullanıcı profil sayfasına avatar yükleme ekle
|
|
345
|
-
```
|
|
346
|
-
`+product-manager` devreye girer, backlog'a Task açar, ID'sini bildirir.
|
|
347
|
-
|
|
348
|
-
---
|
|
349
|
-
|
|
350
|
-
### "Bir bug buldum"
|
|
351
|
-
|
|
352
|
-
```
|
|
353
|
-
!request Bug: Ödeme formunda miktar 0 girilince sistem çöküyor
|
|
354
|
-
```
|
|
355
|
-
`+product-manager` sınıflandırır → Bug olarak kayıt açılır → `+engineering-manager`'a yönlendirilir.
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
|
-
### "Production'da bir şey patlak verdi"
|
|
360
|
-
|
|
361
|
-
```
|
|
362
|
-
!hotfix B12-payment-crash
|
|
363
|
-
```
|
|
364
|
-
`+devops-engineer` + `+backend-developer` devreye girer. Rollback gerekiyorsa:
|
|
365
|
-
```
|
|
366
|
-
!rollback v1.4.2
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
---
|
|
370
|
-
|
|
371
|
-
### "Ne durumda olduğumuzu bilmiyorum"
|
|
372
|
-
|
|
373
|
-
```
|
|
374
|
-
!status
|
|
375
|
-
```
|
|
376
|
-
Backlog sağlık skoru, aktif ajanlar, blokerlar ve son handover özeti gelir.
|
|
377
|
-
|
|
378
|
-
---
|
|
379
|
-
|
|
380
|
-
### "Bu teknolojiyi kullanmalı mıyız emin değilim"
|
|
381
|
-
|
|
382
|
-
```
|
|
383
|
-
!start spike
|
|
384
|
-
```
|
|
385
|
-
`+engineering-manager` time-box belirler, hipotezi test eder, sana ADR ile sonuç sunar.
|
|
386
|
-
|
|
387
|
-
---
|
|
388
|
-
|
|
389
|
-
### "Sprint arası temizlik yapmak istiyorum"
|
|
390
|
-
|
|
391
|
-
```
|
|
392
|
-
!maintenance
|
|
393
|
-
```
|
|
394
|
-
Bağımlılık güncellemeleri, teknik borç gözden geçirme, güvenlik taraması, learned.md'den aksiyon planı.
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
### Ajan çalışmayı durdurdu / takıldı
|
|
399
|
-
|
|
400
|
-
Bir ajan "3 yöntem denedim, çözüm bulamadım" diyorsa **Loop Protection** devreye girer.
|
|
401
|
-
Ajan sana eskalasyon yapar. Sen karar verirsin:
|
|
402
|
-
- `!approve` → Alternatif yola geç
|
|
403
|
-
- `!reject` → Farklı bir yöntem dene
|
|
404
|
-
- Teknik borcun kabul edilmesine izin ver
|
|
405
|
-
|
|
406
|
-
---
|
|
407
|
-
|
|
408
|
-
## 9. Onay ve Ret Mekanizması
|
|
409
|
-
|
|
410
|
-
Kortext bazı kritik çıktılarda **senin onayını bekler** ve onaysız ilerlemez.
|
|
411
|
-
|
|
412
|
-
### Onay Gerektiren Durumlar
|
|
413
|
-
|
|
414
|
-
| Çıktı | Neden Onay Beklenir? |
|
|
415
|
-
|---|---|
|
|
416
|
-
| Analiz raporu | Yanlış bir temel üzerine planlama yapılmasın |
|
|
417
|
-
| Planlama / backlog | Yanlış göreve girmeyelim |
|
|
418
|
-
| Mimari karar (ADR) | Geri alınamaz kararlar önce sana sorulur |
|
|
419
|
-
| Production deployment | "Git" demen olmadan sistem çıkmaz |
|
|
420
|
-
| Blueprint değişikliği | Proje kapsamı yalnızca sen değiştirebilirsin |
|
|
421
|
-
|
|
422
|
-
### Nasıl Onaylanır / Reddedilir
|
|
423
|
-
|
|
424
|
-
```
|
|
425
|
-
!approve analysis-reports → Raporu onayla, planlamaya geç
|
|
426
|
-
!reject analysis-reports eksik → Geri gönder, revizyon iste
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
---
|
|
430
|
-
|
|
431
|
-
## 10. İyi Bilmek Gerekenler
|
|
432
|
-
|
|
433
|
-
### "Acil yap, kuralları boşver" deme
|
|
434
|
-
|
|
435
|
-
`behavior.md`'nin en sert kuralı bu. Ajan bu talebi yerine getirmez — **getiremez.**
|
|
436
|
-
Acil durumlar için `!hotfix` veya `!rollback` vardır. Bunlar zaten hızlı yollardır.
|
|
437
|
-
|
|
438
|
-
---
|
|
439
|
-
|
|
440
|
-
### Her Şey `workspace/` Altına Yazılır
|
|
441
|
-
|
|
442
|
-
Framework dosyaları (`agents/`, `rules/`, `workflows/`, `hooks/`, `scripts/`) salt okunurdur.
|
|
443
|
-
Ajanlar sadece `workspace/` altına yazar. Bu kasıtlı bir tasarım kararıdır.
|
|
444
|
-
|
|
445
|
-
---
|
|
446
|
-
|
|
447
|
-
### Oturum Başlangıcı Otomatiktir
|
|
448
|
-
|
|
449
|
-
`kortext-init.sh` çalıştığında sistem otomatik olarak:
|
|
450
|
-
1. Framework'ü kilitler
|
|
451
|
-
2. Git hook'larını kurar
|
|
452
|
-
3. SESSION_BRIEF üretir (aktif context + son handover)
|
|
453
|
-
4. Projenin mevcut durumunu tespit eder
|
|
454
|
-
|
|
455
|
-
Sen sadece `!setup kortext` yaz.
|
|
456
|
-
|
|
457
|
-
---
|
|
458
|
-
|
|
459
|
-
### Handover Olmadan Görev Kapanmaz
|
|
460
|
-
|
|
461
|
-
Bir ajan görevi bitirdiğinde:
|
|
462
|
-
1. `kortext-handover.py` ile devir notu yazar
|
|
463
|
-
2. Görev ancak ondan sonra `Done` statüsüne geçer
|
|
464
|
-
3. `handover-guard.sh` bu kuralı Git commit öncesinde kontrol eder
|
|
465
|
-
|
|
466
|
-
Bu mekanizma oturumlar arası bilgi kaybının önüne geçer.
|
|
467
|
-
|
|
468
|
-
---
|
|
469
|
-
|
|
470
|
-
### `decisions.md` En Değerli Dosyandır
|
|
471
|
-
|
|
472
|
-
"Neden Laravel seçtik?", "Neden monolith gittik?" — aylar sonra bu soruları soracaksın.
|
|
473
|
-
Cevaplar `workspace/memory/decisions.md`'dedir.
|
|
474
|
-
|
|
475
|
-
---
|
|
476
|
-
|
|
477
|
-
### Teknik Borcu Görmezden Gelme
|
|
478
|
-
|
|
479
|
-
`!maintenance` döngüsü sırasında `workspace/memory/backlog/debt-dashboard.md` gözden geçirilir.
|
|
480
|
-
Birikmiş borçlar bir noktada her şeyi yavaşlatır — dönem başlarında küçük porsiyonlar halinde temizlemek en sağlıklı yaklaşımdır.
|
|
481
|
-
|
|
482
|
-
---
|
|
483
|
-
|
|
484
|
-
## Hızlı Başlangıç Özeti
|
|
485
|
-
|
|
486
|
-
```
|
|
487
|
-
1. blueprint.md doldur (vizyon, hedef kitle, teknoloji)
|
|
488
|
-
2. !setup kortext (framework'ü aktif et)
|
|
489
|
-
3. !start analysis (yeni proje için)
|
|
490
|
-
veya !start onboard (mevcut proje için)
|
|
491
|
-
4. !approve [rapor] (her aşamada onayını ver)
|
|
492
|
-
5. !start planning (backlog oluştur)
|
|
493
|
-
6. !setup environment (ortam kur)
|
|
494
|
-
7. !start development (kod yazmaya başla)
|
|
495
|
-
8. !deploy prod (production'a çık)
|
|
496
|
-
9. !maintenance (dönem arası bakım)
|
|
497
|
-
```
|
|
498
|
-
|
|
499
|
-
---
|
|
500
|
-
|
|
501
|
-
> **Son not:** Kortext sana ne yapacağını söylemez — sen ne yapılmasını istediğini söylersin,
|
|
502
|
-
> Kortext nasıl yapılacağını bilir ve kim yapacağını organize eder.
|
package/settings/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.3.0
|
package/settings/config.md
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
KORTEXT_SIZE_LIMIT=500
|
|
2
|
-
KORTEXT_LOCK_TIMEOUT_SECONDS=300 # Saniye cinsinden lock timeout (Python script)
|
|
3
|
-
KORTEXT_LOCK_TIMEOUT_MIN=5 # Dakika cinsinden lock timeout (shell fallback)
|
|
4
|
-
KORTEXT_BACKUP_KEEP=5
|
|
5
|
-
KORTEXT_HOOK_MODE=permissive
|
|
6
|
-
KORTEXT_INTERACTION_LANGUAGE=tr # tr | en
|
|
7
|
-
KORTEXT_STALE_HOURS_CONTEXT=24 # Aktif context dosyalarının stale eşiği (saat)
|
|
8
|
-
KORTEXT_STALE_HOURS_BACKLOG=48 # In Progress backlog item'larının stale eşiği (saat)
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# Kortext Runtime Adapter Referansı
|
|
2
|
-
|
|
3
|
-
Bu dosya, Kortext framework'ünün üç farklı AI runtime'ı (Claude Code, Gemini CLI, Codex/Generic) ile nasıl bağlandığını tanımlar. Faz 2 (glue layer) kapsamında oluşturulmuştur ve `kortext init --runtime <name>` komutunun hangi adapter'ı kuracağını belirler.
|
|
4
|
-
|
|
5
|
-
## 1. Genel İlke
|
|
6
|
-
|
|
7
|
-
- **AGENTS.md herkes okur.** Bu dosya, runtime'dan bağımsız olarak tüm AI araçlarının okuduğu **baseline persona ve davranış sözleşmesidir**. Codex CLI ve generic (özelleşmemiş) runtime'lar için tek kontrol noktasıdır.
|
|
8
|
-
- **Her runtime için ayrı hook event mapping vardır.** Claude Code `PreToolUse` / `PostToolUse` event'leri kullanırken, Gemini CLI `preToolCall` / `postToolCall`, Codex ise yalnızca git hook chain üzerinden çalışır.
|
|
9
|
-
- **`kortext init --runtime <name>`** kurulum sırasında uygun adapter config dosyasını projeye yerleştirir. Runtime tespiti `--runtime` flag'i veya `KORTEXT_RUNTIME` env var üzerinden yapılır.
|
|
10
|
-
- **Git hook'ları runtime'dan bağımsızdır.** `pre-commit`, `commit-msg` ve `pre-push` shell hook'ları her runtime'da aynı şekilde çalışır; bu hook'lar AI runtime API'ına bağlı değildir.
|
|
11
|
-
|
|
12
|
-
## 2. Hook Event Mapping Tablosu
|
|
13
|
-
|
|
14
|
-
Kortext hook'larının her runtime'da hangi event'e bağlandığını gösteren ana referans tablosu:
|
|
15
|
-
|
|
16
|
-
| Kortext Hook | Claude Code Event | Gemini CLI Event | Codex / Generic |
|
|
17
|
-
|---|---|---|---|
|
|
18
|
-
| `write-guard.sh` | `PreToolUse:Write\|Edit` | `preToolCall` | `preTool` (AGENTS.md kuralı) |
|
|
19
|
-
| `audit-logger.sh` | `PostToolUse:*` | `postToolCall` | `postTool` (AGENTS.md kuralı) |
|
|
20
|
-
| `secret-scanner.sh` | `PreToolUse:Bash\|Write` | `preToolCall` | `preTool` (AGENTS.md kuralı) |
|
|
21
|
-
| `auto-locker.sh` | `PreToolUse:Edit\|Write` (path filter: `workspace/memory/context/`, `handover.md`) | `preToolCall` | `preTool` (AGENTS.md kuralı) |
|
|
22
|
-
| `auto-unlocker.sh` | `PostToolUse:Edit\|Write` (aynı path filter) | `postToolCall` | `postTool` (AGENTS.md kuralı) |
|
|
23
|
-
| `snapshot-guard.sh` | `PreToolUse:Edit\|Write` (critical paths: `handover.md`, `decisions.md`, `learned.md`, `context/`) | `preToolCall` | `preTool` (AGENTS.md kuralı) |
|
|
24
|
-
| `lint-guard.sh` | `git pre-commit` (shell, runtime'dan bağımsız) | aynı | aynı |
|
|
25
|
-
| `size-guard.sh` | `git pre-commit` | aynı | aynı |
|
|
26
|
-
| `commit-msg-guard.sh` | `git commit-msg` | aynı | aynı |
|
|
27
|
-
| `branch-guard.sh` | `git pre-push` | aynı | aynı |
|
|
28
|
-
| `backlog-sync-guard.sh` | `git pre-commit` | aynı | aynı |
|
|
29
|
-
| `handover-guard.sh` | `git pre-commit` | aynı | aynı |
|
|
30
|
-
|
|
31
|
-
**Önemli not:** Git hook'ları runtime'dan tamamen bağımsızdır. AI runtime hook'ları (Claude Code'un `PreToolUse`/`PostToolUse` mekanizması gibi) yalnızca AI ajanın tool çağrılarını yakalar; git operasyonlarına müdahale etmez.
|
|
32
|
-
|
|
33
|
-
## 3. Environment Değişkenleri
|
|
34
|
-
|
|
35
|
-
Her runtime'ın hook'lara hangi environment değişkenini ilettiğini gösterir. Tüm hook'lar `KORTEXT_FILE_PATH`'i öncelikli arar, bulamazsa runtime'a özgü değişkene düşer.
|
|
36
|
-
|
|
37
|
-
### Claude Code
|
|
38
|
-
|
|
39
|
-
- `CLAUDE_FILE_PATH` — Hedef dosyanın yolu (Write/Edit tool kullanıldığında).
|
|
40
|
-
- `CLAUDE_TOOL_NAME` — Çağrılan tool adı (`Write`, `Edit`, `Bash`, `Read` vb.).
|
|
41
|
-
- **stdin (JSON):** Claude Code, hook'lara JSON formatında bağlam iletir. Hook'lar bunu `jq` veya python ile parse eder.
|
|
42
|
-
|
|
43
|
-
### Gemini CLI
|
|
44
|
-
|
|
45
|
-
- `GEMINI_FILE_PATH` — Hedef dosyanın yolu.
|
|
46
|
-
- `GEMINI_TOOL_NAME` — Çağrılan tool adı.
|
|
47
|
-
- **Not:** Gemini CLI'nin hook API'ı Claude Code'a göre daha kısıtlıdır; bazı event'ler eşleşmeyebilir.
|
|
48
|
-
|
|
49
|
-
### Codex / Generic
|
|
50
|
-
|
|
51
|
-
- `KORTEXT_FILE_PATH` — Universal fallback. Runtime'a özgü değişken yoksa kullanılır.
|
|
52
|
-
- Codex ve generic runtime'larda in-process hook mekanizması olmadığı için hook'lar yalnızca git seviyesinde tetiklenir.
|
|
53
|
-
|
|
54
|
-
### Tüm Runtime'lar İçin Ortak
|
|
55
|
-
|
|
56
|
-
- `KORTEXT_AGENT_NAME` — Aktif ajanın adı (örn: `backend-developer`). Audit log ve lock dosyaları bu değeri kullanır.
|
|
57
|
-
- `KORTEXT_RUNTIME` — Aktif runtime adı (`claude_code`, `gemini_cli`, `codex`). Hook'lar runtime-specific davranış için bu değeri okuyabilir.
|
|
58
|
-
- `KORTEXT_HOOK_MODE` — `permissive` (varsayılan) veya `strict`. Strict modda eksik env var hatası fail-loud yapar.
|
|
59
|
-
- `KORTEXT_INTERACTION_LANGUAGE` — Kullanıcıyla iletişim dili (`tr` / `en`).
|
|
60
|
-
|
|
61
|
-
## 4. Kurulum Akışı
|
|
62
|
-
|
|
63
|
-
`kortext init --runtime <name>` komutu çağrıldığında izlenen adımlar:
|
|
64
|
-
|
|
65
|
-
1. **Runtime Tespiti**
|
|
66
|
-
- `--runtime` flag'i öncelikli okunur.
|
|
67
|
-
- Flag yoksa `KORTEXT_RUNTIME` env var kontrol edilir.
|
|
68
|
-
- O da yoksa `claude_code` varsayılan kabul edilir (en olgun adapter).
|
|
69
|
-
|
|
70
|
-
2. **Adapter Config Dosyasını Yerleştir**
|
|
71
|
-
- `claude_code` → projedeki `.claude/settings.json` olarak kopyalanır. Template: `settings/.claude-settings.template.json`.
|
|
72
|
-
- `gemini_cli` → projedeki `.gemini/config.json` olarak kopyalanır. Template: `settings/.gemini-config.template.json` (Faz 2 v2'de eklenecek; şimdilik placeholder).
|
|
73
|
-
- `codex` → AGENTS.md proje köküne kopyalanır. Codex zaten AGENTS.md'yi otomatik okur, ek config gerekmez.
|
|
74
|
-
|
|
75
|
-
3. **Git Hook'ları Kur** (runtime'dan bağımsız)
|
|
76
|
-
- `.git/hooks/pre-commit`, `.git/hooks/commit-msg`, `.git/hooks/pre-push` symlink olarak kurulur.
|
|
77
|
-
- Hedef dosyalar `<kortext-root>/hooks/git-pre-commit.sh`, `commit-msg-guard.sh`, `git-pre-push.sh`.
|
|
78
|
-
|
|
79
|
-
4. **Environment Değişkeni Önerisi** (opsiyonel)
|
|
80
|
-
- `KORTEXT_RUNTIME=<name>` değişkeninin shell profile (`~/.zshrc`, `~/.bashrc`) veya proje `.env` dosyasına eklenmesi önerilir.
|
|
81
|
-
- Bu sayede sonraki oturumlarda runtime tespiti otomatik olur.
|
|
82
|
-
|
|
83
|
-
## 5. Genişletilebilirlik
|
|
84
|
-
|
|
85
|
-
Yeni bir runtime eklemek için aşağıdaki adımlar izlenir:
|
|
86
|
-
|
|
87
|
-
1. **Bu dosyaya yeni sütun ekle** — Bölüm 2'deki tabloya yeni runtime sütunu eklenir; her hook için event mapping tanımlanır.
|
|
88
|
-
2. **Yeni template config dosyası oluştur** — `settings/.<runtime>-config.template.<format>` (örn: `.openai-config.template.json`).
|
|
89
|
-
3. **`hooks/kortext-init.sh` güncelle** — Yeni bir runtime branch'i eklenir; tespit ve dosya kopyalama mantığı yazılır.
|
|
90
|
-
4. **Environment değişkeni dokümante et** — Bölüm 3'e yeni runtime için file_path env var'ı eklenir.
|
|
91
|
-
5. **Test et** — `kortext init --runtime <new>` ile boş bir projede smoke test yap.
|
|
92
|
-
|
|
93
|
-
## 6. Bilinen Sınırlar
|
|
94
|
-
|
|
95
|
-
- **Gemini CLI hook API olgunluğu:** Gemini CLI'nin hook API'ı şu an Claude Code kadar olgun değil. Bazı event'ler (özellikle JSON stdin tabanlı bağlam aktarımı) tam olarak desteklenmiyor olabilir. Gemini runtime'ında hook'lar fallback davranışına düşebilir (`KORTEXT_HOOK_MODE=permissive`).
|
|
96
|
-
|
|
97
|
-
- **Codex / Generic'te in-process hook yok:** Codex CLI ve generic runtime'lar, AI ajan tool çağrılarını yakalamak için in-process bir hook mekanizması sunmuyor. Bu nedenle:
|
|
98
|
-
- `write-guard.sh`, `auto-locker.sh`, `secret-scanner.sh` gibi pre-tool hook'lar **çalışmaz**.
|
|
99
|
-
- Ajan davranışı kontrolü tamamen **AGENTS.md** üzerinden sağlanır (ajan AGENTS.md kurallarına uymak zorunda olduğu varsayımıyla).
|
|
100
|
-
- Yalnızca git seviyesi hook chain çalışır (`pre-commit`, `commit-msg`, `pre-push`).
|
|
101
|
-
|
|
102
|
-
- **Runtime karışık modu desteklenmez:** Aynı projede birden fazla runtime aynı anda kullanılamaz. `kortext init` çalıştırıldığında tek bir runtime seçilir; geçiş yapmak için tekrar `init` gerekir.
|
|
103
|
-
|
|
104
|
-
- **Path filter granülaritesi:** Claude Code'da `matcher` field'ı regex destekler ama path-based filtering native değildir. Path filter mantığı hook script içinde uygulanır (`auto-locker.sh` zaten `case "$FILE_PATH" in *"context.md"*) ...` ile bunu yapıyor).
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/skills/db-admin/.gitkeep
DELETED
|
File without changes
|
|
File without changes
|
package/skills/designer/.gitkeep
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|