kortext 2.2.3 → 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.
Files changed (208) hide show
  1. package/AGENTS.md +0 -4
  2. package/CHANGELOG.md +81 -0
  3. package/LICENSE +21 -0
  4. package/README.md +145 -55
  5. package/USER-GUIDE.md +505 -0
  6. package/bin/kortext.js +23 -0
  7. package/bin/kortext.ts +377 -0
  8. package/dist/bin/kortext.js +346 -0
  9. package/dist/bin/kortext.js.map +1 -0
  10. package/dist/mcp/index.js +4 -0
  11. package/dist/mcp/index.js.map +1 -0
  12. package/dist/mcp/server.js +553 -0
  13. package/dist/mcp/server.js.map +1 -0
  14. package/dist/mcp/sse.js +38 -0
  15. package/dist/mcp/sse.js.map +1 -0
  16. package/dist/mcp/stdio.js +44 -0
  17. package/dist/mcp/stdio.js.map +1 -0
  18. package/dist/server/cli/cleanup.js +73 -0
  19. package/dist/server/cli/cleanup.js.map +1 -0
  20. package/dist/server/cli/commands.js +73 -0
  21. package/dist/server/cli/commands.js.map +1 -0
  22. package/dist/server/cli/doctor.js +118 -0
  23. package/dist/server/cli/doctor.js.map +1 -0
  24. package/dist/server/cli/executor-factory.js +39 -0
  25. package/dist/server/cli/executor-factory.js.map +1 -0
  26. package/dist/server/cli/init.js +121 -0
  27. package/dist/server/cli/init.js.map +1 -0
  28. package/dist/server/cli/logs.js +28 -0
  29. package/dist/server/cli/logs.js.map +1 -0
  30. package/dist/server/cli/serve.js +72 -0
  31. package/dist/server/cli/serve.js.map +1 -0
  32. package/dist/server/config/env.js +12 -0
  33. package/dist/server/config/env.js.map +1 -0
  34. package/dist/server/db/client.js +32 -0
  35. package/dist/server/db/client.js.map +1 -0
  36. package/dist/server/db/json.js +21 -0
  37. package/dist/server/db/json.js.map +1 -0
  38. package/dist/server/db/migrate.js +70 -0
  39. package/dist/server/db/migrate.js.map +1 -0
  40. package/dist/server/db/migrations/001_init.sql +243 -0
  41. package/dist/server/db/repositories/audit-log.js +58 -0
  42. package/dist/server/db/repositories/audit-log.js.map +1 -0
  43. package/dist/server/db/repositories/backlog.js +96 -0
  44. package/dist/server/db/repositories/backlog.js.map +1 -0
  45. package/dist/server/db/repositories/contexts.js +54 -0
  46. package/dist/server/db/repositories/contexts.js.map +1 -0
  47. package/dist/server/db/repositories/decisions.js +71 -0
  48. package/dist/server/db/repositories/decisions.js.map +1 -0
  49. package/dist/server/db/repositories/handovers.js +53 -0
  50. package/dist/server/db/repositories/handovers.js.map +1 -0
  51. package/dist/server/db/repositories/index.js +30 -0
  52. package/dist/server/db/repositories/index.js.map +1 -0
  53. package/dist/server/db/repositories/locks.js +59 -0
  54. package/dist/server/db/repositories/locks.js.map +1 -0
  55. package/dist/server/db/repositories/notifications.js +63 -0
  56. package/dist/server/db/repositories/notifications.js.map +1 -0
  57. package/dist/server/db/repositories/pending-questions.js +63 -0
  58. package/dist/server/db/repositories/pending-questions.js.map +1 -0
  59. package/dist/server/db/repositories/runs.js +138 -0
  60. package/dist/server/db/repositories/runs.js.map +1 -0
  61. package/dist/server/db/repositories/runtime-artifacts.js +39 -0
  62. package/dist/server/db/repositories/runtime-artifacts.js.map +1 -0
  63. package/dist/server/db/repositories/secrets.js +65 -0
  64. package/dist/server/db/repositories/secrets.js.map +1 -0
  65. package/dist/server/db/repositories/sessions.js +48 -0
  66. package/dist/server/db/repositories/sessions.js.map +1 -0
  67. package/dist/server/db/schemas.js +308 -0
  68. package/dist/server/db/schemas.js.map +1 -0
  69. package/dist/server/engine/consistency.js +25 -0
  70. package/dist/server/engine/consistency.js.map +1 -0
  71. package/dist/server/engine/dag.js +86 -0
  72. package/dist/server/engine/dag.js.map +1 -0
  73. package/dist/server/engine/executor.js +2 -0
  74. package/dist/server/engine/executor.js.map +1 -0
  75. package/dist/server/engine/executors/claude-cli-executor.js +83 -0
  76. package/dist/server/engine/executors/claude-cli-executor.js.map +1 -0
  77. package/dist/server/engine/executors/cli-spawn.js +127 -0
  78. package/dist/server/engine/executors/cli-spawn.js.map +1 -0
  79. package/dist/server/engine/executors/codex-cli-executor.js +69 -0
  80. package/dist/server/engine/executors/codex-cli-executor.js.map +1 -0
  81. package/dist/server/engine/executors/gemini-cli-executor.js +69 -0
  82. package/dist/server/engine/executors/gemini-cli-executor.js.map +1 -0
  83. package/dist/server/engine/executors/mock-executor.js +52 -0
  84. package/dist/server/engine/executors/mock-executor.js.map +1 -0
  85. package/dist/server/engine/executors/persona-routed-executor.js +17 -0
  86. package/dist/server/engine/executors/persona-routed-executor.js.map +1 -0
  87. package/dist/server/engine/gate-enforcer.js +75 -0
  88. package/dist/server/engine/gate-enforcer.js.map +1 -0
  89. package/dist/server/engine/git-commit.js +42 -0
  90. package/dist/server/engine/git-commit.js.map +1 -0
  91. package/dist/server/engine/handover.js +120 -0
  92. package/dist/server/engine/handover.js.map +1 -0
  93. package/dist/server/engine/item-lifecycle.js +74 -0
  94. package/dist/server/engine/item-lifecycle.js.map +1 -0
  95. package/dist/server/engine/persona-registry.js +108 -0
  96. package/dist/server/engine/persona-registry.js.map +1 -0
  97. package/dist/server/engine/worker-pool.js +324 -0
  98. package/dist/server/engine/worker-pool.js.map +1 -0
  99. package/dist/server/engine/workflow-loader.js +55 -0
  100. package/dist/server/engine/workflow-loader.js.map +1 -0
  101. package/dist/server/engine/workflow-parser.js +158 -0
  102. package/dist/server/engine/workflow-parser.js.map +1 -0
  103. package/dist/server/engine/worktree.js +176 -0
  104. package/dist/server/engine/worktree.js.map +1 -0
  105. package/dist/server/index.js +99 -0
  106. package/dist/server/index.js.map +1 -0
  107. package/dist/server/notifications/dispatcher.js +60 -0
  108. package/dist/server/notifications/dispatcher.js.map +1 -0
  109. package/dist/server/notifications/slack.js +37 -0
  110. package/dist/server/notifications/slack.js.map +1 -0
  111. package/dist/server/notifications/telegram.js +33 -0
  112. package/dist/server/notifications/telegram.js.map +1 -0
  113. package/dist/server/orchestrator/approval-queue.js +83 -0
  114. package/dist/server/orchestrator/approval-queue.js.map +1 -0
  115. package/dist/server/orchestrator/blueprint-watcher.js +94 -0
  116. package/dist/server/orchestrator/blueprint-watcher.js.map +1 -0
  117. package/dist/server/orchestrator/orchestrator.js +283 -0
  118. package/dist/server/orchestrator/orchestrator.js.map +1 -0
  119. package/dist/server/orchestrator/pipeline-chainer.js +96 -0
  120. package/dist/server/orchestrator/pipeline-chainer.js.map +1 -0
  121. package/dist/server/orchestrator/resume.js +36 -0
  122. package/dist/server/orchestrator/resume.js.map +1 -0
  123. package/dist/server/routes/approvals.js +52 -0
  124. package/dist/server/routes/approvals.js.map +1 -0
  125. package/dist/server/routes/backlog.js +44 -0
  126. package/dist/server/routes/backlog.js.map +1 -0
  127. package/dist/server/routes/db-info.js +21 -0
  128. package/dist/server/routes/db-info.js.map +1 -0
  129. package/dist/server/routes/docs.js +70 -0
  130. package/dist/server/routes/docs.js.map +1 -0
  131. package/dist/server/routes/doctor.js +19 -0
  132. package/dist/server/routes/doctor.js.map +1 -0
  133. package/dist/server/routes/handovers.js +25 -0
  134. package/dist/server/routes/handovers.js.map +1 -0
  135. package/dist/server/routes/health.js +11 -0
  136. package/dist/server/routes/health.js.map +1 -0
  137. package/dist/server/routes/personas.js +96 -0
  138. package/dist/server/routes/personas.js.map +1 -0
  139. package/dist/server/routes/runs.js +41 -0
  140. package/dist/server/routes/runs.js.map +1 -0
  141. package/dist/server/routes/workflows.js +38 -0
  142. package/dist/server/routes/workflows.js.map +1 -0
  143. package/dist/server/safety/harmful-output-filter.js +40 -0
  144. package/dist/server/safety/harmful-output-filter.js.map +1 -0
  145. package/dist/server/safety/secret-scanner.js +169 -0
  146. package/dist/server/safety/secret-scanner.js.map +1 -0
  147. package/dist/server/services/markdown-sync.js +101 -0
  148. package/dist/server/services/markdown-sync.js.map +1 -0
  149. package/dist/web/assets/index-B80d5ZPZ.js +75 -0
  150. package/dist/web/assets/index-B80d5ZPZ.js.map +1 -0
  151. package/dist/web/assets/index-Bge5Gzqv.css +1 -0
  152. package/dist/web/index.html +13 -0
  153. package/docs/architecture.md +413 -0
  154. package/package.json +83 -11
  155. package/scripts/copy-migrations.mjs +29 -0
  156. package/workspace/.locks/workspace_handover.md.lock +3 -0
  157. package/hooks/audit-logger.sh +0 -25
  158. package/hooks/auto-locker.sh +0 -74
  159. package/hooks/auto-unlocker.sh +0 -17
  160. package/hooks/backlog-sync-guard.sh +0 -12
  161. package/hooks/branch-guard.sh +0 -32
  162. package/hooks/commit-msg-guard.sh +0 -43
  163. package/hooks/git-pre-commit.sh +0 -76
  164. package/hooks/git-pre-push.sh +0 -17
  165. package/hooks/handover-guard.sh +0 -33
  166. package/hooks/kortext-init.sh +0 -194
  167. package/hooks/kortext-lib.sh +0 -151
  168. package/hooks/lint-guard.sh +0 -50
  169. package/hooks/secret-scanner.sh +0 -89
  170. package/hooks/size-guard.sh +0 -48
  171. package/hooks/snapshot-guard.sh +0 -39
  172. package/hooks/write-guard.sh +0 -77
  173. package/scripts/kortext-backlog-add.py +0 -123
  174. package/scripts/kortext-backlog-health.py +0 -112
  175. package/scripts/kortext-backlog-sync.py +0 -117
  176. package/scripts/kortext-bulk-plan.py +0 -63
  177. package/scripts/kortext-cli.py +0 -376
  178. package/scripts/kortext-consistency-check.py +0 -74
  179. package/scripts/kortext-context-check.py +0 -146
  180. package/scripts/kortext-handover.py +0 -107
  181. package/scripts/kortext-item-check.py +0 -61
  182. package/scripts/kortext-item-start.py +0 -70
  183. package/scripts/kortext-item-transition.py +0 -78
  184. package/scripts/kortext-lock.py +0 -174
  185. package/scripts/kortext-session-start.py +0 -127
  186. package/scripts/lock_kortext.sh +0 -34
  187. package/settings/.claude-settings.template.json +0 -48
  188. package/settings/CHANGELOG.md +0 -176
  189. package/settings/INTEGRATION-MAP.md +0 -276
  190. package/settings/README.md +0 -255
  191. package/settings/USER-GUIDE.md +0 -502
  192. package/settings/VERSION +0 -1
  193. package/settings/config.md +0 -8
  194. package/settings/runtime-adapters.md +0 -104
  195. package/skills/backend-developer/.gitkeep +0 -0
  196. package/skills/compliance-expert/.gitkeep +0 -0
  197. package/skills/copywriter/.gitkeep +0 -0
  198. package/skills/db-admin/.gitkeep +0 -0
  199. package/skills/delivery-manager/.gitkeep +0 -0
  200. package/skills/designer/.gitkeep +0 -0
  201. package/skills/devops-engineer/.gitkeep +0 -0
  202. package/skills/engineering-manager/.gitkeep +0 -0
  203. package/skills/frontend-developer/.gitkeep +0 -0
  204. package/skills/growth-expert/.gitkeep +0 -0
  205. package/skills/operation-manager/.gitkeep +0 -0
  206. package/skills/product-manager/.gitkeep +0 -0
  207. package/skills/qa-engineer/.gitkeep +0 -0
  208. package/skills/security-engineer/.gitkeep +0 -0
@@ -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/` 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.2.3
@@ -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
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
File without changes
File without changes