kortext 1.0.0 → 2.2.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 +28 -0
- package/README.md +91 -0
- package/agents/backend-developer.md +132 -0
- package/agents/compliance-expert.md +106 -0
- package/agents/copywriter.md +122 -0
- package/agents/db-admin.md +117 -0
- package/agents/delivery-manager.md +121 -0
- package/agents/designer.md +108 -0
- package/agents/devops-engineer.md +141 -0
- package/agents/engineering-manager.md +208 -0
- package/agents/frontend-developer.md +174 -0
- package/agents/growth-expert.md +115 -0
- package/agents/operation-manager.md +122 -0
- package/agents/product-manager.md +114 -0
- package/agents/qa-engineer.md +126 -0
- package/agents/security-engineer.md +119 -0
- package/hooks/audit-logger.sh +25 -0
- package/hooks/auto-locker.sh +74 -0
- package/hooks/auto-unlocker.sh +17 -0
- package/hooks/backlog-sync-guard.sh +12 -0
- package/hooks/branch-guard.sh +32 -0
- package/hooks/commit-msg-guard.sh +43 -0
- package/hooks/git-pre-commit.sh +76 -0
- package/hooks/git-pre-push.sh +17 -0
- package/hooks/handover-guard.sh +33 -0
- package/hooks/kortext-init.sh +194 -0
- package/hooks/kortext-lib.sh +141 -0
- package/hooks/lint-guard.sh +50 -0
- package/hooks/secret-scanner.sh +89 -0
- package/hooks/size-guard.sh +48 -0
- package/hooks/snapshot-guard.sh +39 -0
- package/hooks/write-guard.sh +77 -0
- package/package.json +23 -6
- package/rules/behavior.md +252 -0
- package/rules/branching.md +82 -0
- package/rules/commands.md +112 -0
- package/rules/emergency.md +160 -0
- package/rules/mcp.md +47 -0
- package/rules/models.md +93 -0
- package/scripts/kortext-backlog-add.py +123 -0
- package/scripts/kortext-backlog-health.py +112 -0
- package/scripts/kortext-backlog-sync.py +117 -0
- package/scripts/kortext-bulk-plan.py +63 -0
- package/scripts/kortext-cli.py +295 -0
- package/scripts/kortext-consistency-check.py +74 -0
- package/scripts/kortext-context-check.py +146 -0
- package/scripts/kortext-handover.py +107 -0
- package/scripts/kortext-item-check.py +61 -0
- package/scripts/kortext-item-start.py +70 -0
- package/scripts/kortext-item-transition.py +78 -0
- package/scripts/kortext-lock.py +174 -0
- package/scripts/kortext-session-start.py +127 -0
- package/scripts/lock_kortext.sh +34 -0
- package/settings/.claude-settings.template.json +48 -0
- package/settings/CHANGELOG.md +176 -0
- package/settings/INTEGRATION-MAP.md +276 -0
- package/settings/README.md +255 -0
- package/settings/USER-GUIDE.md +502 -0
- package/settings/VERSION +1 -0
- package/settings/config.md +8 -0
- package/settings/runtime-adapters.md +104 -0
- 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/workflows/00-kortext-setup.md +53 -0
- package/workflows/01a-analysis-pipeline.md +117 -0
- package/workflows/01b-onboarding-pipeline.md +110 -0
- package/workflows/02-planning-pipeline.md +146 -0
- package/workflows/02b-spike-workflow.md +120 -0
- package/workflows/03-environment-setup.md +99 -0
- package/workflows/04-development-cycle.md +203 -0
- package/workflows/05-test-cycle.md +123 -0
- package/workflows/06-deployment-cycle.md +224 -0
- package/workflows/07-rollback-pipeline.md +203 -0
- package/workflows/08-hotfix-pipeline.md +196 -0
- package/workflows/09-maintenance-cycle.md +133 -0
- package/workspace/archive/.gitkeep +0 -0
- package/workspace/backups/.gitkeep +0 -0
- package/workspace/memory/backlog/.gitkeep +0 -0
- package/workspace/memory/backlog/BXX-[bug-name].md +2 -0
- package/workspace/memory/backlog/DXX-[debt-name].md +2 -0
- package/workspace/memory/backlog/README.md +31 -0
- package/workspace/memory/backlog/TXX-[task-name].md +2 -0
- package/workspace/memory/backlog/debt-dashboard.md +3 -0
- package/workspace/memory/backlog/epic-dashboard.md +10 -0
- package/workspace/memory/backlog/version-dashboard.md +7 -0
- package/workspace/memory/context/.gitkeep +0 -0
- package/workspace/memory/context/README.md +35 -0
- package/workspace/memory/context/[agent-name]-active.md +2 -0
- package/workspace/memory/decisions.md +17 -0
- package/workspace/memory/handover.md +40 -0
- package/workspace/memory/learned.md +21 -0
- package/workspace/references/access.md +47 -0
- package/workspace/references/api-reference.md +59 -0
- package/workspace/references/blueprint.md +29 -0
- package/workspace/references/content-strategy.md +39 -0
- package/workspace/references/db-schema.md +51 -0
- package/workspace/references/design-system.md +107 -0
- package/workspace/references/dictionary.md +42 -0
- package/workspace/references/file-system.md +42 -0
- package/workspace/references/growth-strategy.md +46 -0
- package/workspace/references/legal-strategy.md +35 -0
- package/workspace/references/required-skills.md +11 -0
- package/workspace/references/security-rules.md +34 -0
- package/workspace/references/tech-stack.md +49 -0
- package/workspace/references/test-strategy.md +48 -0
- package/workspace/reports/analysis-reports.md +40 -0
- package/workspace/reports/content-reports.md +29 -0
- package/workspace/reports/delivery-reports.md +26 -0
- package/workspace/reports/growth-reports.md +9 -0
- package/workspace/reports/legal-reports.md +29 -0
- package/workspace/reports/product-requirements.md +28 -0
- package/workspace/reports/release-notes.md +20 -0
- package/workspace/reports/security-reports.md +27 -0
- package/workspace/reports/status-reports.md +48 -0
- package/workspace/reports/tech-requirements.md +30 -0
- package/workspace/reports/test-reports.md +61 -0
- package/workspace/templates/BXX-[bug-name].md +34 -0
- package/workspace/templates/DXX-[debt-name].md +35 -0
- package/workspace/templates/EXX-[epic-name].md +48 -0
- package/workspace/templates/HXX-[hotfix-name].md +73 -0
- package/workspace/templates/SXX-[spike-name].md +51 -0
- package/workspace/templates/TXX-[task-name].md +34 -0
- package/workspace/templates/[agent-name]-active.md +4 -0
- package/workspace/templates/[original-name]_[YYYY-MM-DD_HHMMSS].md +5 -0
- package/workspace/templates/adr-XXX.md +66 -0
- package/workspace/templates/debt-dashboard.md +10 -0
- package/workspace/templates/epic-dashboard.md +10 -0
- package/workspace/templates/version-dashboard.md +10 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Kortext Setup
|
|
2
|
+
|
|
3
|
+
Bu akış Kortext'i hedef projede başlatır, sistem dosyalarını korur ve ilk çalışma kararını +prime'a bildirir.
|
|
4
|
+
|
|
5
|
+
## Girdi ve Çıkış
|
|
6
|
+
|
|
7
|
+
- **Başlangıç koşulu:** Kortext dosya ağacı hedef projeye eklenmiş olmalıdır.
|
|
8
|
+
- **Girdi:** `../workspace/references/blueprint.md`
|
|
9
|
+
- **Çıkış:** Kilitlenmiş framework çekirdeği ve +prime için bir sonraki akış kararı.
|
|
10
|
+
- **Sonraki akış:** Yeni proje için `01a-analysis-pipeline.md`, mevcut proje için `01b-onboarding-pipeline.md`.
|
|
11
|
+
|
|
12
|
+
## Koruma
|
|
13
|
+
|
|
14
|
+
1. Başka hiçbir işlem yapmadan önce `../scripts/lock_kortext.sh` dosyasını çalıştır.
|
|
15
|
+
2. Aşağıdaki Kortext sistem dosyalarını ve dizinlerini salt okunur yap:
|
|
16
|
+
- `../AGENTS.md`
|
|
17
|
+
- `../agents/`
|
|
18
|
+
- `../rules/`
|
|
19
|
+
- `../workflows/`
|
|
20
|
+
- `../hooks/`
|
|
21
|
+
- `../scripts/`
|
|
22
|
+
|
|
23
|
+
## Anayasanın Yüklenmesi
|
|
24
|
+
|
|
25
|
+
3. Kortext protokollerini ve davranış kurallarını içeren şu dosyaları oku:
|
|
26
|
+
- `../rules/behavior.md`
|
|
27
|
+
- `../rules/commands.md`
|
|
28
|
+
|
|
29
|
+
## Durum Tespiti
|
|
30
|
+
|
|
31
|
+
4. Kortext dizin yapısının doğru olup olmadığını ve güncel olup olmadığını kontrol et.
|
|
32
|
+
|
|
33
|
+
> [!WARNING] BLUEPRINT KOŞULU
|
|
34
|
+
> `../workspace/references/blueprint.md` boşsa sistem ilerlemez.
|
|
35
|
+
|
|
36
|
+
5. `../workspace/references/blueprint.md` dosyasını kontrol et.
|
|
37
|
+
- Blueprint boşsa süreci durdur ve +prime'dan blueprint'i tamamlamasını iste.
|
|
38
|
+
- Blueprint doluysa Kortext kurulumu tamamlanır; yeni proje analizi veya mevcut proje onboarding kararı +prime komutuyla verilir.
|
|
39
|
+
- Yeni proje için `01a-analysis-pipeline.md` akışı kullanılır.
|
|
40
|
+
- Mevcut projeyi Kortext'e adapte etmek için `01b-onboarding-pipeline.md` akışı kullanılır.
|
|
41
|
+
|
|
42
|
+
## Bildirim
|
|
43
|
+
|
|
44
|
+
Duruma göre yalnızca ilgili bildirimi kullan.
|
|
45
|
+
|
|
46
|
+
> [!NOTE] KORTEXT [DURDU/YÜKLENDİ]
|
|
47
|
+
> +prime,
|
|
48
|
+
> [`../workspace/references/blueprint.md` boş olduğu için kurulumu ilerletmiyorum.
|
|
49
|
+
> Blueprint'i tamamladıktan sonra `!setup kortext` komutunu bekliyorum.]
|
|
50
|
+
> [Kortext yüklendi ve [project-name] projesi için hazır.
|
|
51
|
+
> Yeni projenin analizi için `!start analysis` komutunu bekliyorum.]
|
|
52
|
+
> [Kortext yüklendi ve [project-name] projesi için hazır.
|
|
53
|
+
> Mevcut projeyi Kortext'e adapte etmek için `!start onboard` komutunu bekliyorum.]
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Analysis Pipeline (`!start analysis`)
|
|
2
|
+
|
|
3
|
+
Bu akış, yeni bir projenin ürün, teknik ve kalite temelini oluşturur.
|
|
4
|
+
|
|
5
|
+
## Girdi ve Çıkış
|
|
6
|
+
|
|
7
|
+
- **Başlangıç koşulu:** `../workspace/references/blueprint.md` dolu ve onaylı olmalıdır.
|
|
8
|
+
- **Girdi:** Onaylı blueprint.
|
|
9
|
+
- **Çıkış:** Ürün, teknik ve test referansları ile `../workspace/reports/analysis-reports.md`.
|
|
10
|
+
- **Sonraki akış:** Onay sonrası `02-planning-pipeline.md`.
|
|
11
|
+
|
|
12
|
+
> [!TIP]
|
|
13
|
+
> - Birbirine bağımlı olmayan adımlarda (Örn: +security-engineer ve +designer) ajanlar eşzamanlı (paralel) olarak çalışır.
|
|
14
|
+
> - Input dosyaların `status: approved` olması gerekir. Değilse, ilgili `approver`'dan dosyayı incelemesi istenir.
|
|
15
|
+
> - Her ajan bir adıma başlamadan önce `../workspace/memory/context/[agent-name]-active.md` dosyasını oluşturur veya günceller; adım bitince sonucu `../workspace/memory/handover.md` dosyasına kaydeder ve kendi aktif görev dosyasını siler.
|
|
16
|
+
|
|
17
|
+
## Ön Hazırlıklar
|
|
18
|
+
|
|
19
|
+
**+operation-manager**
|
|
20
|
+
1. `../workspace/memory/context/operation-manager-active.md` dosyasını oluşturur veya günceller.
|
|
21
|
+
2. Bu workflow'u okur ve paralel çalışabilecek ajanları belirler.
|
|
22
|
+
3. `../rules/models.md` dosyasını okur ve görevli her ajanın kullanacağı LLM/model eşleşmesini belirler.
|
|
23
|
+
4. Ajanlara görevlerini verir.
|
|
24
|
+
|
|
25
|
+
## Product Analysis
|
|
26
|
+
|
|
27
|
+
1. **+compliance-expert:** Projenin bulunduğu sektöre, hedef pazarlara ve veri işleme biçimine göre yasal gereksinimleri belirler. KVKK, GDPR, CCPA gibi regülasyonları; gizlilik, aydınlatma, rıza, saklama, silme ve üçüncü taraf veri paylaşımı açısından değerlendirir.
|
|
28
|
+
- Inputs: `../workspace/references/blueprint.md`
|
|
29
|
+
- Outputs: `../workspace/references/legal-strategy.md`
|
|
30
|
+
- Approver: +prime
|
|
31
|
+
2. **+growth-expert:** Hedef kitleye, pazara ve ürün vaadine göre büyüme stratejisini belirler. SEO/GEO, kanal stratejisi, ölçümleme, analitik ve dönüşüm takibi için gerekli görevleri çıkarır.
|
|
32
|
+
- Inputs: `../workspace/references/blueprint.md`
|
|
33
|
+
- Outputs: `../workspace/references/growth-strategy.md`
|
|
34
|
+
- Approver: +prime
|
|
35
|
+
3. **+product-manager:** Blueprint'i, legal ve growth çıktılarını birleştirerek ürün gereksinimlerini çıkarır. Kapsamı, kullanıcı tiplerini, ana akışları, öncelikleri, kabul kriterlerini ve kapsam dışı bırakılan işleri netleştirir.
|
|
36
|
+
- Inputs: `../workspace/references/blueprint.md`, `../workspace/references/legal-strategy.md`, `../workspace/references/growth-strategy.md`
|
|
37
|
+
- Outputs: `../workspace/reports/product-requirements.md`
|
|
38
|
+
- Approver: +prime
|
|
39
|
+
|
|
40
|
+
### Ara Bildirim
|
|
41
|
+
|
|
42
|
+
> [!NOTE] RAPOR HAZIR
|
|
43
|
+
> +prime,
|
|
44
|
+
> - `../workspace/references/legal-strategy.md`
|
|
45
|
+
> - `../workspace/references/growth-strategy.md`
|
|
46
|
+
> - `../workspace/reports/product-requirements.md`
|
|
47
|
+
> raporları hazır. `!approve/reject [report-name]` komutunu bekliyorum.
|
|
48
|
+
|
|
49
|
+
4. **+copywriter:** Ürün gereksinimleri, yasal sınırlar ve büyüme stratejisine göre içerik stratejisini oluşturur. Marka dili, mesaj hiyerarşisi, sayfa içerikleri, mikro metinler ve kampanya/SEO içerik yönünü belirler.
|
|
50
|
+
- Inputs: `../workspace/reports/product-requirements.md`, `../workspace/references/legal-strategy.md`, `../workspace/references/growth-strategy.md`
|
|
51
|
+
- Outputs: `../workspace/references/content-strategy.md`
|
|
52
|
+
- Approver: +prime
|
|
53
|
+
|
|
54
|
+
### Ara Bildirim
|
|
55
|
+
|
|
56
|
+
> [!NOTE] RAPOR HAZIR
|
|
57
|
+
> +prime,
|
|
58
|
+
> `../workspace/references/content-strategy.md` raporu hazır. `!approve/reject content-strategy` komutunu bekliyorum.
|
|
59
|
+
|
|
60
|
+
## Technical Analysis
|
|
61
|
+
|
|
62
|
+
1. **+engineering-manager:** Teknoloji yığınını (stack), MCP sunucularını, geliştirme araçlarını ve +prime tarafından kurulması gereken ön gereksinimleri belirler. Bu ön gereksinimler test cihazları, emulator, API key gerektiren servis hesapları veya harici araçlar olabilir. Kodlama standartlarını ve proje klasör yapısı kurallarını yazar.
|
|
63
|
+
- Inputs: `../workspace/references/blueprint.md`, `../workspace/reports/product-requirements.md`
|
|
64
|
+
- Outputs: `../workspace/references/tech-stack.md`, `../workspace/references/dictionary.md`, `../workspace/references/file-system.md`
|
|
65
|
+
- Approver: +prime
|
|
66
|
+
2. **+security-engineer:** Seçilen tech stack'in bilinen güvenlik risklerini ve proje verisinin hassasiyetini değerlendirir. Kimlik doğrulama, yetkilendirme, secret yönetimi, veri saklama, loglama, `.gitignore` ve güvenli geliştirme kurallarını belirler.
|
|
67
|
+
- Inputs: `../workspace/references/tech-stack.md`
|
|
68
|
+
- Outputs: `../workspace/references/security-rules.md`
|
|
69
|
+
- Approver: +engineering-manager
|
|
70
|
+
3. **+designer:** Ürün gereksinimleri, içerik stratejisi ve teknik sınırları dikkate alarak tasarım sistemini oluşturur. Renk paleti, tipografi, bileşen ilkeleri, responsive davranış, erişilebilirlik ve temel UI kurallarını belirler.
|
|
71
|
+
- Inputs: `../workspace/reports/product-requirements.md`, `../workspace/references/tech-stack.md`, `../workspace/references/content-strategy.md`
|
|
72
|
+
- Outputs: `../workspace/references/design-system.md`
|
|
73
|
+
- Reviewer: +frontend-developer
|
|
74
|
+
- Approver: +prime
|
|
75
|
+
|
|
76
|
+
### Ara Bildirim
|
|
77
|
+
|
|
78
|
+
> [!NOTE] RAPOR HAZIR
|
|
79
|
+
> +prime,
|
|
80
|
+
> `../workspace/references/design-system.md` raporu hazır. `!approve/reject design-system` komutunu bekliyorum.
|
|
81
|
+
|
|
82
|
+
4. **+db-admin:** Ürün gereksinimleri, güvenlik kuralları ve teknik standartlara göre veritabanı şemasını tasarlar. Tabloları, ilişkileri, indeksleri, erişim kurallarını, migration yaklaşımını ve veri bütünlüğü gereksinimlerini netleştirir.
|
|
83
|
+
- Inputs: `../workspace/reports/product-requirements.md`, `../workspace/references/security-rules.md`, `../workspace/references/dictionary.md`, `../workspace/references/file-system.md`, `../workspace/references/tech-stack.md`
|
|
84
|
+
- Outputs: `../workspace/references/db-schema.md`
|
|
85
|
+
- Approver: +engineering-manager
|
|
86
|
+
5. **+engineering-manager:** API uçlarını ve servis sınırlarını tasarlar. Teknik standartları, endpoint listesini, istek/yanıt modellerini, hata formatlarını, yetkilendirme gereksinimlerini ve veri akışını belirler.
|
|
87
|
+
- Inputs: `../workspace/reports/product-requirements.md`, `../workspace/references/security-rules.md`, `../workspace/references/dictionary.md`, `../workspace/references/file-system.md`, `../workspace/references/tech-stack.md`, `../workspace/references/db-schema.md`
|
|
88
|
+
- Outputs: `../workspace/references/api-reference.md`
|
|
89
|
+
- Reviewer: +backend-developer
|
|
90
|
+
- Approver: +engineering-manager
|
|
91
|
+
6. **+engineering-manager:** Teknik analiz çıktılarını konsolide ederek teknik gereksinim raporunu oluşturur. Stack, dosya yapısı, güvenlik, veritabanı, API, tasarım sistemi ve uygulanması gereken mühendislik kararlarını tek kaynakta toplar.
|
|
92
|
+
- Inputs: `../workspace/reports/product-requirements.md`, `../workspace/references/security-rules.md`, `../workspace/references/dictionary.md`, `../workspace/references/file-system.md`, `../workspace/references/tech-stack.md`, `../workspace/references/db-schema.md`, `../workspace/references/api-reference.md`, `../workspace/references/design-system.md`
|
|
93
|
+
- Outputs: `../workspace/reports/tech-requirements.md`
|
|
94
|
+
- Approver: +prime
|
|
95
|
+
7. **+qa-engineer:** Ürün ve teknik gereksinimlere göre test stratejisini belirler. Test türlerini, kritik kullanıcı akışlarını, otomasyon kapsamını, manuel QA ihtiyaçlarını, kabul kriterlerini ve release öncesi kalite kapılarını tanımlar.
|
|
96
|
+
- Inputs: `../workspace/reports/product-requirements.md`, `../workspace/reports/tech-requirements.md`
|
|
97
|
+
- Outputs: `../workspace/references/test-strategy.md`
|
|
98
|
+
- Approver: +engineering-manager
|
|
99
|
+
|
|
100
|
+
## Konsolidasyon
|
|
101
|
+
|
|
102
|
+
> [!NOTE]
|
|
103
|
+
> - Tüm output dosyaları ilgili reviewer/approver tarafından onaylandıktan sonra konsolidasyon başlar.
|
|
104
|
+
> - +prime'ın karar vermesi gereken açık konular `../workspace/reports/analysis-reports.md` içinde ayrı bir karar listesi olarak yazılır.
|
|
105
|
+
|
|
106
|
+
8. **+operation-manager:** Product, technical ve test çıktılarını konsolide ederek nihai analiz raporunu oluşturur. Rapor; proje kapsamını, ana kararları, onay bekleyen konuları, riskleri, bağımlılıkları ve planlama akışına aktarılacak görev başlıklarını netleştirir.
|
|
107
|
+
- Inputs: `../workspace/reports/product-requirements.md`, `../workspace/reports/tech-requirements.md`, `../workspace/references/test-strategy.md`
|
|
108
|
+
- Outputs: `../workspace/reports/analysis-reports.md`
|
|
109
|
+
- Approver: +prime
|
|
110
|
+
|
|
111
|
+
## Bildirim
|
|
112
|
+
|
|
113
|
+
> [!NOTE] ANALİZ TAMAMLANDI
|
|
114
|
+
> +prime,
|
|
115
|
+
> [project-name] analizi tamamlandı.
|
|
116
|
+
> `../workspace/reports/analysis-reports.md` dosyası için `!approve/reject analysis-reports` komutunu bekliyorum.
|
|
117
|
+
> Onaydan sonra planlama akışı için `!start planning` komutunu bekleyeceğim.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Onboarding Pipeline (`!start onboard`)
|
|
2
|
+
|
|
3
|
+
Bu akış mevcut bir projeyi Kortext çalışma düzenine dahil eder.
|
|
4
|
+
|
|
5
|
+
## Girdi ve Çıkış
|
|
6
|
+
|
|
7
|
+
- **Başlangıç koşulu:** Mevcut codebase erişilebilir olmalı ve +prime başlangıç özetini `../workspace/references/blueprint.md` içine yazmış olmalıdır.
|
|
8
|
+
- **Girdi:** Mevcut codebase, başlangıç blueprint'i ve varsa mevcut proje dokümanları.
|
|
9
|
+
- **Çıkış:** Mevcut sistemin referans dosyaları, teknik borç görünümü ve `../workspace/reports/analysis-reports.md`.
|
|
10
|
+
- **Sonraki akış:** Onay sonrası `02-planning-pipeline.md`.
|
|
11
|
+
|
|
12
|
+
> [!TIP]
|
|
13
|
+
> - Birbirine bağımlı olmayan keşif adımlarında ajanlar eşzamanlı (paralel) çalışır.
|
|
14
|
+
> - Her ajan bir adıma başlamadan önce `../workspace/memory/context/[agent-name]-active.md` dosyasını oluşturur veya günceller; adım bitince sonucu `../workspace/memory/handover.md` dosyasına kaydeder ve kendi aktif görev dosyasını siler.
|
|
15
|
+
|
|
16
|
+
**Ön koşul:** +prime, `../workspace/references/blueprint.md` dosyasına yalnızca başlangıç özetini yazar:
|
|
17
|
+
- Projenin ne olduğu ve mevcut durumu
|
|
18
|
+
- Hangi versiyonda olduğu (örn: v2.3, beta, production)
|
|
19
|
+
- Bilinen kritik teknik borçlar veya sorunlar
|
|
20
|
+
- Kısa vadeli hedef (neden Kortext'e alınıyor?)
|
|
21
|
+
|
|
22
|
+
Onboarding sırasında +prime'a sorulan tüm ek soruların yanıtları `../workspace/reports/analysis-reports.md` içinde toplanır. Bu yanıtlar planlama aşamasında backlog kararlarına girdi olur.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1. Teknik Keşif
|
|
27
|
+
|
|
28
|
+
1. **+engineering-manager:** Mevcut codebase'i okuyarak teknoloji yığınını, klasör yapısını, dosya organizasyonunu, bağımlılıkları, dil/framework versiyonlarını, isimlendirme kurallarını ve mimari kalıpları tespit eder. Amaç yeni standart dayatmak değil, projenin mevcut teknik gerçekliğini belgelemektir.
|
|
29
|
+
- Inputs: Mevcut codebase, bağımlılık dosyaları, framework konfigürasyonları
|
|
30
|
+
- Outputs: `../workspace/references/tech-stack.md`, `../workspace/references/file-system.md`, `../workspace/references/dictionary.md`
|
|
31
|
+
- Approver: +prime
|
|
32
|
+
2. **+db-admin:** Mevcut migration dosyalarını, şema tanımlarını, ORM modellerini ve veritabanı bağlantı biçimini inceler. Tabloları, ilişkileri, index'leri, veri tiplerini ve veri bütünlüğü kurallarını belgeler.
|
|
33
|
+
- Inputs: Mevcut migration/schema dosyaları, ORM modelleri, veritabanı konfigürasyonları
|
|
34
|
+
- Outputs: `../workspace/references/db-schema.md`
|
|
35
|
+
- Approver: +engineering-manager
|
|
36
|
+
3. **+security-engineer:** Mevcut güvenlik yapılandırmalarını inceler. Auth, yetkilendirme, middleware, env handling, CORS, rate limiting, secret yönetimi, loglama ve hassas veri kullanımı açısından açıkları veya eksik katmanları tespit eder.
|
|
37
|
+
- Inputs: Mevcut codebase, `../workspace/references/tech-stack.md`
|
|
38
|
+
- Outputs: `../workspace/references/security-rules.md`
|
|
39
|
+
- Approver: +engineering-manager
|
|
40
|
+
- Escalation: Kritik güvenlik bulguları +prime'a bildirilir.
|
|
41
|
+
4. **+devops-engineer:** Mevcut CI/CD pipeline'larını, deployment süreçlerini, ortam yapılandırmalarını, branch stratejisini, erişim sahipliğini ve secret yönetimini inceler. Kortext'in `../rules/branching.md` kurallarıyla uyumsuzlukları ve release risklerini raporlar.
|
|
42
|
+
- Inputs: Mevcut CI/CD konfigürasyonları, deployment dosyaları, branch/release dokümantasyonu
|
|
43
|
+
- Outputs: `../workspace/references/access.md`, `../workspace/reports/delivery-reports.md`
|
|
44
|
+
- Approver: +delivery-manager
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 2. Ürün ve API Keşfi
|
|
49
|
+
|
|
50
|
+
1. **+engineering-manager:** Mevcut API endpoint'lerini, servis sınırlarını, request/response modellerini, auth mekanizmalarını ve entegrasyon noktalarını belgeler. +backend-developer teknik doğruluk açısından review yapar.
|
|
51
|
+
- Inputs: Mevcut route/controller dosyaları, servis katmanı, varsa Swagger/Postman koleksiyonu
|
|
52
|
+
- Outputs: `../workspace/references/api-reference.md`
|
|
53
|
+
- Reviewer: +backend-developer
|
|
54
|
+
- Approver: +engineering-manager
|
|
55
|
+
2. **+product-manager:** Mevcut özellikleri, kullanıcı akışlarını, roller/izinleri, bilinen eksiklikleri ve var olan roadmap/issue listesini inceler. Ürünün şu an ne yaptığı ile +prime'ın beklentisi arasındaki farkları görünür yapar.
|
|
56
|
+
- Inputs: `../workspace/references/blueprint.md`, mevcut ürün dokümanları, issue tracker, roadmap, kullanıcı geri bildirimleri
|
|
57
|
+
- Outputs: `../workspace/reports/product-requirements.md`
|
|
58
|
+
- Approver: +prime
|
|
59
|
+
3. **+qa-engineer:** Mevcut test kapsamını, test tiplerini, CI test raporlarını ve eksik test alanlarını belgeler. Kritik kullanıcı akışları için mevcut kalite güvencesinin yeterli olup olmadığını değerlendirir.
|
|
60
|
+
- Inputs: Mevcut test dosyaları, CI test raporları, `../workspace/reports/product-requirements.md`
|
|
61
|
+
- Outputs: `../workspace/references/test-strategy.md`
|
|
62
|
+
- Approver: +engineering-manager
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 3. Teknik Borç Tespiti
|
|
67
|
+
|
|
68
|
+
1. **+engineering-manager:** Keşif adımlarında tespit edilen teknik borçları, mimari sorunları, güvenlik risklerini, test açıklarını, devops/release risklerini ve iyileştirme alanlarını konsolide eder. Her borç kalemi için etki, risk, bağımlılık ve öncelik seviyesi belirler.
|
|
69
|
+
- Inputs: Tüm keşif çıktıları
|
|
70
|
+
- Outputs: `../workspace/reports/tech-requirements.md`
|
|
71
|
+
- Reviewer: +security-engineer, +qa-engineer, +devops-engineer
|
|
72
|
+
- Approver: +prime
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 4. Talep Toplama
|
|
77
|
+
|
|
78
|
+
Konsolidasyon başlamadan önce +prime'ın beklentileri ve açık kararları sisteme alınır.
|
|
79
|
+
|
|
80
|
+
1. **+product-manager:** +prime'a planlama kararlarını etkileyecek ek soruları yöneltir. Amaç yeni rapor üretmek değil, backlog'a girecek öncelikleri ve yarım kalan işleri netleştirmektir.
|
|
81
|
+
- Sorular:
|
|
82
|
+
- Teknik borçlara ek olarak backlog'a alınmasını istediğin yeni özellikler var mı?
|
|
83
|
+
- Devam eden veya yarım kalmış görevler var mı? Bunlar nasıl önceliklendirilmeli?
|
|
84
|
+
- Kısa vadeli hedefin nedir? Örneğin belirli bir özelliği bitirmek, bir versiyonu yayınlamak veya sistemi stabilize etmek.
|
|
85
|
+
- Outputs: +prime yanıtları `../workspace/reports/analysis-reports.md` içinde `+prime Kararları ve Planlama Girdileri` başlığı altında konsolide edilir.
|
|
86
|
+
- Approver: +prime
|
|
87
|
+
|
|
88
|
+
### Ara Bildirim
|
|
89
|
+
|
|
90
|
+
> [!NOTE] TALEPLER ALINDI
|
|
91
|
+
> +prime,
|
|
92
|
+
> Yanıtların `../workspace/reports/analysis-reports.md` içine `+prime Kararları ve Planlama Girdileri` başlığı altında işlendi.
|
|
93
|
+
> Doğruysa `!approve`, düzeltmek istersen `!reject [not]` komutunu bekliyorum.
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 5. Konsolidasyon ve Onay
|
|
97
|
+
|
|
98
|
+
1. **+operation-manager:** Tüm keşif çıktılarını, teknik borç listesini ve +prime yanıtlarını konsolide ederek onboarding analiz raporunu oluşturur. Rapor mevcut durum özetini, referans dosyalarını, riskleri, açık kararları, teknik borçları ve planning akışına aktarılacak başlıkları netleştirir.
|
|
99
|
+
- Inputs: Tüm keşif çıktıları, `../workspace/references/blueprint.md`, `../workspace/reports/tech-requirements.md`, +prime yanıtları
|
|
100
|
+
- Outputs: `../workspace/reports/analysis-reports.md`
|
|
101
|
+
- Approver: +prime
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Bildirim
|
|
105
|
+
|
|
106
|
+
> [!NOTE] ONBOARDING TAMAMLANDI
|
|
107
|
+
> +prime,
|
|
108
|
+
> [project-name] projesi Kortext'e dahil edildi.
|
|
109
|
+
> `../workspace/reports/analysis-reports.md` dosyası için `!approve/reject analysis-reports` komutunu bekliyorum.
|
|
110
|
+
> Onaydan sonra planning akışı için `!start planning` komutunu bekleyeceğim.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Planning Pipeline (`!start planning`)
|
|
2
|
+
|
|
3
|
+
Bu akış, onaylı analiz çıktılarından uygulanabilir düz backlog yapısını üretir.
|
|
4
|
+
|
|
5
|
+
## Girdi ve Çıkış
|
|
6
|
+
|
|
7
|
+
- **Başlangıç koşulu:** `../workspace/reports/analysis-reports.md` onaylı olmalıdır.
|
|
8
|
+
- **Girdi:** Analiz raporu ve bu raporda referans verilen onaylı kaynak dosyalar.
|
|
9
|
+
- **Çıkış:** `../workspace/memory/backlog/` altında düz dashboard ve item dosyaları.
|
|
10
|
+
- **Sonraki akış:** Ortam hazır değilse `03-environment-setup.md`, hazırsa `04-development-cycle.md`.
|
|
11
|
+
|
|
12
|
+
## Otomasyon Çağrıları
|
|
13
|
+
|
|
14
|
+
> [!TIP] Bu tablo workflow adımlarının hangi script/hook'a bağlandığını gösterir. Tek-kaynak referans: `../settings/INTEGRATION-MAP.md`.
|
|
15
|
+
|
|
16
|
+
| Adım | Tetikleyici Persona | Script / Hook | Beklenen Çıktı |
|
|
17
|
+
|---|---|---|---|
|
|
18
|
+
| Görev Belirleme (toplu) | +engineering-manager | `scripts/kortext-bulk-plan.py <plan.json>` | Toplu Task/Bug/Debt item dosyaları + dashboard satırları, otomatik git commit |
|
|
19
|
+
| Görev Belirleme (iteratif) | +engineering-manager | `scripts/kortext-backlog-add.py --type task|bug|debt --id <id> --title "..." --epic <epic-id>` | Item dosyası + dashboard satırı, otomatik git commit |
|
|
20
|
+
| Spike Item Açma | +engineering-manager | `scripts/kortext-backlog-add.py --type spike --id S01 --title "..."` (workflows/02b ile birlikte) | Spike item + ADR placeholder |
|
|
21
|
+
| Kalite & Etiketleme | +qa-engineer, +security-engineer, +designer | (item dosyalarına `Review Gates` eklenir; manuel düzenleme) | Gate işaretleri |
|
|
22
|
+
| Bağımlılık & Önceliklendirme | +engineering-manager | (item dosyalarına `Blocks` / `Blocked By` eklenir; manuel düzenleme) | İlişki haritası |
|
|
23
|
+
| Versiyonlama | +engineering-manager | (`version-dashboard.md` güncellenir) | Version eşleme |
|
|
24
|
+
| Görev Atama + Model Seçimi | +engineering-manager + +operation-manager | (item dosyalarına `Assignee` + `Model` eklenir) | Atama tamam |
|
|
25
|
+
| Konsolidasyon | +operation-manager | `scripts/kortext-backlog-sync.py` | Dashboard drift = 0 |
|
|
26
|
+
| Onay | +prime | `!approve backlog` / `!reject backlog` (manuel) | Backlog kabul kaydı |
|
|
27
|
+
|
|
28
|
+
> [!TIP]
|
|
29
|
+
> - Birbirine bağımlı olmayan adımlarda (Örn: +security-engineer ve +qa-engineer) ajanlar eşzamanlı (paralel) olarak çalışır.
|
|
30
|
+
> - Input dosyaların `status: approved` olması gerekir. Değilse, ilgili `approver`'dan dosyayı incelemesi istenir.
|
|
31
|
+
> - Her ajan bir adıma başlamadan önce `../workspace/memory/context/[agent-name]-active.md` dosyasını oluşturur veya günceller; adım bitince sonucu `../workspace/memory/handover.md` dosyasına kaydeder ve kendi aktif görev dosyasını siler.
|
|
32
|
+
> - **Metodoloji:** Kanban (Sprint yok, Eforlama yok)
|
|
33
|
+
> - **Görev Tipleri:** Epic, Task, Bug, Debt
|
|
34
|
+
> - **Inputs:** `../workspace/reports/analysis-reports.md` ve bu raporda onaylı olarak referans verilen tüm `../workspace/references/` ve `../workspace/reports/` çıktıları.
|
|
35
|
+
> - **Outputs:** `../workspace/memory/backlog/` altında tek seviyeli dashboard ve item dosyaları
|
|
36
|
+
|
|
37
|
+
## Görev Tipleri
|
|
38
|
+
|
|
39
|
+
- **Epic:** Ortak bir iş hedefine hizmet eden görev grubu.
|
|
40
|
+
- **Task:** Yeni geliştirme veya planlı iş.
|
|
41
|
+
- **Bug:** Mevcut davranışın yanlış çalışması.
|
|
42
|
+
- **Debt:** Bilinen teknik borç, refactor, mimari iyileştirme, test açığı veya operasyonel borç.
|
|
43
|
+
|
|
44
|
+
## Review Gates
|
|
45
|
+
|
|
46
|
+
- **Quality control:** QA kontrolü gerektiren görevlerde kullanılır.
|
|
47
|
+
- **Security check:** Güvenlik incelemesi gerektiren görevlerde kullanılır.
|
|
48
|
+
- **Design review:** UI veya UX doğrulaması gerektiren görevlerde kullanılır.
|
|
49
|
+
|
|
50
|
+
## Backlog Dosya Yapısı
|
|
51
|
+
|
|
52
|
+
Backlog tek seviyeli dosya yapısı kullanır. Version, Epic, Task, Bug ve Debt için ayrı klasör açılmaz.
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
../workspace/memory/backlog/
|
|
56
|
+
├── version-dashboard.md
|
|
57
|
+
├── epic-dashboard.md
|
|
58
|
+
├── debt-dashboard.md
|
|
59
|
+
├── TXX-[task-name].md
|
|
60
|
+
├── BXX-[bug-name].md
|
|
61
|
+
└── DXX-[debt-name].md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- `version-dashboard.md`: Versiyon hedefleri, versiyon kapsamındaki Epic'ler ve genel ilerleme.
|
|
65
|
+
- `epic-dashboard.md`: Epic listesi, Epic owner bilgisi, Epic altındaki Task/Bug ilişkileri ve Epic statüsü.
|
|
66
|
+
- `debt-dashboard.md`: Debt listesi, assignee ve statü.
|
|
67
|
+
- `TXX-[task-name].md`: Task detay dosyası.
|
|
68
|
+
- `BXX-[bug-name].md`: Bug detay dosyası.
|
|
69
|
+
- `DXX-[debt-name].md`: Debt detay dosyası.
|
|
70
|
+
|
|
71
|
+
## Görev Belirleme
|
|
72
|
+
|
|
73
|
+
1. **+engineering-manager:** Onaylı analiz çıktılarını tarayarak özellikleri, teknik gereksinimleri, açık riskleri ve +prime kararlarını backlog adaylarına dönüştürür.
|
|
74
|
+
2. Her işi atomik seviyeye böler. Atomik iş tek başına anlaşılabilir, bağımsız geliştirilebilir ve ayrı doğrulanabilir olmalıdır.
|
|
75
|
+
3. Her backlog adayı için görev tipini belirler:
|
|
76
|
+
- **Task:** Yeni geliştirme veya planlı uygulama işi.
|
|
77
|
+
- **Bug:** Mevcut davranışın yanlış çalışması.
|
|
78
|
+
- **Debt:** Teknik borç, refactor, mimari iyileştirme, test açığı veya operasyonel borç.
|
|
79
|
+
4. Her görev için kısa açıklama, gereksinimler, beklenen çıktı ve kaynak referansını yazar.
|
|
80
|
+
5. İnsan müdahalesi gerektiren işler +prime'a atanır. Bu işler domain satın alma, hesap açma, API key oluşturma, fiziksel cihaz kurulumu, platform erişimi veya bütçe/onay gerektiren kararlar olabilir.
|
|
81
|
+
|
|
82
|
+
## Kalite ve Etiketleme
|
|
83
|
+
|
|
84
|
+
1. **+qa-engineer:** Tüm Task, Bug ve Debt adaylarını inceler. Her görev için davranış odaklı, test edilebilir ve madde madde yazılmış Acceptance Criteria ekler.
|
|
85
|
+
2. Test edilemeyecek kadar muğlak görevleri +engineering-manager'a revizyon için geri gönderir.
|
|
86
|
+
3. QA kontrolü gerektiren görevlere `Review Gates: Quality control` ekler.
|
|
87
|
+
4. **+security-engineer:** Güvenlik, auth, secret, veri işleme, erişim kontrolü veya compliance riski taşıyan görevlere `Review Gates: Security check` ekler.
|
|
88
|
+
5. **+designer:** UI, UX, responsive davranış, erişilebilirlik veya görsel tutarlılık gerektiren görevlere `Review Gates: Design review` ekler.
|
|
89
|
+
|
|
90
|
+
## Bağımlılık ve Önceliklendirme
|
|
91
|
+
|
|
92
|
+
### İlişkilendirme
|
|
93
|
+
|
|
94
|
+
1. **+engineering-manager:** Tüm görev adayları arasındaki teknik ve operasyonel bağımlılıkları belirler.
|
|
95
|
+
2. Bir görevin başlaması için başka bir görevin tamamlanması gerekiyorsa `Blocks` ve `Blocked By` alanlarını kullanır.
|
|
96
|
+
> [!INFO] **Bağımlılık Yönetimi Kuralı:**
|
|
97
|
+
> - **Task A:** `Blocks: [Task B]`
|
|
98
|
+
> - **Task B:** `Blocked By: [Task A]`
|
|
99
|
+
> - Assignee kim olursa olsun, `Blocked By` alanındaki görev tamamlanmadan bağlı görev başlamaz.
|
|
100
|
+
|
|
101
|
+
### Epic Kategorileri
|
|
102
|
+
|
|
103
|
+
1. **+engineering-manager:** Atomik görevleri ortak bir iş hedefine hizmet eden Epic başlıkları altında birleştirir.
|
|
104
|
+
2. Her Epic için amaç, kapsam, başarı kriteri, kapsadığı görev tipleri ve genel işleyiş yazılır.
|
|
105
|
+
> [!WARNING] Her görev mutlaka bir **Epic** ile ilişkilendirilir.
|
|
106
|
+
|
|
107
|
+
### Versiyonlama
|
|
108
|
+
|
|
109
|
+
1. **+engineering-manager:** Epic'lerin ve görevlerin hangi versiyona ait olduğunu belirler.
|
|
110
|
+
2. Epic'leri projenin karmaşıklığına göre `v0.x` aşamalarından başlayarak `v1.0` aşamasına kadar mantıksal bir sıraya dizer.
|
|
111
|
+
3. Her versiyon için ana hedef, başarı kriteri ve kapsadığı Epic/Debt alanları yazılır.
|
|
112
|
+
4. Versiyon bilgisi `version-dashboard.md` içinde tutulur; versiyonlara göre alt klasör açılmaz.
|
|
113
|
+
5. Teknik borçlar `debt-dashboard.md` ve `DXX-[debt-name].md` item dosyalarında Debt olarak tutulur.
|
|
114
|
+
> [!WARNING] Her epic mutlaka en az bir **Version** ile ilişkilendirilir.
|
|
115
|
+
|
|
116
|
+
## Görev Atama, Model ve Skill Seçimi
|
|
117
|
+
|
|
118
|
+
1. **+engineering-manager:** Her görevi yapması gereken ajana atar. Teknik görevlerde ajan seçimi görevin uzmanlık alanına, `../workspace/references/tech-stack.md` içeriğine ve gerekli Review Gates alanlarına göre yapılır.
|
|
119
|
+
2. Her göreve uygulanması gereken skill bilgisini ekler. Skill seçimi teknoloji yığınına, görev tipine ve ilgili ajan rolüne göre yapılır.
|
|
120
|
+
3. İnsan müdahalesi, erişim, bütçe veya dış platform onayı gerektiren görevler +prime'a atanır.
|
|
121
|
+
4. **+operation-manager:** `../rules/models.md` dosyasına göre her görevin ihtiyaç duyduğu model tercihini belirler ve task içine ekler.
|
|
122
|
+
5. Her Epic için owner ajanı belirler. Epic owner, Epic altındaki görevlerin ilerleme ve blokaj takibinden sorumludur.
|
|
123
|
+
|
|
124
|
+
## Konsolidasyon
|
|
125
|
+
|
|
126
|
+
1. **+operation-manager:** Tüm planning çıktılarını `../workspace/memory/backlog/` altında dashboard ve item dosyaları olarak oluşturur.
|
|
127
|
+
- Reviewer: +engineering-manager
|
|
128
|
+
- Approver: +prime
|
|
129
|
+
> [!INFO] BACKLOG YAPISI
|
|
130
|
+
>```
|
|
131
|
+
> ../workspace/memory/backlog/
|
|
132
|
+
> ├── version-dashboard.md
|
|
133
|
+
> ├── epic-dashboard.md
|
|
134
|
+
> ├── debt-dashboard.md
|
|
135
|
+
> ├── TXX-[task-name].md
|
|
136
|
+
> ├── BXX-[bug-name].md
|
|
137
|
+
> └── DXX-[debt-name].md
|
|
138
|
+
>```
|
|
139
|
+
|
|
140
|
+
## Bildirim
|
|
141
|
+
|
|
142
|
+
> [!NOTE] PLANLAMA TAMAMLANDI
|
|
143
|
+
> +prime,
|
|
144
|
+
> [project-name] planlaması tamamlandı.
|
|
145
|
+
> `../workspace/memory/backlog/` için `!approve/reject backlog` komutunu bekliyorum.
|
|
146
|
+
> Onaydan sonra ortam kurulumu akışı için `!setup environment` komutunu bekleyeceğim.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Spike Workflow (`!start spike`)
|
|
2
|
+
|
|
3
|
+
Bu akış, bir geliştirme görevine başlamadan önce "acaba bu teknik çözüm işe yarar mı?" sorusunu yanıtlamak için kullanılır. Time-boxed bir araştırma/deneme sürecidir. Sprint kapsamını değiştirmez; çıktısı ya bir `decisions.md` ADR kaydı ya da yeni bir backlog Task item'ıdır.
|
|
4
|
+
|
|
5
|
+
## Girdi ve Çıkış
|
|
6
|
+
|
|
7
|
+
- **Başlangıç koşulu:** Bir görevi planlamadan veya başlatmadan önce teknik belirsizlik varsa ve bunu çözmek için araştırma/deneme gerekiyorsa.
|
|
8
|
+
- **Girdi:** +prime veya +engineering-manager'dan gelen spike konusu ve time-box süresi.
|
|
9
|
+
- **Çıktı:** `workspace/memory/decisions.md` içinde ADR kaydı **veya** yeni backlog Task item (kapsam netleştiyse).
|
|
10
|
+
- **Sonraki akış:** ADR onaylandıktan sonra `04-development-cycle.md`; kapsam belirsizleştiyse `02-planning-pipeline.md`.
|
|
11
|
+
|
|
12
|
+
> [!NOTE]
|
|
13
|
+
> Spike bir özellik değildir. Kod yazılabilir ama o kod production'a gitmez. Öğrenim hedeftir, çıktı değil.
|
|
14
|
+
|
|
15
|
+
## Time-Box Kuralı
|
|
16
|
+
|
|
17
|
+
Spike başlamadan önce süre netleştirilir. Süre aşıldığında devam edilmez; mevcut öğrenimle karar alınır.
|
|
18
|
+
|
|
19
|
+
| Spike Türü | Önerilen Süre | Uzatma |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| Kısa araştırma (API inceleme, dokümantasyon okuma) | 2 saat | Yok |
|
|
22
|
+
| Teknik PoC (küçük deneme kodu) | 4-8 saat | +prime onayıyla bir kez |
|
|
23
|
+
| Kapsamlı mimari araştırma | 1 gün | +prime onayıyla |
|
|
24
|
+
|
|
25
|
+
## Akış
|
|
26
|
+
|
|
27
|
+
### 1. Spike Tanımı
|
|
28
|
+
|
|
29
|
+
**Sorumlu:** +engineering-manager (teknik spikeler), +product-manager (ürün spikeler)
|
|
30
|
+
|
|
31
|
+
1. Spike konusunu ve sorusunu netleştir:
|
|
32
|
+
- **Hipotez:** "X yöntemi ile Y sorunu çözülebilir."
|
|
33
|
+
- **Başarı kriteri:** "Bunu doğrulamak için ne görmeliyim?"
|
|
34
|
+
- **Time-box:** Kaç saat/gün?
|
|
35
|
+
2. `workspace/memory/context/[agent-name]-active.md` dosyasını oluştur.
|
|
36
|
+
3. +prime'a bildir:
|
|
37
|
+
|
|
38
|
+
> [!NOTE] SPİKE BAŞLIYOR
|
|
39
|
+
> +prime,
|
|
40
|
+
> **Konu:** [spike sorusu]
|
|
41
|
+
> **Hipotez:** [X yöntemiyle Y çözülebilir]
|
|
42
|
+
> **Time-box:** [süre]
|
|
43
|
+
> Başlıyorum.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### 2. Araştırma / Deneme
|
|
48
|
+
|
|
49
|
+
**Sorumlu:** İlgili ajan (+engineering-manager, +backend-developer, vb.)
|
|
50
|
+
|
|
51
|
+
1. Hipotezi test et:
|
|
52
|
+
- Dokümantasyon ve kaynak tara.
|
|
53
|
+
- Gerekirse küçük bir PoC (Proof of Concept) yaz — `workspace/archive/spike-[konu]/` dizinine kaydet.
|
|
54
|
+
2. Bulguları not al:
|
|
55
|
+
- Hipotez doğrulandı mı?
|
|
56
|
+
- Beklenmedik kısıtlamalar var mı?
|
|
57
|
+
- Hangi alternatif yollar keşfedildi?
|
|
58
|
+
3. Time-box dolmadan sonuca ulaşılırsa ilerle; doluyorsa mevcut bilgiyle karar al.
|
|
59
|
+
|
|
60
|
+
> [!WARNING]
|
|
61
|
+
> Time-box dolduğunda "biraz daha araştırayım" deme. Durumu +prime'a bildir ve mevcut öğrenimle karar al.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### 3. Karar ve Çıktı
|
|
66
|
+
|
|
67
|
+
**Sorumlu:** +engineering-manager
|
|
68
|
+
|
|
69
|
+
Spike tamamlandığında iki seçenek:
|
|
70
|
+
|
|
71
|
+
| Durum | Aksiyon |
|
|
72
|
+
|---|---|
|
|
73
|
+
| Hipotez doğrulandı, yol netleşti | `workspace/memory/decisions.md`'ye ADR yaz → `04-development-cycle.md` |
|
|
74
|
+
| Kapsam belirsizleşti veya yeni Task gerekli | `kortext-backlog-add.py` ile Task aç → `02-planning-pipeline.md` |
|
|
75
|
+
| Hipotez reddedildi, alternatif yol gerekli | +prime'a sun, karar bekle |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### 4. ADR Formatı (Spike Çıktısı)
|
|
80
|
+
|
|
81
|
+
`workspace/memory/decisions.md` içine şu formatta eklenir:
|
|
82
|
+
|
|
83
|
+
```md
|
|
84
|
+
## [YYYY-MM-DD] — Spike: [konu-başlığı]
|
|
85
|
+
|
|
86
|
+
**Soru:** [Araştırılan teknik soru]
|
|
87
|
+
**Hipotez:** [Test edilen hipotez]
|
|
88
|
+
**Time-box:** [harcanan süre]
|
|
89
|
+
|
|
90
|
+
### Bulgular
|
|
91
|
+
[Ne öğrenildi? Kısa maddeler halinde]
|
|
92
|
+
|
|
93
|
+
### Karar
|
|
94
|
+
[Hipotez doğrulandı / reddedildi / kısmen doğrulandı]
|
|
95
|
+
**Seçilen yol:** [hangi yaklaşım benimseniyor]
|
|
96
|
+
**Red edilen yol:** [hangi alternatif neden reddedildi]
|
|
97
|
+
|
|
98
|
+
### Sonraki Adım
|
|
99
|
+
[Backlog Task ID veya "ADR geçerli, geliştirme başlayabilir"]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Bildirim
|
|
105
|
+
|
|
106
|
+
> [!NOTE] SPİKE TAMAMLANDI
|
|
107
|
+
> +prime,
|
|
108
|
+
> **Konu:** [spike sorusu]
|
|
109
|
+
> **Süre:** [harcanan süre / time-box]
|
|
110
|
+
> **Sonuç:** [Doğrulandı / Reddedildi / Kısmen]
|
|
111
|
+
> **Karar:** [decisions.md kaydı veya yeni Task ID]
|
|
112
|
+
> Devam için onayını bekliyorum.
|
|
113
|
+
|
|
114
|
+
> [!NOTE] SPİKE TIME-BOX DOLDU
|
|
115
|
+
> +prime,
|
|
116
|
+
> **Konu:** [spike sorusu]
|
|
117
|
+
> **Durum:** Time-box doldu. Sonuca ulaşılamadı.
|
|
118
|
+
> **Mevcut bulgular:** [kısa özet]
|
|
119
|
+
> **Seçenekler:** [a) daha fazla araştırma — ek süre / b) mevcut bilgiyle karar al / c) iptal]
|
|
120
|
+
> Komutunu bekliyorum.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Environment Setup (`!setup environment`)
|
|
2
|
+
|
|
3
|
+
Bu akış, onaylı analiz çıktıları hazırlandıktan sonra projenin çalışabilir ortamını kurar.
|
|
4
|
+
|
|
5
|
+
## Girdi ve Çıkış
|
|
6
|
+
|
|
7
|
+
- **Başlangıç koşulu:** `../workspace/references/tech-stack.md`, `../workspace/references/security-rules.md`, `../workspace/references/db-schema.md` ve gerekli ürün/teknik kararları onaylanmış olmalıdır.
|
|
8
|
+
- **Girdi:** Onaylı referans dosyaları ve +prime tarafından sağlanan gerçek secret değerleri.
|
|
9
|
+
- **Çıkış:** Çalışan geliştirme ortamı, belgelenmiş erişim yapısı, secrets scanning kurulumu ve smoke test sonucu.
|
|
10
|
+
- **Sonraki akış:** Ortam doğrulandıktan sonra `04-development-cycle.md`.
|
|
11
|
+
|
|
12
|
+
## Servis Envanteri ve Credential Setup
|
|
13
|
+
|
|
14
|
+
1. **+devops-engineer:** `../workspace/references/tech-stack.md`, `../workspace/references/security-rules.md` ve `../workspace/references/db-schema.md` dosyalarını inceleyerek tüm harici servisleri tespit eder.
|
|
15
|
+
2. Her servisi iki kategoriye ayırır:
|
|
16
|
+
- **Yapılandırma bilgisi:** URL, proje adı, public key, platform adı, ortam adı gibi açık bilgiler. `../workspace/references/access.md` içinde tutulur ve versiyon kontrolüne dahil edilebilir.
|
|
17
|
+
- **Gizli anahtar:** API key, secret, token, connection string gibi gerçek değerler. `.env.example` içinde yalnızca anahtar adı ve açıklaması yer alır; gerçek değerler sadece `.env` dosyasında tutulur.
|
|
18
|
+
3. Servis envanterinden elde edilen açık yapılandırma bilgilerini `../workspace/references/access.md` dosyasına yazar.
|
|
19
|
+
4. Gerekli environment variable anahtarlarını ve sade açıklamalarını `.env.example` dosyasına yazar.
|
|
20
|
+
5. `../workspace/references/access.md` ve `.env.example` dosyalarını +prime'a sunar.
|
|
21
|
+
|
|
22
|
+
> [!NOTE]
|
|
23
|
+
> Talep metnini teknik jargon kullanmadan, sade bir dille hazırlar.
|
|
24
|
+
> Her değişken için +prime'ın teknik bilgi sahibi olmadığı dikkate alınarak **sade bir açıklama** yazılır. Açıklamada şu bilgiler yer alır: değişkenin **ne olduğu**, **nereden temin edileceği** ve **neden gerektiği**.
|
|
25
|
+
> Gerçek değerler **asla** yazılmaz.
|
|
26
|
+
|
|
27
|
+
### Ara Bildirim
|
|
28
|
+
|
|
29
|
+
> [!NOTE] ORTAM KURULUYOR
|
|
30
|
+
> +prime,
|
|
31
|
+
> `../workspace/references/access.md` ve `.env.example` hazır.
|
|
32
|
+
> Lütfen `access.md` içindeki boş yapılandırma alanlarını ve proje root dizinindeki `.env` dosyasını doldur.
|
|
33
|
+
> Doldurduktan sonra `!approve access` ve `!approve .env` komutlarını bekliyorum.
|
|
34
|
+
|
|
35
|
+
**+prime:**
|
|
36
|
+
1. `../workspace/references/access.md` dosyasındaki boş alanları doldurur.
|
|
37
|
+
2. `.env.example` dosyasındaki açıklamaları takip ederek gerçek anahtarları temin eder.
|
|
38
|
+
3. Proje root dizininde `.env` dosyasını oluşturarak gerçek değerleri yazar.
|
|
39
|
+
|
|
40
|
+
> [!WARNING] `.env` dosyası **asla** versiyon kontrolüne dahil edilmez. `.gitignore`'da yer almalıdır. +prime dışında hiçbir ajan gizli anahtarlara doğrudan erişemez.
|
|
41
|
+
|
|
42
|
+
1. **+devops-engineer:** `.env` dosyasındaki anahtar adlarının `.env.example` ile eşleştiğini kontrol eder. Gerçek secret değerlerini okumaz, yazmaz veya raporlamaz.
|
|
43
|
+
2. `../workspace/references/access.md` bilgilerinin doğruluğunu ve erişilebilirliğini doğrular.
|
|
44
|
+
3. Uygulamanın bu yapılandırmayla başarıyla ayağa kalktığını test eder.
|
|
45
|
+
4. Sorun tespit edilirse +prime'a sade bir dille geri bildirim verir ve düzeltme talep eder.
|
|
46
|
+
|
|
47
|
+
### Secrets Scanning Kurulumu
|
|
48
|
+
|
|
49
|
+
**+devops-engineer**, proje kurulumunun bir parçası olarak aşağıdaki iki katmandan en az birini yapılandırır:
|
|
50
|
+
|
|
51
|
+
#### Katman 1 — Pre-commit Hook (Yerel Koruma)
|
|
52
|
+
|
|
53
|
+
1. Commit anında secrets taraması yapar. Gizli anahtar içeren dosya commit edilmeye çalışılırsa işlem engellenir.
|
|
54
|
+
2. Kullanılan araç proje tech stack'ine göre seçilir. Örn: `detect-secrets`, `gitleaks`, platform-native secret scanning.
|
|
55
|
+
3. Baseline veya konfigürasyon dosyası versiyon kontrolüne dahil edilebilir; `.env` ve gerçek secret dosyaları dahil edilemez.
|
|
56
|
+
|
|
57
|
+
#### Katman 2 — CI Pipeline Taraması (Merkezi Koruma)
|
|
58
|
+
|
|
59
|
+
1. Her PR ve push'ta otomatik secrets taraması çalıştırır. Yerel hook'u atlamış commit'leri yakalar.
|
|
60
|
+
2. CI taraması zorunlu status check ise branch protection kurallarına dahil edilir.
|
|
61
|
+
3. Kurulan secrets scanning katmanı `../workspace/references/security-rules.md` ve `../workspace/reports/delivery-reports.md` içinde belgelenir.
|
|
62
|
+
|
|
63
|
+
### Çıktılar
|
|
64
|
+
|
|
65
|
+
| Dosya | Sorumlu | VCS | Açıklama |
|
|
66
|
+
|-------|---------|-----|----------|
|
|
67
|
+
| `../workspace/references/access.md` | +devops-engineer | Evet | Servis yapılandırma ve erişim referansı |
|
|
68
|
+
| `.env.example` | +devops-engineer | Evet | Ortam değişkenlerinin anahtar listesi ve açıklamaları |
|
|
69
|
+
| `.env` | +prime | Hayır | Gerçek gizli anahtarlar |
|
|
70
|
+
| `.secrets.baseline` | +devops-engineer | Evet | Secrets scanning baseline dosyası |
|
|
71
|
+
| `.pre-commit-config.yaml` | +devops-engineer | Evet | Pre-commit hook tanımı |
|
|
72
|
+
| `.github/workflows/secrets-scan.yml` | +devops-engineer | Evet | CI secrets tarama pipeline'ı |
|
|
73
|
+
|
|
74
|
+
## Proje İskeleti
|
|
75
|
+
|
|
76
|
+
1. **+frontend-developer:** `../workspace/references/file-system.md` yapısına göre frontend proje iskeletini oluşturur veya mevcut iskeleti düzenler.
|
|
77
|
+
2. **+devops-engineer:** `../rules/branching.md` uyarınca repoyu başlatır, `.gitignore` dosyasını hazırlar ve main branch'e doğrudan push'u engelleyecek branch protection kurallarını uygular.
|
|
78
|
+
3. Staging/Production ortamlarını `../workspace/references/access.md` içindeki bilgilere göre ayarlar.
|
|
79
|
+
4. `../workflows/06-deployment-cycle.md` uyarınca CI/CD pipeline'larını aktif eder.
|
|
80
|
+
5. **+db-admin:** `../workspace/references/db-schema.md` uyarınca veritabanlarını oluşturur veya mevcut veritabanı bağlantılarını doğrular.
|
|
81
|
+
|
|
82
|
+
## Uygulama Kurulumu
|
|
83
|
+
|
|
84
|
+
1. **+backend-developer:** `../workspace/references/tech-stack.md` ve `../workspace/references/api-reference.md` uyarınca backend bağımlılıklarını yükler, gerekli başlangıç konfigürasyonlarını yapar ve gerekiyorsa mock data setlerini oluşturur.
|
|
85
|
+
2. **+frontend-developer:** `../workspace/references/design-system.md` değerlerini ve `../workspace/references/file-system.md` yapısını projeye uygular.
|
|
86
|
+
|
|
87
|
+
## Kalite Kontrol (Smoke Test)
|
|
88
|
+
|
|
89
|
+
1. **+engineering-manager:** Kurulum commit'lerini ve proje iskeletinin `../workspace/references/file-system.md` ile uyumunu denetler.
|
|
90
|
+
2. **+qa-engineer:** Kurulumun hatasız olduğunu doğrulamak için smoke test yapar. Minimum kontroller: build, run, DB connection, API health ve temel UI açılışı.
|
|
91
|
+
3. Sonuçları `../workspace/reports/test-reports.md` dosyasına yazar.
|
|
92
|
+
|
|
93
|
+
## Bildirim
|
|
94
|
+
|
|
95
|
+
> [!NOTE] ORTAMLAR KURULDU
|
|
96
|
+
> +prime,
|
|
97
|
+
> [project-name] tüm ortam eksiksiz kuruldu ve tüm kurulum testlerinden geçti.
|
|
98
|
+
> Sonuçlar `../workspace/reports/test-reports.md` dosyasına yazıldı.
|
|
99
|
+
> Rapor için `!approve/reject test-reports`, ardından geliştirmeye başlamak için `!start development` komutunu bekliyorum.
|