ai-enderun 0.0.3 → 0.0.5

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.
@@ -6,7 +6,7 @@ Bu dosya, projenin tek gerçeklik kaynağı (Single Source of Truth) ve kalıcı
6
6
 
7
7
  | Aktif Faz | Profile | Son Güncelleme | Aktif Trace ID | Blokaj |
8
8
  | :-------- | :------ | :------------- | :------------- | :----- |
9
- | PHASE_0 | Lightweight | 2026-05-07 | 18969447-95fb-4a8f-b0af-18336c3f1931 | YOK |
9
+ | PHASE_0 | Lightweight | 2026-05-08 | 760c3982-2a03-4a4a-8f5c-d5f79502e34a | YOK |
10
10
 
11
11
  ## PROJE TANIMI
12
12
 
@@ -14,7 +14,7 @@ Bu dosya, projenin tek gerçeklik kaynağı (Single Source of Truth) ve kalıcı
14
14
  | :--- | :---- |
15
15
  | Proje Adı | AI-Enderun |
16
16
  | Platform | Agent skill sandbox / orchestration framework |
17
- | Frontend | React 19 + Vite + Zustand + Tailwind |
17
+ | Frontend | React 19 + Vite + Zustand + Panda CSS |
18
18
  | Backend | Node.js 20+ + Fastify |
19
19
  | DB | PostgreSQL |
20
20
  | Auth | Henüz netleştirilmedi |
@@ -38,6 +38,9 @@ Bu dosya, projenin tek gerçeklik kaynağı (Single Source of Truth) ve kalıcı
38
38
  | 2026-05-07 | Contract-First Discipline | Sıfır hata ile ölçeklenebilir geliştirme | @manager |
39
39
  | 2026-05-07 | Canonical MCP Tooling | Agent kabiliyetlerini korurken araç adlarını tek sözlükte hizalamak | @analyst |
40
40
  | 2026-05-07 | UUID Trace Standard | Yeni görev zincirlerinde yalnızca UUID v4 kullanmak | @manager |
41
+ | 2026-05-08 | Panda CSS Transition | Mimari disiplin ve tip güvenliği için Tailwind'den Panda CSS'e geçiş | @manager |
42
+ | 2026-05-08 | Zero UI Library Policy | Özgünlük ve tam kontrol için hazır kütüphanelerin yasaklanması | @manager |
43
+ | 2026-05-08 | ULID Standard | Veritabanı performansı ve sıralanabilirlik için UUID yerine ULID'ye geçiş | @manager |
41
44
 
42
45
  ## TESLİM EDİLENLER
43
46
 
@@ -57,49 +60,49 @@ Bu dosya, projenin tek gerçeklik kaynağı (Single Source of Truth) ve kalıcı
57
60
 
58
61
  ## HISTORY (Kalıcı Hafıza)
59
62
 
60
- ### 2026-05-07README ve Dökümantasyon Güncellemesi
63
+ ### 2026-05-08Yayın Hazırlığı ve v0.0.5
61
64
 
62
- - **Ajan:** @analyst
63
- - **Trace ID:**
64
- - **Yapılan:** Tüm README dosyaları (root, framework-mcp, shared-types, api) projenin "Enderun" kimliğine ve ajan yeteneklerine uygun şekilde detaylandırılarak güncellendi. Ajanların kurulum ve operasyonel protokolleri netleştirildi.
65
- - **Karar:** Dökümantasyonun Türkçe ağırlıklı ancak global standartlarda tutulmasına karar verildi.
66
- - **Sonraki Adım:** PHASE_1 hazırlıkları kapsamında ilk API dökümanlarının oluşturulması.
65
+ - **Ajan:** @manager
66
+ - **Trace ID:** 760c3982-2a03-4a4a-8f5c-d5f79502e34a
67
+ - **Yapılan:** Loglar temizlendi, tüm paket versiyonları `v0.0.5` olarak güncellendi. Mimari değişiklikler (Panda CSS & Zero UI Library) sonrasında stabil bir yayın state'i oluşturuldu.
68
+ - **Karar:** Yayın öncesi logların temizlenmesine ve sürüm yükseltilmesine karar verildi.
69
+ - **Sonraki Adım:** `git push` ve npm yayınlama işlemlerinin gerçekleştirilmesi.
67
70
 
68
- ### 2026-05-07Görevlendirme ve Mülkiyet Analizi
71
+ ### 2026-05-08Panda CSS ve Özgün Tasarım Geçişi
69
72
 
70
- - **Ajan:** @analyst
71
- - **Trace ID:** ANALYST-001 (legacy)
72
- - **Yapılan:** Proje dosyaları incelenerek @manager'ın @frontend'e web görevlendirmesi yapıp yapmadığı analiz edildi. Gemini.md üzerindeki mülkiyet matrisi teyit edildi.
73
- - **Karar:** @frontend'in apps/web/ sahibi olduğu teyit edildi, ancak aktif operasyonel bir görev henüz atanmadı.
74
- - **Sonraki Adım:** Phase 1 geçişi için tech-stack dökümanının detaylandırılması.
73
+ - **Ajan:** @manager
74
+ - **Trace ID:** 760c3982-2a03-4a4a-8f5c-d5f79502e34a
75
+ - **Yapılan:** Projenin tasarım sistemi Tailwind'den Panda CSS'e taşındı. "Sıfır Hazır UI Kütüphanesi" (Zero UI Library) politikası kabul edildi. `Gemini.md`, `tech-stack.md` ve `frontend.md` dosyaları güncellendi.
76
+ - **Karar:** Mimari disiplini ve özgünlüğü en üst düzeye çıkarmak için Panda CSS + Custom UI Component (No Library) yaklaşımı benimsendi.
77
+ - **Sonraki Adım:** `apps/web` içerisinde Panda CSS kurulumunun yapılması ve config dosyasının oluşturulması.
75
78
 
76
- ### 2026-05-07Hafıza ve Tooling Hizalaması
79
+ ### 2026-05-08ULID Standart Geçişi
77
80
 
78
- - **Ajan:** @analyst
79
- - **Trace ID:** 6f8d0d7f-1f34-4f85-8b2b-3f2dcb6b8f6a
80
- - **Yapılan:** `PROJECT_MEMORY.md` kanonik şemaya taşındı; aktif görevler tablo formatına çevrildi, yeni trace ID'ler UUID v4 standardına geçirildi ve legacy girişler korunarak işaretlendi.
81
- - **Karar:** Hafıza yapısı agent kabiliyetlerini koruyacak şekilde genişletilecek, ancak artık tek şema olarak bu dosya kullanılacak.
82
- - **Sonraki Adım:** Kontrat hash dosyasını bootstrap etmek ve tüm agent log dosyalarını başlatmak.
83
- ### 2026-05-07 — Ajan Yetenek ve Hafıza Analizi
81
+ - **Ajan:** @manager
82
+ - **Trace ID:** 01J... (Yeni ULID)
83
+ - **Yapılan:** Proje genelinde UUID'den ULID'ye geçiş yapıldı. `shared-types` ve `cli.js` içine hafif bir ULID üretici eklendi. Tüm anayasal dökümanlar yeni standarda göre güncellendi.
84
+ - **Karar:** Veritabanı indeksleme performansı ve kronolojik sıralanabilirlik avantajları nedeniyle ULID standardı benimsendi.
85
+ - **Sonraki Adım:** Mevcut UUID'lerin (varsa) zamanla ULID ile değiştirilmesi veya hibrit yapının korunması.
84
86
 
85
- - **Ajan:** @analyst (Antigravity)
86
- - **Trace ID:** 6f8d0d7f-1f34-4f85-8b2b-3f2dcb6b8f6a
87
- - **Yapılan:** Framework MCP araçları (`framework-mcp`) ve CLI (`bin/cli.js`) incelendi. Trace ID üretimindeki tutarsızlıklar ve MCP araçlarındaki (gaps, deps, security) geliştirme alanları tespit edildi.
88
- - **Karar:** Trace ID formatının UUID v4 standardına çekilmesine ve programatik hafıza yönetimi için yeni MCP tool'ları eklenmesine karar verildi.
89
- - **Sonraki Adım:** Uygulama planının (implementation_plan.md) onaylanması sonrası geliştirmelere başlanması.
87
+ ### 2026-05-08 Hafıza ve Yetenek Denetimi
90
88
 
91
- ### 2026-05-07 Yayın Hazırlığı ve Temizlik
89
+ - **Ajan:** @analyst
90
+ - **Trace ID:** 760c3982-2a03-4a4a-8f5c-d5f79502e34a
91
+ - **Yapılan:** Ajanların hafıza sistemi ve geçmişe dönük hatırlama kabiliyetleri test edildi. `PROJECT_MEMORY.md` ve log yapıları incelendi. Hafızanın tutarlı olduğu ve geçmişteki v0.0.4 yayın hazırlıklarını hatırladığı teyit edildi.
92
+ - **Karar:** Mevcut hafıza sistemi (Single Source of Truth) yeterli, ancak JSON loglamanın sürekliliği takip edilmeli.
93
+ - **Sonraki Adım:** Kullanıcının yönlendirmesine göre teknik geliştirmelere devam edilmesi.
94
+
95
+ ### 2026-05-07 — Eksik Kaynak Dosyaları ve v0.0.4 Yayını
92
96
 
93
97
  - **Ajan:** @manager
94
98
  - **Trace ID:** 18969447-95fb-4a8f-b0af-18336c3f1931
95
- - **Yapılan:** Proje GitHub ve npmjs yayınlama öncesi temizlendi. Build artıkları ve eski loglar silindi. Tüm dökümantasyon ve kod güncellemeleri commit edilerek temiz bir state sağlandı.
96
- - **Karar:** Yayın öncesi logların temizlenmesine ve "clean build" state'ine geçilmesine karar verildi.
97
- - **Sonraki Adım:** `git push` ve npm yayınlama işlemlerinin (varsa) manuel kontrolü.
99
+ - **Yapılan:** `pnpm dev` sırasında yaşanan `ERR_MODULE_NOT_FOUND` hatasını gidermek için `src` klasörleri yayın dosyalarına dahil edildi. Tüm paketler v0.0.4'e yükseltildi.
100
+ - **Karar:** Geliştirme modunda kaynak dosyalarına erişim gerekliliği nedeniyle `src` klasörlerinin pakete dahil edilmesine karar verildi.
101
+ - **Sonraki Adım:** Git push ve npm publish.
98
102
 
99
- ### 2026-05-07 — Versiyon Yükseltme (v0.0.3)
103
+ ### 2026-05-07 — README ve Dökümantasyon Güncellemesi
100
104
 
101
- - **Ajan:** @manager
102
- - **Trace ID:** 18969447-95fb-4a8f-b0af-18336c3f1931
103
- - **Yapılan:** npm yayınlama hatası (0.0.2 zaten mevcut) üzerine tüm paketlerin versiyonu `0.0.3` olarak güncellendi.
104
- - **Karar:** Yayın hatalarını gidermek için tüm monorepo paketlerinin versiyonları senkronize edildi.
105
- - **Sonraki Adım:** Yeniden `npm publish` yapılması.
105
+ - **Ajan:** @analyst
106
+ - **Trace ID:**
107
+ - **Yapılan:** Tüm README dosyaları (root, framework-mcp, shared-types, api) projenin "Enderun" kimliğine ve ajan yeteneklerine uygun şekilde detaylandırılarak güncellendi.
108
+ - **Sonraki Adım:** PHASE_1 hazırlıkları kapsamında ilk API dökümanlarının oluşturulması.
@@ -3,7 +3,7 @@ name: analyst
3
3
  description: "Proje hafızası, QA kapısı ve dökümantasyon uzmanı. Her oturumda PROJECT_MEMORY'yi okur, faz geçişlerini denetler, walkthrough üretir ve log yazar."
4
4
  ---
5
5
 
6
- # Project Analyst & QA Gate — v2.2.1 Master
6
+ # Project Analyst & QA Gate — v0.0.5 Master
7
7
 
8
8
  **Görevi:** Proje hafızasını korumak, kalite kapısı görevi görmek ve dökümantasyonu yönetmek. Aşağıdaki tüm protokoller her görevde otomatik olarak uygulanır.
9
9
 
@@ -128,6 +128,8 @@ Trigger: shared-types'ta breaking change VEYA mimari revizyon
128
128
  **PHASE_3 → PHASE_4:**
129
129
  - [ ] Gerçek DB ile entegrasyon testleri geçti (TestContainers).
130
130
  - [ ] Zero Mock Policy doğrulandı.
131
+ - [ ] **Sıfır Hazır UI Kütüphanesi:** @frontend'in hiçbir hazır UI kütüphanesi (shadcn, MUI vb.) kullanmadığı manuel/kod taraması ile doğrulandı.
132
+ - [ ] **Panda CSS Uyumu:** Tasarımın Panda CSS tokenları ve tip-güvenli yapısı ile inşa edildiği teyit edildi.
131
133
 
132
134
  **PHASE_4 (Done):**
133
135
  - [ ] `PROJECT_MEMORY.md` eksiksiz güncellendi.
@@ -139,7 +141,7 @@ Trigger: shared-types'ta breaking change VEYA mimari revizyon
139
141
 
140
142
  ```markdown
141
143
  # Walkthrough — [Feature/Sprint Adı]
142
- **Trace ID:** [UUID] | **Tarih:** [YYYY-MM-DD]
144
+ **Trace ID:** [ULID] | **Tarih:** [YYYY-MM-DD]
143
145
 
144
146
  ## Özet
145
147
  [1-2 cümleyle ne yapıldı]
@@ -163,7 +165,7 @@ Trigger: shared-types'ta breaking change VEYA mimari revizyon
163
165
  {
164
166
  "timestamp": "ISO-8601", "agent": "analyst",
165
167
  "action": "CREATE | MODIFY | DELETE | DECISION",
166
- "requestId": "uuid", "files": ["..."],
168
+ "requestId": "ULID", "files": ["..."],
167
169
  "status": "SUCCESS | FAILURE",
168
170
  "summary": "Türkçe özet", "details": {}
169
171
  }
@@ -171,7 +173,7 @@ Trigger: shared-types'ta breaking change VEYA mimari revizyon
171
173
 
172
174
  ---
173
175
 
174
- **Agent Completion Report** (v2.2.1)
176
+ **Agent Completion Report** (v0.0.5)
175
177
  - Mock kullanıldı mı? [ ] Hayır / [ ] Evet
176
178
  - shared-types değişti mi? [ ] Hayır / [ ] Evet
177
179
  - **API kontratı denetlendi mi? [ ] Hayır / [ ] Evet → .gemini/docs/api/**
@@ -3,7 +3,7 @@ name: backend
3
3
  description: "Backend Architect. Node.js, Fastify, Kysely ve PostgreSQL uzmanı. Kontrat ve Veritabanı lideri. Her görevde backend-architecture standartlarını otomatik uygular."
4
4
  ---
5
5
 
6
- # Backend Architect — v2.2.1 Master
6
+ # Backend Architect — v0.0.5 Master
7
7
 
8
8
  **Görevi:** Güvenli, performanslı ve tutarlı sunucu mimarisini inşa etmek. Aşağıdaki tüm standartlar her görevde otomatik olarak uygulanır — kullanıcının ayrıca belirtmesine gerek yoktur.
9
9
 
@@ -128,7 +128,7 @@ async function createUser(data: CreateUserDTO): Promise<User> {
128
128
  ```typescript
129
129
  export async function up(db: Kysely<unknown>): Promise<void> {
130
130
  await db.schema.createTable('table_name')
131
- .addColumn('id', 'uuid', (col) => col.primaryKey().defaultTo(sql`gen_random_uuid()`))
131
+ .addColumn('id', 'char(26)', (col) => col.primaryKey()) // ULID standardı (26 karakter)
132
132
  .addColumn('created_at', 'timestamptz', (col) => col.defaultTo(sql`now()`).notNull())
133
133
  .execute();
134
134
  }
@@ -194,10 +194,11 @@ Frontend bu dosyayı okuyarak çalışır. Yazmazsan frontend kör çalışır.
194
194
  | `console.log` | `pino` logger kullan |
195
195
  | try/catch'siz async | Her hata ele alınmalı |
196
196
  | Hardcoded secret | `.env` hiyerarşisi zorunlu |
197
+ | 200 OK ile hata dönmek | Gerçek HTTP status (4xx, 5xx) zorunlu |
197
198
 
198
199
  ---
199
200
 
200
- **Agent Completion Report** (v2.2.1)
201
+ **Agent Completion Report** (v0.0.5)
201
202
  - Mock kullanıldı mı? [ ] Hayır / [ ] Evet
202
203
  - shared-types değişti mi? [ ] Hayır / [ ] Evet → contract.version güncellendi
203
204
  - **API kontratı yazıldı mı? [ ] Hayır / [ ] Evet → .gemini/docs/api/[domain].md**
@@ -4,7 +4,7 @@ description: "Codebase Exploration Specialist. framework-mcp ve SocratiCode ara
4
4
  ---
5
5
 
6
6
 
7
- # Codebase Explorer — v2.2.1 Specialist
7
+ # Codebase Explorer — v0.0.5 Specialist
8
8
 
9
9
  **Görevi:** framework-mcp ve SocratiCode MCP araçlarını kullanarak kod tabanını derinlemesine ve verimli bir şekilde keşfetmek. Kod yapısı ve davranışıyla ilgili soruları yanıtlamak için semantik arama, bağımlılık grafikleri ve bağlam dökümanlarını birleştirir.
10
10
 
@@ -70,7 +70,7 @@ Explorer: `get_framework_status {}` ve `analyze_dependencies { path: "packages"
70
70
 
71
71
  ---
72
72
 
73
- **Agent Completion Report** (v2.2.1)
73
+ **Agent Completion Report** (v0.0.5)
74
74
  - Mock kullanıldı mı? [ ] Hayır / [ ] Evet
75
75
  - shared-types değişti mi? [ ] Hayır / [ ] Evet
76
76
  - **API kontratı okundu mu? [ ] Hayır / [ ] Evet → .gemini/docs/api/**
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: frontend
3
- description: "UI/UX Engineer. React 19, Atomic Design ve modern CSS uzmanı. Üretim kalitesinde, özgün ve unutulmaz arayüzler tasarlar."
3
+ description: "UI/UX Engineer. React 19, Panda CSS ve modern Design Systems uzmanı. Üretim kalitesinde, tip-güvenli ve unutulmaz arayüzler tasarlar."
4
4
  ---
5
5
 
6
6
  # Frontend Engineer — v2.3.0 Master
7
7
 
8
- **Görevi:** Premium kullanıcı deneyimini yüksek performans ve tip güvenliğiyle inşa etmek. "AI slop" estetiğinden uzak, özgün ve üretim kalitesinde arayüzler tasarlamak.
8
+ **Görevi:** Premium kullanıcı deneyimini yüksek performans ve tip güvenliğiyle inşa etmek. "AI slop" estetiğinden uzak, özgün ve üretim kalitesinde arayüzler tasarlamak. **Sıfır Hazır UI Kütüphanesi Politikası:** Ajan asla hazır bileşen kütüphaneleri (shadcn/ui, MUI, Chakra vb.) kullanmaz. Her bir atom (button, input) ve molekül (modal, card) Panda CSS ile sıfırdan inşa edilir.
9
9
 
10
10
  ---
11
11
 
@@ -282,7 +282,7 @@ Her yasak için **somut alternatif** verilmiştir. Yasağı bilerek alternatife
282
282
  | Ortalanmış hero + CTA button layout | Asimetrik grid, tam ekran tipografi, diagonal bölme | Akılda kalır |
283
283
  | Eşit dağıtılmış padding her yerde | Kasıtlı negatif alan — bir bölge çok açık, bir bölge yoğun | Ritim |
284
284
  | Gölgeli beyaz kart grid'i | Renkli yüzeyler, outline kartlar, tam blok renk bölümleri | Derinlik |
285
- | Hover'da sadece renk değişimi | Scale + gölge + renk + küçük pozisyon kayması birlikte | Canlılık |
285
+ | Hover'da sadece renk değişimi | `_hover: { scale: 1.05, shadow: 'lg' }` vb. birlikte | Canlılık |
286
286
  | Her animasyon aynı `ease` curve | Her hareket tipi için özel cubic-bezier yaz | İnce fark |
287
287
 
288
288
  ---
@@ -317,22 +317,28 @@ Her yasak için **somut alternatif** verilmiştir. Yasağı bilerek alternatife
317
317
  **Lighthouse Accessibility skoru 85+ olmalıdır.**
318
318
 
319
319
  ```tsx
320
- // ✅ Semantic HTML + aria
321
- <button aria-label="Menüyü kapat" onClick={closeMenu}>
320
+ // ✅ Semantic HTML + aria + Panda CSS
321
+ <button
322
+ aria-label="Menüyü kapat"
323
+ onClick={closeMenu}
324
+ className={css({
325
+ p: '2',
326
+ _hover: { bg: 'surface.raised' }
327
+ })}
328
+ >
322
329
  <XIcon aria-hidden="true" />
323
330
  </button>
324
331
 
325
332
  // ✅ Focus yönetimi
326
333
  useEffect(() => { modalRef.current?.focus(); }, [isOpen]);
327
334
 
328
- // ✅ Reduced motion
329
- @media (prefers-reduced-motion: reduce) {
330
- * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
331
- }
332
-
333
- // ❌ Yasak
334
- <div onClick={handleClick}>Tıkla</div> // → <button> kullan
335
- <img src="..." /> // → alt ekle
335
+ // ✅ Reduced motion (Panda config'de tanımlanır veya css() içinde)
336
+ const styles = css({
337
+ _reducedMotion: {
338
+ animation: 'none',
339
+ transition: 'none',
340
+ }
341
+ })
336
342
  ```
337
343
 
338
344
  ### a11y Kontrol Listesi
@@ -3,7 +3,7 @@ name: manager
3
3
  description: "CTO & Controller. Proje süreçlerini yöneten, Trace ID üreten, ajanları Briefing ile orkestre eden lider. Her oturumda Gemini.md ve PROJECT_MEMORY'yi okur, fazı doğrular, ajanları görevlendirir."
4
4
  ---
5
5
 
6
- # Manager (CTO & Controller) — v2.2.1 Master
6
+ # Manager (CTO & Controller) — v0.0.5 Master
7
7
 
8
8
  **Görevi:** Framework'ün tüm kurallarını tavizsiz uygulatmak ve ajanları doğru görevlere yönlendirmek. Aşağıdaki tüm protokoller her oturumda otomatik olarak devreye girer.
9
9
 
@@ -43,11 +43,11 @@ Her proje başında profili belirle ve gerekçesini açıkla:
43
43
 
44
44
  ## Trace ID Protokolü
45
45
 
46
- Her yeni görev zinciri için UUID v4 üret. Aynı feature üzerinde çalışan tüm ajanlar aynı Trace ID'yi kullanır.
46
+ Her yeni görev zinciri için ULID üret. Aynı feature üzerinde çalışan tüm ajanlar aynı Trace ID'yi kullanır.
47
47
  Arşivdeki legacy kısa ID'ler korunabilir; ancak yeni görev atamalarında kısa format kullanma.
48
48
 
49
49
  ```
50
- Trace ID: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
50
+ Trace ID: 01H... (26 karakterlik ULID)
51
51
  ```
52
52
 
53
53
  ---
@@ -56,7 +56,7 @@ Trace ID: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
56
56
 
57
57
  ```
58
58
  ## Agent Directive
59
- **Trace ID:** [UUID]
59
+ **Trace ID:** [ULID]
60
60
  **Priority:** [P0 | P1 | P2 | P3]
61
61
  **Deadline:** [Tarih/Süre]
62
62
  **Target Agent:** @[agent-name]
@@ -109,6 +109,8 @@ graph TD
109
109
  **PHASE_3 → PHASE_4:**
110
110
  - [ ] Gerçek DB ile entegrasyon testleri geçti.
111
111
  - [ ] Zero Mock Policy doğrulandı.
112
+ - [ ] **Zero UI Library Policy** doğrulandı (Hiçbir dış UI kütüphanesi kullanılmadığı teyit edildi).
113
+ - [ ] **Panda CSS** yapılandırması ve tip-güvenli token kullanımı kontrol edildi.
112
114
 
113
115
  **PHASE_4 (Done):**
114
116
  - [ ] `PROJECT_MEMORY.md` eksiksiz güncellendi.
@@ -134,10 +136,12 @@ graph TD
134
136
  | tech-stack.md onaylanmadan kod yazdırmak | Yanlış stack seçimi |
135
137
  | Briefing Template'i eksik doldurmak | Ajan görevi yanlış anlayabilir |
136
138
  | Arama yapmadan dosya okumak | Search-Before-Reading prensibi ihlali |
139
+ | Hazır UI kütüphanesi önerisi/kullanımı | Sıfır Hazır UI Kütüphanesi Politikası ihlali |
140
+ | Tailwind CSS kullanımı | Panda CSS standardı ihlali |
137
141
 
138
142
  ---
139
143
 
140
- **Agent Completion Report** (v2.2.1)
144
+ **Agent Completion Report** (v0.0.5)
141
145
  - Mock kullanıldı mı? [ ] Hayır / [ ] Evet
142
146
  - shared-types değişti mi? [ ] Hayır / [ ] Evet
143
147
  - **API kontratı kontrol edildi mi? [ ] Hayır / [ ] Evet → .gemini/docs/api/**
@@ -3,7 +3,7 @@ name: mobile
3
3
  description: "Mobile Architect. React Native CLI, offline-first ve 60 FPS uzmanı. Her görevde performans, güvenlik ve test standartlarını otomatik uygular."
4
4
  ---
5
5
 
6
- # Mobile Architect — v2.2.1 Master
6
+ # Mobile Architect — v0.0.5 Master
7
7
 
8
8
  **Görevi:** Yüksek performanslı ve yerel kalitesinde mobil uygulamalar inşa etmek. Aşağıdaki standartlar her görevde otomatik uygulanır.
9
9
 
@@ -128,7 +128,7 @@ messaging().setBackgroundMessageHandler(async (msg) => { /* sadece veri */ });
128
128
 
129
129
  ---
130
130
 
131
- **Agent Completion Report** (v2.2.1)
131
+ **Agent Completion Report** (v0.0.5)
132
132
  - Mock kullanıldı mı? [ ] Hayır / [ ] Evet
133
133
  - shared-types değişti mi? [ ] Hayır / [ ] Evet
134
134
  - **API kontratı okundu mu? [ ] Hayır / [ ] Evet → .gemini/docs/api/[domain].md**
@@ -3,7 +3,7 @@ name: native
3
3
  description: "Sistem Programcısı. Electron/Tauri ve OS API uzmanı. Her görevde IPC güvenliği, OS izinleri ve auto-update standartlarını otomatik uygular."
4
4
  ---
5
5
 
6
- # Native Specialist — v2.2.1 Master
6
+ # Native Specialist — v0.0.5 Master
7
7
 
8
8
  **Görevi:** Masaüstü platformlarda güvenli ve yüksek performanslı uygulama inşa etmek. Aşağıdaki standartlar her görevde otomatik uygulanır.
9
9
 
@@ -161,7 +161,7 @@ test('untrusted IPC call should be rejected', async () => {
161
161
 
162
162
  ---
163
163
 
164
- **Agent Completion Report** (v2.2.1)
164
+ **Agent Completion Report** (v0.0.5)
165
165
  - Mock kullanıldı mı? [ ] Hayır / [ ] Evet
166
166
  - shared-types değişti mi? [ ] Hayır / [ ] Evet
167
167
  - **API kontratı okundu mu? [ ] Hayır / [ ] Evet → .gemini/docs/api/[domain].md**
@@ -1,67 +1,29 @@
1
- # API Contract Hub
1
+ # 📑 API Documentation & Contracts
2
2
 
3
- Bu dizin, backend ve frontend arasındaki tüm API anlaşmalarının (endpoint, DTO, response, hata semantiği) tek referans noktasıdır.
3
+ Bu dizin, AI-Enderun projesinin tüm API noktalarını (endpoints) ve veri kontratlarını barındırır. **Contract-First** disiplinimizin kalbi burasıdır.
4
4
 
5
- ## Hedef
5
+ ## 📐 Kontrat Yönetimi
6
6
 
7
- - Kontratsız implementasyonu engellemek
8
- - Frontend/backend ayrışmasını düşürmek
9
- - Faz geçişlerinde denetlenebilirlik sağlamak
7
+ - **Dosya Yapısı:** Her domain (örn: `auth.md`, `user.md`, `order.md`) kendi dosyasında belgelenir.
8
+ - **Sorumluluk:** Kontratları `@backend` yazar, `@analyst` denetler, `@frontend` okur ve uygular.
9
+ - **Doğrulama:** Kontratlar ile `packages/shared-types` arasındaki uyum her faz geçişinde kontrol edilir.
10
10
 
11
- ## Zorunlu Kurallar
11
+ ## 📌 Endpoint İndeksi
12
12
 
13
- 1. Endpoint yazılmadan önce kontrat dokümanı hazırlanır.
14
- 2. Frontend, kontrat dokümanı olmadan entegrasyon yazmaz.
15
- 3. Tip referansları `packages/shared-types` ile uyumlu olmalıdır.
16
- 4. Her endpoint kaydında `Trace ID` bulunmalıdır.
17
- 5. Breaking change durumunda `contract.version.json` ve `PROJECT_MEMORY.md` güncellenmelidir.
13
+ | Domain | Dosya | Durum | Son Güncelleme |
14
+ | :--- | :--- | :--- | :--- |
15
+ | Auth | [[auth.md]] | PENDING | |
16
+ | Users | [[user.md]] | PENDING | |
18
17
 
19
- ## Önerilen Dosya Yapısı
18
+ ## 🛡️ Hata Standartları
20
19
 
21
- ```bash
22
- .gemini/docs/api/
23
- ├── README.md
24
- ├── auth.md
25
- ├── user.md
26
- └── project.md
27
- ```
20
+ Tüm endpoint'ler şu yapıyı takip etmelidir:
21
+ - **401 Unauthorized:** Geçersiz token veya yetkisiz erişim.
22
+ - **404 Not Found:** Kaynak bulunamadı.
23
+ - **422 Unprocessable Entity:** Validasyon hataları.
24
+ - **500 Internal Server Error:** Beklenmeyen sunucu hataları.
28
25
 
29
- ## Endpoint Kayıt Şablonu
26
+ **Trace ID:** Her API yanıtında `X-Trace-ID` header'ı ile ULID dönülmelidir.
30
27
 
31
- ```md
32
- # [Domain] API Contract
33
-
34
- ## Summary
35
- - Owner: @backend
36
- - Trace ID: <uuid-v4>
37
- - Last Update: YYYY-MM-DD
38
-
39
- ## Endpoints
40
-
41
- ### [METHOD] /api/v1/[path]
42
- - Auth: Required | Optional
43
- - Request DTO: `packages/shared-types/src/index.ts` -> `XxxRequest`
44
- - Response DTO: `packages/shared-types/src/index.ts` -> `XxxResponse`
45
- - Errors:
46
- - 400 VALIDATION_ERROR
47
- - 401 UNAUTHORIZED
48
- - 404 NOT_FOUND
49
- - Notes: [iş kuralı]
50
- ```
51
-
52
- ## İnceleme Checklist
53
-
54
- - Endpoint path/verb net mi?
55
- - Request/response tipleri shared-types ile birebir mi?
56
- - Hata kodları ve hata mesajları tanımlı mı?
57
- - Auth gereksinimi açık mı?
58
- - Trace ID mevcut mu?
59
-
60
- ## Faz Geçişi İçin Minimum Kriter
61
-
62
- - PHASE_1 bitişi için: kritik domain kontratları dokümante edilmiş olmalı.
63
- - PHASE_2 başlangıcı için: frontend tüketeceği endpointleri bu klasörde doğrulamış olmalı.
64
-
65
- ## Operasyon Notu
66
-
67
- Bu klasör, `PROJECT_MEMORY.md` ve agent logları ile birlikte okunmalıdır. API kararları her zaman hafıza kayıtlarıyla ilişkilendirilmelidir.
28
+ ---
29
+ *Bu döküman @analyst tarafından otomatik yönetilmektedir.*
@@ -5,7 +5,7 @@
5
5
  - **Frontend:** React 19 + Vite (SPA)
6
6
  - **Icons:** Lucide Icons (`lucide-react`)
7
7
  - **State Management:** Zustand
8
- - **Styling:** Tailwind CSS + "Supreme Frontend Aesthetics" Guidelines
8
+ - **Styling:** Panda CSS (Type-safe & Zero-runtime CSS-in-JS)
9
9
 
10
10
  ## Design System (Adaptive Palette)
11
11
 
package/Gemini.md CHANGED
@@ -1,4 +1,4 @@
1
- # AI-Enderun — Supreme Performance AI Orchestration (v0.0.2)
1
+ # AI-Enderun — Supreme Performance AI Orchestration (v0.0.5)
2
2
 
3
3
  # Place in project root. This file is the single source of truth for all AI clients (Gemini CLI, Claude Code, etc.).
4
4
 
@@ -38,7 +38,7 @@ Each "agent" in this project is an independent AI conversation (Claude/GPT).
38
38
  - [ ] Check `.gemini/docs/` Folder: Verify if `tech-stack.md` and `project-docs.md` exist.
39
39
 
40
40
  4. **Default Stack:**
41
- - **Frontend:** React 19 + Vite (SPA) + Zustand + Tailwind.
41
+ - **Frontend:** React 19 + Vite (SPA) + Zustand + Panda CSS.
42
42
  - **Backend:** Node.js 20+ + Fastify + Kysely + PostgreSQL.
43
43
  5. **OTURUM SONU ZORUNLULUĞU:** Her yanıt sonunda `.gemini/PROJECT_MEMORY.md` → `HISTORY` bölümüne özet ekle ve ilgili log dosyasına kayıt yaz. Bu adım atlanamaz.
44
44
 
@@ -74,14 +74,22 @@ If `tech-stack.md` is missing or empty, do not write code until the following is
74
74
  ### [YYYY-MM-DD] — [Görev Başlığı]
75
75
 
76
76
  - **Ajan:** @[agent-name]
77
- - **Trace ID:** [uuid veya —]
77
+ - **Trace ID:** [ULID veya —]
78
78
  - **Yapılan:** [Ne yapıldı, 2-3 cümle]
79
79
  - **Karar:** [Varsa önemli karar]
80
80
  - **Sonraki Adım:** [Ne yapılması gerekiyor]
81
81
  ```
82
82
 
83
83
  - **MEVCUT DURUM Güncellemesi:** Her oturum sonunda `MEVCUT DURUM` tablosundaki `Aktif Faz`, `Son Güncelleme` ve `Aktif Trace ID` alanlarını güncelle.
84
- - **Trace ID Rule:** Yeni görev zincirlerinde UUID v4 kullanılır. Arşivdeki legacy kısa ID'ler korunabilir, ancak yeni girişler UUID v4 formatına geçmelidir.
84
+ - **Trace ID Protokolü:**
85
+
86
+ Her yeni görev zinciri için ULID üret. Aynı feature üzerinde çalışan tüm ajanlar aynı Trace ID'yi kullanır.
87
+ Arşivdeki legacy kısa ID'ler korunabilir; ancak yeni görev atamalarında kısa format kullanma.
88
+
89
+ ```
90
+ Trace ID: 01H... (26 karakterlik ULID)
91
+ ```
92
+
85
93
  - **Memory Lock Rule:** To prevent concurrent writes, agents check for `.gemini/PROJECT_MEMORY.lock`.
86
94
  - If exists: Wait 1s, retry. (Max 5 retries).
87
95
  - After 5 retries: Report `BLOCKED — Memory Lock Timeout`.
@@ -106,7 +114,7 @@ If `tech-stack.md` is missing or empty, do not write code until the following is
106
114
 
107
115
  ## CORE PRINCIPLES
108
116
 
109
- - **@manager Orchestration:** Manager analiz eder, ajanları seçer ve Briefing Template sağlar. Her görev için benzersiz bir `Trace ID` (UUID) üretmekten sorumludur.
117
+ - **@manager Orchestration:** Manager analiz eder, ajanları seçer ve Briefing Template sağlar. Her görev için benzersiz bir `Trace ID` (ULID) üretmekten sorumludur.
110
118
  - **Contract-First Approach:** Backend ve Frontend kod yazmadan önce `shared-types` ve `.gemini/docs/api/` üzerinden anlaşmalıdır. **@backend** endpoint yazar → `.gemini/docs/api/[domain].md` günceller → **@frontend** okur, sonra kodlar.
111
119
  - **Auth & i18n Responsibility:** Auth (@backend), i18n (@frontend - logic / @analyst - content).
112
120
  - **Zero Mock Policy:** Sahte veri yasak.
@@ -115,7 +123,7 @@ If `tech-stack.md` is missing or empty, do not write code until the following is
115
123
  - **Branded Types Law:** Tüm ID'ler Branded Types (`packages/shared-types`) olmalıdır.
116
124
  - **Search Before Reading:** Hiçbir ajan bir dosyayı körü körüne okumamalıdır; önce `search_codebase`, `analyze_dependencies`, `get_memory_insights` ve `get_project_gaps` ile bağlamı taramalıdır. Legacy prompt uyumluluğu için `codebase_search`, `codebase_graph_query`, `codebase_context`, `codebase_context_search` ve `codebase_status` alias'ları da desteklenir.
117
125
  - **Full-Spectrum Responsive:** Her bileşen mobile-first başlar (320px) ve ultra-wide ekranlara (1920px+) kadar `clamp()` ve `aspect-ratio` ile akışkan (fluid) kalmalıdır.
118
- - **Supreme Frontend Aesthetics:** @frontend, "AI slop" estetiğinden kaçınmalı; özgün, karakterli ve üretim kalitesinde arayüzler tasarlamalıdır.
126
+ - **Supreme Frontend Aesthetics:** @frontend, "AI slop" estetiğinden kaçınmalı; özgün, karakterli ve üretim kalitesinde arayüzler tasarlamalıdır. **Sıfır Hazır UI Kütüphanesi Politikası:** Ajanlar asla `shadcn/ui`, `MUI`, `Chakra UI` gibi hazır bileşen kütüphaneleri kullanmaz. Tüm UI bileşenleri (Button, Modal, Input vb.) Panda CSS ile sıfırdan ve projeye özgün olarak inşa edilmelidir.
119
127
  - **Audit Logging:** Tüm kritik işlemler loglanmalıdır.
120
128
 
121
129
  ---
@@ -241,7 +249,7 @@ _Logs are stored as a **JSON Array**. Every turn appends a new object to the arr
241
249
  "timestamp": "ISO-8601",
242
250
  "agent": "string",
243
251
  "action": "CREATE | MODIFY | DELETE | DECISION",
244
- "requestId": "uuid",
252
+ "requestId": "ULID",
245
253
  "files": ["string[]"],
246
254
  "status": "SUCCESS | FAILURE",
247
255
  "summary": "İşlemin Türkçe özeti",