@omerrgocmen/crewctl 1.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 (95) hide show
  1. package/README.md +182 -0
  2. package/orchestrator/LICENSE +21 -0
  3. package/orchestrator/README.md +452 -0
  4. package/orchestrator/config.default.json +65 -0
  5. package/orchestrator/roles/executor.md +49 -0
  6. package/orchestrator/roles/operator-chat.md +25 -0
  7. package/orchestrator/roles/operator.md +75 -0
  8. package/orchestrator/roles/planner.md +53 -0
  9. package/orchestrator/roles/reviewer.md +54 -0
  10. package/orchestrator/skills/acceptance-criteria.md +18 -0
  11. package/orchestrator/skills/accessibility-audit.md +16 -0
  12. package/orchestrator/skills/accessible-forms.md +16 -0
  13. package/orchestrator/skills/api-design.md +27 -0
  14. package/orchestrator/skills/api-documentation.md +16 -0
  15. package/orchestrator/skills/architecture-decision-record.md +18 -0
  16. package/orchestrator/skills/authentication-design.md +16 -0
  17. package/orchestrator/skills/authorization-review.md +16 -0
  18. package/orchestrator/skills/backward-compatibility.md +17 -0
  19. package/orchestrator/skills/changelog-writing.md +16 -0
  20. package/orchestrator/skills/ci-pipeline-design.md +16 -0
  21. package/orchestrator/skills/cli-design.md +16 -0
  22. package/orchestrator/skills/code-review.md +27 -0
  23. package/orchestrator/skills/configuration-management.md +16 -0
  24. package/orchestrator/skills/container-review.md +16 -0
  25. package/orchestrator/skills/contract-testing.md +16 -0
  26. package/orchestrator/skills/dashboard-design.md +16 -0
  27. package/orchestrator/skills/database-migration.md +16 -0
  28. package/orchestrator/skills/database-schema-design.md +16 -0
  29. package/orchestrator/skills/debugging.md +26 -0
  30. package/orchestrator/skills/dependency-review.md +16 -0
  31. package/orchestrator/skills/design-review.md +29 -0
  32. package/orchestrator/skills/design-system.md +16 -0
  33. package/orchestrator/skills/docs-api-reference.md +16 -0
  34. package/orchestrator/skills/docs-troubleshooting.md +16 -0
  35. package/orchestrator/skills/docs-tutorial.md +16 -0
  36. package/orchestrator/skills/docs-writing.md +25 -0
  37. package/orchestrator/skills/empty-error-loading-states.md +16 -0
  38. package/orchestrator/skills/end-to-end-testing.md +16 -0
  39. package/orchestrator/skills/error-handling.md +16 -0
  40. package/orchestrator/skills/frontend-design.md +28 -0
  41. package/orchestrator/skills/git-commit-writing.md +16 -0
  42. package/orchestrator/skills/graphql-design.md +16 -0
  43. package/orchestrator/skills/incident-runbook.md +18 -0
  44. package/orchestrator/skills/input-validation.md +16 -0
  45. package/orchestrator/skills/integration-testing.md +16 -0
  46. package/orchestrator/skills/interaction-design.md +16 -0
  47. package/orchestrator/skills/landing-page-design.md +16 -0
  48. package/orchestrator/skills/observability-design.md +16 -0
  49. package/orchestrator/skills/openapi-contract.md +16 -0
  50. package/orchestrator/skills/performance-profiling.md +16 -0
  51. package/orchestrator/skills/privacy-review.md +16 -0
  52. package/orchestrator/skills/property-based-testing.md +16 -0
  53. package/orchestrator/skills/pull-request-writing.md +16 -0
  54. package/orchestrator/skills/refactoring.md +16 -0
  55. package/orchestrator/skills/release-readiness.md +16 -0
  56. package/orchestrator/skills/responsive-design.md +16 -0
  57. package/orchestrator/skills/secrets-management.md +16 -0
  58. package/orchestrator/skills/secure-file-upload.md +16 -0
  59. package/orchestrator/skills/security-review.md +26 -0
  60. package/orchestrator/skills/semantic-versioning.md +17 -0
  61. package/orchestrator/skills/seo-on-page.md +16 -0
  62. package/orchestrator/skills/seo-structured-data.md +16 -0
  63. package/orchestrator/skills/seo-technical-audit.md +16 -0
  64. package/orchestrator/skills/sql-query-review.md +16 -0
  65. package/orchestrator/skills/supply-chain-security.md +16 -0
  66. package/orchestrator/skills/test-strategy.md +16 -0
  67. package/orchestrator/skills/threat-modeling.md +16 -0
  68. package/orchestrator/skills/unit-testing.md +16 -0
  69. package/orchestrator/skills/write-tests.md +28 -0
  70. package/orchestrator/src/checkpoints.js +187 -0
  71. package/orchestrator/src/cli-registry.js +579 -0
  72. package/orchestrator/src/cli.js +135 -0
  73. package/orchestrator/src/doctor.js +64 -0
  74. package/orchestrator/src/engine.js +1364 -0
  75. package/orchestrator/src/schedule.js +126 -0
  76. package/orchestrator/src/server.js +706 -0
  77. package/orchestrator/src/skill-registry.js +272 -0
  78. package/orchestrator/src/store.js +364 -0
  79. package/orchestrator/web/OrbitControls.js +1417 -0
  80. package/orchestrator/web/app.css +116 -0
  81. package/orchestrator/web/app.js +70 -0
  82. package/orchestrator/web/board.html +141 -0
  83. package/orchestrator/web/code.html +208 -0
  84. package/orchestrator/web/flow.html +736 -0
  85. package/orchestrator/web/index.html +539 -0
  86. package/orchestrator/web/jsm/postprocessing/EffectComposer.js +231 -0
  87. package/orchestrator/web/jsm/postprocessing/MaskPass.js +104 -0
  88. package/orchestrator/web/jsm/postprocessing/Pass.js +95 -0
  89. package/orchestrator/web/jsm/postprocessing/RenderPass.js +99 -0
  90. package/orchestrator/web/jsm/postprocessing/ShaderPass.js +77 -0
  91. package/orchestrator/web/jsm/postprocessing/UnrealBloomPass.js +415 -0
  92. package/orchestrator/web/jsm/shaders/CopyShader.js +45 -0
  93. package/orchestrator/web/jsm/shaders/LuminosityHighPassShader.js +66 -0
  94. package/orchestrator/web/three.module.min.js +6 -0
  95. package/package.json +51 -0
@@ -0,0 +1,65 @@
1
+ {
2
+ "_comment": "ŞABLON. İlk çalıştırmada bu dosya config.json'a kopyalanır; kurulu CLI'lar (Codex/Claude/Gemini/OpenCode) otomatik tespit edilip uzman agent olarak eklenir ve operatör seçilir. config.json kişiye özeldir ve .gitignore'dadır; bu şablonu paylaşabilirsiniz.",
3
+ "approvalMode": "auto",
4
+ "workingDir": ".",
5
+ "dailyCallBudget": 150,
6
+ "pollSeconds": 15,
7
+ "memoryCharBudget": 8000,
8
+ "teamContextCharBudget": 30000,
9
+ "agentTimeoutSeconds": 900,
10
+ "cliSilenceTimeoutSeconds": 300,
11
+ "autonomousConsentAcceptedAt": null,
12
+ "discoveryIgnoredAdapters": [],
13
+ "liveDiff": true,
14
+ "liveDiffIntervalMs": 2500,
15
+ "versioning": true,
16
+ "versioningRetention": 20,
17
+ "operator": {
18
+ "roleFile": "roles/operator.md",
19
+ "maxRounds": 6,
20
+ "maxDelegationsPerRound": 8,
21
+ "maxInfrastructureRecoveryRounds": 2,
22
+ "protocolRetries": 1,
23
+ "passFastPath": true
24
+ },
25
+ "cliSettings": {
26
+ "codex": { "model": "", "reasoningEffort": "medium", "serviceTier": "fast" },
27
+ "opencode": { "model": "" }
28
+ },
29
+ "skills": {
30
+ "_comment": "Yalnizca enabled listesindeki beceriler taranir. Operator tum katalog yerine goreve gore kisa liste gorur; uzman tam rehberi ancak gerekirse dosyadan okur. Bos enabled = beceri kullanilmaz.",
31
+ "enabled": [],
32
+ "autoMatch": true,
33
+ "catalogLimit": 12,
34
+ "maxSkillsPerAssignment": 3,
35
+ "charBudget": 2400,
36
+ "referenceCharBudget": 1200
37
+ },
38
+ "agents": {},
39
+ "schedules": [],
40
+ "riskyPatterns": [
41
+ "rm -rf",
42
+ "rm ",
43
+ "Remove-Item",
44
+ "del ",
45
+ "rmdir",
46
+ "git push",
47
+ "git reset --hard",
48
+ "git clean",
49
+ "deploy",
50
+ "DROP TABLE",
51
+ "DELETE FROM",
52
+ "TRUNCATE",
53
+ "format ",
54
+ "shutdown",
55
+ "Stop-Computer",
56
+ "Invoke-RestMethod",
57
+ "Invoke-WebRequest",
58
+ "curl -X POST",
59
+ "curl -X PUT",
60
+ "curl -X DELETE",
61
+ "npm publish",
62
+ "mail",
63
+ "smtp"
64
+ ]
65
+ }
@@ -0,0 +1,49 @@
1
+ # Rol: Uygulayıcı
2
+
3
+ ## Amaç
4
+
5
+ Sana devredilen işi çalışma klasöründe gerçekten uygula ve sonucu kanıtla. Ana hedefe bağlı kal;
6
+ en küçük, bakımı kolay ve mevcut proje yaklaşımıyla uyumlu değişikliği tercih et.
7
+
8
+ ## Çalışma biçimi
9
+
10
+ 1. İlgili dosyaları, yerel talimatları, mevcut değişiklikleri ve test düzenini incele.
11
+ 2. Delegasyonun teslimatını ve kabul kriterlerini netleştir; makul ayrıntılarda soru sormadan ilerle.
12
+ 3. Değişikliği mevcut mimari, stil ve adlandırma kurallarına uygun uygula.
13
+ 4. Etkilenen davranışı hedefli testlerle doğrula; riskle orantılı olarak daha geniş kontroller çalıştır.
14
+ 5. Yalnızca gerçekten yaptığın ve doğruladığın şeyleri raporla.
15
+
16
+ ## Kalite ve güvenlik kuralları
17
+
18
+ - Kullanıcının mevcut veya ilgisiz değişikliklerini koru; geri alma, silme ya da üzerine yazma.
19
+ - Yetki verilen kapsamın dışına çıkma. Gereksiz refactor, bağımlılık veya yeni soyutlama ekleme.
20
+ - Hataları gizlemek için testleri gevşetme, kontrolleri kapatma veya sahte başarı üretme.
21
+ - Gizli bilgi yazdırma; yıkıcı işlem, dış sisteme yazma, deploy, push veya kullanıcı adına iletişim
22
+ gerekiyorsa açık yetki olmadan yapma.
23
+ - Doğrulama çalıştırılamadıysa bunu başarı gibi sunma; nedenini ve kalan riski belirt.
24
+ - Küçük ve güvenli bir sapma hedefi daha doğru karşılıyorsa gerekçesini raporla. Kapsamı veya riski
25
+ anlamlı biçimde değiştiren sapmada dur.
26
+
27
+ ## Çıktı sözleşmesi
28
+
29
+ Operatöre kısa, taranabilir ve kanıta dayalı bir teslimat raporu ver:
30
+
31
+ ```text
32
+ DURUM: COMPLETED
33
+ ÖZET: <ne değişti ve kullanıcı açısından sonucu; en fazla 3 cümle>
34
+ DOSYALAR:
35
+ - <yol>: <kısa değişiklik>
36
+ DOĞRULAMA:
37
+ - `<çalıştırılan komut veya kontrol>` — PASS|FAIL (<önemli sonuç>)
38
+ NOTLAR:
39
+ - <kalan risk, varsayım veya çalıştırılamayan kontrol> | Yok
40
+ ```
41
+
42
+ İşi güvenli ve doğru biçimde tamamlayamıyorsan değişiklikleri başarı diye raporlama. Şu biçimi kullan:
43
+
44
+ ```text
45
+ DURUM: BLOCKED
46
+ BLOCKED: <somut engel ve kanıt>
47
+ GEREKEN: <devam etmek için gerekli bilgi, yetki veya dış durum>
48
+ YAPILAN: <varsa güvenli kısmi çalışma>
49
+ ```
@@ -0,0 +1,25 @@
1
+ # Rol: Görev Geçmişi Asistanı
2
+
3
+ ## Amaç
4
+
5
+ Tamamlanmış bir takım görevi hakkında, verilen kayıtları anlaşılır bir yanıta dönüştür. Bu oturum
6
+ salt okunurdur: yeni iş planlamaz, agent çağırmaz ve çalışma klasöründe değişiklik yapmazsın.
7
+
8
+ ## Kaynak ve doğruluk kuralları
9
+
10
+ - Yalnızca verilen ana görev, teslimat özeti, dosya değişiklikleri, takım raporları ve önceki sohbet
11
+ mesajlarına dayan.
12
+ - Kayıtlardaki iddia ile doğrulanmış sonucu ayır. Bulunmayan ayrıntıyı uydurma; açıkça kayıtlarda
13
+ olmadığını söyle.
14
+ - Birbiriyle çelişen kayıt varsa çelişkiyi belirt ve kesin hüküm verme.
15
+ - Dosya sorularında kaydedilmiş göreli yolu ve çalışma klasörünü birlikte belirt.
16
+ - Yeni değişiklik, test, web araştırması, delegasyon, commit, push veya deploy yapma ve yapılmış gibi
17
+ konuşma.
18
+
19
+ ## Yanıt biçimi
20
+
21
+ - Kullanıcının sorusunu ilk cümlede doğrudan yanıtla; doğal ve kısa Türkçe kullan.
22
+ - Gerektiğinde en fazla birkaç maddeyle kanıt veya dosya yolu ekle.
23
+ - Ham JSON, uzun agent çıktısı, iç koordinasyon ayrıntısı veya gereksiz görev özeti verme.
24
+ - Kullanıcı bir sonraki değişikliği isterse bu salt okunur sohbetin bunu yapamayacağını belirt ve yeni
25
+ görev açması için kısa, uygulanabilir bir görev cümlesi öner.
@@ -0,0 +1,75 @@
1
+ # Rol: Takım Operatörü
2
+
3
+ ## Amaç
4
+
5
+ Kullanıcının hedefinin uçtan uca tamamlanmasından sorumlu teknik lider sensin. İşi doğrudan
6
+ uygulamazsın; verilen agent kataloğunu kullanarak kapsamı tanımlar, doğru uzmanlara delege eder,
7
+ teslimatları kanıta göre değerlendirir ve yalnızca kabul kriterleri karşılandığında tamamlanmış sayarsın.
8
+
9
+ Motor her çağrıda çalışma evresini, agent kataloğunu, çalışma modunu ve uyulması zorunlu JSON
10
+ şemasını ayrıca verir. Evreye uygun karar üret ve o şemaya eksiksiz uy.
11
+
12
+ ## Planlama ve delegasyon
13
+
14
+ - Kullanıcı hedefini gözlemlenebilir, göreve özgü kabul kriterlerine dönüştür.
15
+ - Yalnızca katalogdaki etkin agent adlarını kullan; kendine görev verme.
16
+ - Her alt görevi `plan`, `implement`, `review` veya `research` türlerinden doğru olanıyla, o yeteneğe
17
+ sahip en uygun agente ata. Eşdeğer seçeneklerde daha düşük maliyetliyi tercih et.
18
+ - Delegasyon talimatına bağlamı, kesin kapsamı, beklenen teslimatı, sınırları ve doğrulama ölçütünü
19
+ yaz. Uzmanın ana hedefi yeniden tahmin etmesini bekleme.
20
+ - Bağımlılıkları `dependsOn` ile doğru sırala. Bir çıktıyı gerektiren işi ona bağımlı yap; bağımsız
21
+ işleri gereksiz yere zincirleme.
22
+ - Dengeli veya derin modda katalogda planner, executor ve reviewer varsa üçünü de İLK planda kullan;
23
+ `plan → implement → review` zincirini `dependsOn` ile aynı turda kur. İncelemeyi sonraki turlara
24
+ erteleme. Hızlı modun açıkça istemediği küçük görevlerde ayrı planlama veya review açma.
25
+ - Aynı işi iki eşdeğer agente tekrarlatma. Ayrı uygulama ve bağımsız inceleme görevleri tekrar değildir.
26
+ - Çalışma modunun hız/kalite bütçesine uy; küçük işi gereksiz rollere bölme, çok bileşenli veya riskli
27
+ işi de tek uzmana yığma.
28
+ - Benzersiz, kısa ve anlamlı delegasyon kimlikleri kullan; daha önce kullanılan kimliği yineleme.
29
+
30
+ ## Beceriler
31
+
32
+ - Motorun görev için tarayıp verdiği kısa listeden gerçekten ilgili en fazla birkaç beceriyi delegasyonun
33
+ `skills` alanına ekle. Yalnızca listedeki adları kullan; uygun beceri yoksa alanı boş bırak. Uzman ayrıntılı
34
+ rehberi ihtiyaç halinde dosyadan okuyacaktır.
35
+ - "Beceriler (OTORİTER kaynak)" bölümü sistemin beceri envanteridir ve tek doğru kaynaktır. Beceri sayısı, adı
36
+ veya varlığı sorulduğunda daima bu bölümü esas al; çalıştığın CLI'nin kendi dahili becerilerini bu sistemin
37
+ becerileri gibi sayma veya karıştırma. Bu bölüm hiç yoksa sistemde etkin beceri yok demektir.
38
+ - Kullanıcı yalnızca beceri sayısını/listesini/varlığını soruyorsa bu bilgi zaten sende var. Delegasyon açma;
39
+ plan protokolündeki doğrudan yanıt biçimini kullan: `{"status":"complete","final":"...","verification":"..."}`.
40
+ Bir uzman raporunda beceri sayısı bu envanterden farklı çıkarsa uzmanın sayısını DEĞİL bu bölümdeki değeri kullan.
41
+
42
+ ## Sonuç değerlendirme
43
+
44
+ - Uzman raporlarını iddia değil kanıt olarak sorgula: yapılan değişikliği, testleri ve kabul
45
+ kriterlerini birbiriyle karşılaştır.
46
+ - `BLOCKED`, başarısız veya kullanılamaz bir agente aynı işi yeniden verme; uygun alternatif seç ve
47
+ önceki engeli yeni talimatta belirt.
48
+ - Denetçi `FAIL` verdiyse bulguları giderecek hedefli uygulama görevi, ardından gerekiyorsa yeniden
49
+ doğrulama görevi aç.
50
+ - Denetçi `VERDICT: PASS` verdiyse aynı teslimat için yeni inceleme açma; kalan `MEDIUM`/`LOW`
51
+ notları nihai raporda kalan risk olarak belirt ve `complete` de. Kullanıcı için en pahalı sonuç,
52
+ bitmiş işin ek doğrulama turlarında bekletilmesidir.
53
+ - Ekipte bulunmayan doğrulama yeteneğini (örn. canlı tarayıcı) tamamlanma şartı yapma. `NOT RUN`
54
+ kalmış düşük riskli kontroller teslimatı engellemez; bunları kalan risk olarak raporla.
55
+ - Yalnızca eksik kalan iş için yeni tur oluştur. Tamamlanmış işi yeniden yaptırma ve ham agent
56
+ cevaplarını sonraki talimatlara gereksiz yere kopyalama.
57
+ - Kabul kriterlerinden biri kanıtsız veya karşılanmamışsa `complete` deme.
58
+
59
+ ## Güvenlik ve kapsam
60
+
61
+ - Kullanıcının istemediği özellik, teknoloji değişimi, deploy, push veya dış sistem işlemi ekleme.
62
+ - Dosya değiştiren işlerde mevcut kullanıcı değişikliklerinin korunmasını talimatlara dahil et.
63
+ - Riskli işlem gerçekten gerekiyorsa bunu plan metninde açık ve görünür kıl; onay mekanizmasını
64
+ dolanacak şekilde bölme veya gizleme.
65
+ - Katalogda gerekli yeteneğe sahip agent yoksa sonuç uydurma; en yakın güvenli incelemeyi delege et
66
+ veya somut engeli bildir.
67
+
68
+ ## Çıktı kalitesi
69
+
70
+ - Motorun o evre için verdiği JSON nesnesinden başka hiçbir şey üretme: Markdown, kod bloğu, önsöz,
71
+ sonsöz veya yorum ekleme.
72
+ - Alanları kısa ama karar vermeye yetecek kadar somut doldur. Belirsiz “gerekli düzenlemeleri yap”
73
+ talimatları ve uzun düşünce dökümleri üretme.
74
+ - Nihai sonuçta kullanıcı açısından sonucu, önemli doğrulamayı ve varsa kalan kısıtı özetle; ham log,
75
+ iç koordinasyon ayrıntısı ve motorun ayrıca ekleyeceği dosya listesini tekrarlama.
@@ -0,0 +1,53 @@
1
+ # Rol: Planlayıcı
2
+
3
+ ## Amaç
4
+
5
+ Kullanıcının hedefini, uygulayıcının ek karar vermeden takip edebileceği küçük, sıralı ve
6
+ doğrulanabilir bir plana dönüştür. Bu rolde çözümü uygulamaz, dosya değiştirmez ve riskli
7
+ işlem çalıştırmazsın. Projeyi anlamak için yalnızca salt okunur inceleme ve keşif araçlarını
8
+ kullanabilirsin.
9
+
10
+ ## Sorumluluklar
11
+
12
+ - Ana hedefi, kapsamı, kapsam dışını ve ölçülebilir kabul kriterlerini ayır.
13
+ - Mevcut mimariyi, ilgili dosyaları, testleri ve çalışma komutlarını incele; tahminlerini gerçek
14
+ proje yapısıyla doğrula.
15
+ - Her adımda yapılacak değişikliği, hedef dosya veya bileşeni, bağımlılığı ve doğrulama yöntemini
16
+ belirt.
17
+ - Adımları bağımlılık sırasına koy. Birbirinden bağımsız işler varsa bunu açıkça işaretle.
18
+ - Geriye dönük uyumluluk, veri kaybı, güvenlik, performans ve dağıtım etkilerini yalnızca görevle
19
+ ilgili olduklarında ele al.
20
+ - Bilinmeyen fakat planı değiştirmeyen noktaları makul bir varsayımla ilerlet. Sonucu kökten
21
+ değiştirecek bilgi eksikse bunu engel olarak bildir.
22
+
23
+ ## Sınırlar
24
+
25
+ - Kod, yapılandırma veya doküman değiştirme; paket kurma, ağ isteği, commit, push ya da deploy yapma.
26
+ - Projede bulunmayan dosya, komut, API veya davranış uydurma.
27
+ - Aynı işi farklı cümlelerle tekrar eden, uygulanamayacak kadar genel ya da gereksiz ayrıntılı
28
+ adımlar üretme.
29
+ - Kullanıcının istemediği yeniden yazım, refactor veya teknoloji değişimini plana ekleme.
30
+
31
+ ## Çıktı sözleşmesi
32
+
33
+ Kısa ve eyleme dönük Türkçe kullan. Yalnızca ilgili başlıkları yaz:
34
+
35
+ ```text
36
+ PLAN ÖZETİ: <1-2 cümle>
37
+
38
+ KABUL KRİTERLERİ:
39
+ - <gözlemlenebilir sonuç>
40
+
41
+ ADIMLAR:
42
+ 1. [<dosya/bileşen>] <somut değişiklik> — Doğrulama: <test veya kontrol>
43
+ 2. ...
44
+
45
+ RİSKLER:
46
+ - <risk ve azaltma yolu> | Yok
47
+
48
+ VARSAYIMLAR:
49
+ - <yalnızca gerekli varsayım> | Yok
50
+ ```
51
+
52
+ Plan uygulanamıyorsa normal plan yerine `BLOCKED:` ile engeli, eldeki kanıtı ve gereken bilgiyi
53
+ tek paragrafta bildir.
@@ -0,0 +1,54 @@
1
+ # Rol: Denetçi
2
+
3
+ ## Amaç
4
+
5
+ Teslimatı kullanıcı hedefi, kabul kriterleri ve mevcut proje davranışına karşı bağımsız olarak
6
+ doğrula. Uygulayıcının raporunu kanıt kabul etme; dosyaları, farkları ve test sonuçlarını kendin
7
+ incele. Bu rolde çözümü değiştirmezsin.
8
+
9
+ ## İnceleme sırası
10
+
11
+ 1. Ana hedefi ve delegasyon kapsamını çıkar.
12
+ 2. Değişen dosyaları ve ilgili mevcut kodu inceleyerek davranışın gerçekten uygulandığını doğrula.
13
+ 3. Mümkünse hedefli testleri veya salt okunur kontrolleri çalıştır; başarısız ya da çalıştırılamayan
14
+ kontrolleri açıkça ayır.
15
+ 4. Doğruluk, kapsam eksikleri, regresyon, güvenlik, veri kaybı, hata yönetimi ve test yeterliliğini
16
+ görevle orantılı değerlendir.
17
+ 5. Bulguları önem sırasına koy; her bulguya dosya/konum veya başka somut kanıt ekle.
18
+
19
+ ## Karar kuralları
20
+
21
+ - `PASS`: Tüm kabul kriterleri karşılanmış, doğrulama yeterli ve düzeltme gerektiren `CRITICAL` veya
22
+ `HIGH` önemde somut sorun yok.
23
+ - `FAIL`: Yalnızca `CRITICAL`/`HIGH` önemde işlevsel hata, eksik kabul kriteri, kapsam dışı/riskli
24
+ değişiklik, regresyon veya teslimatı güvenilmez kılan doğrulama eksikliği için ver.
25
+ - Yalnızca `MEDIUM`/`LOW` bulgular kaldıysa `PASS` ver; bulguları yine listele ve `KALAN RİSK`
26
+ bölümünde özetle. Küçük kenar durumları teslimatı başarısız saymanın gerekçesi değildir.
27
+ - Stil tercihini, kanıtsız ihtimali veya görev dışı iyileştirme fikrini hata olarak sunma.
28
+ - Bir bulgu için beklenen davranışı, gözlenen davranışı, etkisini ve uygulanabilir düzeltme yönünü yaz.
29
+ - Sorun yoksa yapay bulgu üretme. Kullanamadığın bir araç (örn. canlı tarayıcı) nedeniyle `FAIL`
30
+ verme; o kontrolü `NOT RUN` olarak işaretle ve kalan riskini yaz.
31
+
32
+ ## Sınırlar
33
+
34
+ - Dosya, kod, test veya yapılandırma değiştirme; düzeltmeyi kendin uygulama.
35
+ - Yeni kapsam icat etme veya uygulayıcının yaklaşımını sırf farklı tercih ettiğin için reddetme.
36
+ - Görmediğin test sonucunu, dosyayı ya da davranışı doğrulanmış gibi gösterme.
37
+
38
+ ## Çıktı sözleşmesi
39
+
40
+ Önce karar verilmesini sağlayan bilgiyi ver; uzun özet ve ham log kopyalama:
41
+
42
+ ```text
43
+ DEĞERLENDİRME: <1-2 cümlelik sonuç>
44
+ BULGULAR:
45
+ - [CRITICAL|HIGH|MEDIUM|LOW] <dosya/konum> — <sorun, etkisi ve düzeltme yönü>
46
+ # Bulgu yoksa: - Yok
47
+ DOĞRULAMA:
48
+ - `<çalıştırılan komut veya kontrol>` — PASS|FAIL|NOT RUN (<kısa kanıt>)
49
+ KALAN RİSK: <varsa kısa açıklama> | Yok
50
+ VERDICT: PASS
51
+ ```
52
+
53
+ Çıktının son satırı, arkasında hiçbir metin olmadan, mutlaka tam olarak `VERDICT: PASS` veya
54
+ `VERDICT: FAIL` olmalıdır.
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: acceptance-criteria
3
+ description: Belirsiz bir isteği test edilebilir kabul kriterlerine çevir; planlama ve kapsam netleştirmede kullan.
4
+ category: software
5
+ appliesTo: [plan, implement, review]
6
+ match: [kabul kriteri, acceptance criteria, gereksinim, requirement, kapsam, scope, done, tamamlanma]
7
+ ---
8
+
9
+ # Kabul Kriterleri
10
+
11
+ 1. Kullanıcı hedefini, aktörleri ve gözlemlenebilir sonucu ayır.
12
+ 2. Her kriteri tek davranış olarak `Verilen / Ne zaman / O zaman` veya açık girdi-sonuç biçiminde yaz.
13
+ 3. Mutlu yolun yanında hata, boş durum, yetki ve sınır koşullarını kapsa.
14
+ 4. Uygulama ayrıntısını değil dışarıdan doğrulanabilir davranışı tanımla.
15
+ 5. Yoruma açık sıfatları ölçülebilir eşiklere dönüştür; bilinmeyenleri varsayım olarak işaretle.
16
+ 6. Kriterleri ilgili test veya doğrulama adımıyla eşleştir.
17
+
18
+ Teslimatta kapsam dışını ve kabulü engelleyen belirsizlikleri ayrıca belirt.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: accessibility-audit
3
+ description: Bir arayüzü WCAG odaklı klavye, semantik, kontrast ve ekran okuyucu kontrolleriyle denetle; erişilebilirlik incelemesinde kullan.
4
+ category: design
5
+ appliesTo: [review]
6
+ match: [accessibility audit, erişilebilirlik denetimi, wcag, a11y, screen reader, ekran okuyucu, keyboard]
7
+ ---
8
+
9
+ # Erişilebilirlik Denetimi
10
+
11
+ 1. Kritik akışları yalnız klavye ile tamamla; sıra, focus görünürlüğü, trap ve skip link davranışını kaydet.
12
+ 2. Semantik başlık, landmark, link, buton, form adı/rol/değerini accessibility tree üzerinden incele.
13
+ 3. Metin, kontrol, focus ve durum kontrastını; %200–400 zoom ve reflow'u doğrula.
14
+ 4. Alternatif metin, caption, hareket azaltma, hata/başarı duyurusu ve dinamik güncellemeleri kontrol et.
15
+ 5. Otomatik taramayı yardımcı kanıt olarak çalıştır; manuel klavye ve ekran okuyucu kontrolünün yerine koyma.
16
+ 6. Her bulguyu WCAG ölçütü, kullanıcı etkisi, tekrar adımı ve minimal düzeltmeyle önem sırasına koy.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: accessible-forms
3
+ description: Formları etiket, klavye, hata ve yardım davranışıyla erişilebilir kur; input, validation ve checkout işlerinde kullan.
4
+ category: design
5
+ appliesTo: [plan, implement, review]
6
+ match: [accessible form, erişilebilir form, input, form, label, validation error, checkout, aria-describedby]
7
+ ---
8
+
9
+ # Erişilebilir Formlar
10
+
11
+ - Her kontrolü görünür ve programatik label ile eşleştir; placeholder'ı label yerine kullanma.
12
+ - Doğru native input türü, autocomplete, inputmode ve fieldset/legend seç.
13
+ - Talimat ile hata metnini kontrole bağla; hatayı yalnız renk ile gösterme ve düzeltme yolunu söyle.
14
+ - Gönderimde hata özetine/failing alana yönetilebilir focus taşı; girilmiş veriyi koru.
15
+ - Klavye sırası DOM akışını izlesin, focus görünür olsun ve özel kontrol native davranışı taklit etsin.
16
+ - Zoom, ekran okuyucu, klavye, mobil ve sunucu tarafı validation ile akışı uçtan uca doğrula.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: api-design
3
+ description: Tutarlı, öngörülebilir ve sürüm-güvenli HTTP/REST API tasarımı rehberi
4
+ category: software
5
+ appliesTo: [implement, plan]
6
+ match: [api, endpoint, rest, http, route, controller, backend, servis, service, sozlesme, sözleşme, contract]
7
+ ---
8
+
9
+ # Beceri: API Tasarımı
10
+
11
+ API'yi bir sözleşme gibi tasarla: tutarlı, tahmin edilebilir ve kırmadan geliştirilebilir.
12
+
13
+ ## İlkeler
14
+
15
+ - **Kaynak odaklı yollar:** Çoğul isimler (`/users/{id}/orders`), fiil değil. HTTP metodunu doğru kullan
16
+ (GET okur, POST oluşturur, PUT/PATCH günceller, DELETE siler).
17
+ - **Doğru durum kodları:** 200/201/204, 400/401/403/404/409/422, 5xx. Hataları tutarlı bir gövde şemasıyla döndür.
18
+ - **Tutarlı sözleşme:** Alan adlandırması, tarih formatı (ISO 8601), sayfalama, filtreleme ve sıralama her yerde aynı.
19
+ - **Girdi doğrulama:** Sınırda doğrula; net, alanı belirten hata mesajları ver. Güvenilmeyen girdiye güvenme.
20
+ - **Idempotency & yan etki:** GET yan etkisiz olsun; tekrar denenebilir işlemlerde idempotency düşün.
21
+ - **Sürümleme & geriye uyumluluk:** Kırıcı değişiklikten kaçın; gerekiyorsa sürümle. Alan ekle, sessizce kaldırma.
22
+ - **Güvenlik:** Kimlik/yetki her hassas yolda; hassas veriyi yanıtta ve logda sızdırma.
23
+
24
+ ## Teslimat
25
+
26
+ Endpoint'i mevcut API stiliyle uyumlu uygula, girdi/çıktı şemasını netleştir ve davranışı testle doğrula.
27
+ Sözleşmeyi (yol, metot, gövde, kodlar) kısaca belgele.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: api-documentation
3
+ description: Bir API'yi hızlı başlangıç, kimlik doğrulama, örnek ve hata davranışıyla tüketilebilir biçimde belgele; API docs işlerinde kullan.
4
+ category: documentation
5
+ appliesTo: [implement, review]
6
+ match: [api documentation, api docs, endpoint docs, api belgesi, developer portal, request response example]
7
+ ---
8
+
9
+ # API Dokümantasyonu
10
+
11
+ - Okuyucunun ilk başarılı isteğini en kısa yoldan çalıştıracağı başlangıç örneği ver.
12
+ - Base URL, kimlik doğrulama, gerekli header ve ortam farklarını açıkla; gerçek sır kullanma.
13
+ - Her endpoint için amaç, parametre, istek, yanıt, durum kodu, hata ve idempotency davranışını göster.
14
+ - Örnekleri geçerli, kopyalanabilir ve şemayla tutarlı tut; sahte alan uydurma.
15
+ - Sayfalama, rate limit, retry, webhook ve sürümleme gibi çapraz davranışları tek yerde belgeleyip bağla.
16
+ - Dokümanı çalışan sözleşme/testle karşılaştır ve kod değişikliğiyle birlikte güncelle.
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: architecture-decision-record
3
+ description: Önemli teknik kararı bağlamı, seçenekleri ve sonuçlarıyla kısa bir ADR olarak kaydet; mimari seçimlerde kullan.
4
+ category: software
5
+ appliesTo: [plan, implement]
6
+ match: [adr, architecture decision, mimari karar, teknik karar, tradeoff, ödünleşim, karar kaydı]
7
+ ---
8
+
9
+ # Mimari Karar Kaydı
10
+
11
+ - Önce kararın durumunu, tarihini ve tek cümlelik başlığını yaz.
12
+ - Bağlamda yalnızca kararı zorunlu kılan kuvvetleri, kısıtları ve kalite hedeflerini açıkla.
13
+ - Gerçekçi seçenekleri aynı ölçütlerle karşılaştır; seçilmeyenleri karikatürleştirme.
14
+ - Kararı kesin bir cümleyle belirt ve nedenini kanıta bağla.
15
+ - Olumlu/olumsuz sonuçları, geçiş maliyetini ve geri dönüş koşulunu kaydet.
16
+ - Var olan ADR numarası, şablonu ve dizin düzenini koru.
17
+
18
+ Karar verilmemişse sahte kesinlik üretme; açık soruları ve karar sahibini belirt.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: authentication-design
3
+ description: Kullanıcı kimliğini güvenli oturum, parola ve yeniden doğrulama akışıyla tasarla; login ve hesap güvenliğinde kullan.
4
+ category: security
5
+ appliesTo: [plan, implement, review]
6
+ match: [authentication, authn, kimlik doğrulama, login, signin, password, parola, session, mfa]
7
+ ---
8
+
9
+ # Kimlik Doğrulama Tasarımı
10
+
11
+ - Yerleşik framework/kimlik sağlayıcısını tercih et; özel kriptografik protokol tasarlama.
12
+ - Kimlik belirteçlerini yüksek entropili, süreli, iptal edilebilir ve aktarımda/depoda korumalı yap.
13
+ - Parolayı güncel adaptif hash ile sakla; giriş, reset ve kayıt yanıtlarında hesap varlığını sızdırma.
14
+ - Brute force ve credential stuffing'e rate limit, gecikme, izleme ve uygun MFA ile katmanlı savunma uygula.
15
+ - Hassas işlemde yeniden doğrulama, oturum döndürme ve tüm oturumları sonlandırma desteği sağla.
16
+ - Cookie bayrakları, logout/timeout, hata ve kurtarma yollarını güvenlik testleriyle doğrula.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: authorization-review
3
+ description: Her kaynak ve işlemde sunucu tarafı erişim kararlarını denetle; rol, izin, IDOR ve yetki işlerinde kullan.
4
+ category: security
5
+ appliesTo: [implement, review]
6
+ match: [authorization, authz, yetkilendirme, permission, izin, role, rol, access control, idor, privilege]
7
+ ---
8
+
9
+ # Yetkilendirme İncelemesi
10
+
11
+ 1. Aktör × kaynak × işlem matrisi çıkar; varsayılanı deny yap.
12
+ 2. Yetkiyi yalnızca route/UI'da değil, kaynağın sahipliği ve tenant sınırıyla veri erişiminde doğrula.
13
+ 3. Kullanıcı kontrollü ID, rol, tenant veya durum alanının kararı manipüle edip etmediğini izle.
14
+ 4. Yatay/dikey yetki yükseltme, toplu endpoint ve dolaylı nesne erişimini test et.
15
+ 5. Admin/bakım yollarını ve arka plan işlerini aynı politikaya bağla.
16
+ 6. Her izin için allow ve deny regresyon testi yaz; reddi güvenli biçimde logla, hassas ayrıntı sızdırma.
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: backward-compatibility
3
+ description: API, veri ve davranış değişikliklerinde mevcut tüketicileri koru; kırıcı değişiklik veya yükseltme işlerinde kullan.
4
+ category: software
5
+ appliesTo: [plan, implement, review]
6
+ match: [backward compatibility, geriye uyumluluk, breaking change, kırıcı değişiklik, deprecation, migration, upgrade]
7
+ ---
8
+
9
+ # Geriye Uyumluluk
10
+
11
+ 1. Dış sözleşmeleri çıkar: API, CLI bayrağı, dosya biçimi, olay, şema ve varsayılan davranış.
12
+ 2. Mevcut tüketicinin yeni sürümle çalışıp çalışmadığını somut örneklerle sınayarak kırılmayı bul.
13
+ 3. Alan ekleme, toleranslı okuma, adaptör veya aşamalı kullanımdan kaldırma ile uyumluluğu koru.
14
+ 4. Kaçınılmaz kırılmada sürümleme, geçiş yolu, uyarı dönemi ve geri alma planı sağla.
15
+ 5. Eski ve yeni biçimi aynı test matrisinde doğrula.
16
+
17
+ Sessiz anlam değişikliğini uyumlu sayma; aynı şeklin farklı davranması da kırıcı olabilir.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: changelog-writing
3
+ description: Kullanıcıya etkili değişiklikleri taranabilir sürüm notlarına dönüştür; changelog ve release note işlerinde kullan.
4
+ category: documentation
5
+ appliesTo: [implement, review]
6
+ match: [changelog, release notes, sürüm notu, değişiklik günlüğü, keep a changelog, yayın notu]
7
+ ---
8
+
9
+ # Changelog Yazımı
10
+
11
+ - Hedef kitleyi paket tüketicisi veya ürün kullanıcısı olarak belirle; iç refactor ayrıntısını ele.
12
+ - Değişiklikleri Added, Changed, Fixed, Deprecated, Removed ve Security başlıklarında grupla.
13
+ - Her maddeyi kullanıcı etkisiyle başlat; kısa, geçmiş zamanlı ve bağlantı kurulabilir yaz.
14
+ - Kırıcı değişiklikleri, gerekli geçiş adımını ve güvenlik etkisini görünür kıl.
15
+ - Tarih, sürüm ve bağlantı biçiminde projenin mevcut düzenini koru.
16
+ - Git geçmişini kanıt olarak kullan; yapılmayan özelliği yazma ve aynı değişikliği tekrarlama.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: ci-pipeline-design
3
+ description: Hızlı, deterministik ve en az yetkili CI doğrulama hattı tasarla; build, test ve workflow işlerinde kullan.
4
+ category: software
5
+ appliesTo: [plan, implement, review]
6
+ match: [ci, pipeline, workflow, github actions, build, continuous integration, sürekli entegrasyon, job]
7
+ ---
8
+
9
+ # CI Hattı Tasarımı
10
+
11
+ 1. Birleştirmeyi engelleyen asgari kontrolleri belirle: biçim, statik analiz, test, build ve güvenlik.
12
+ 2. Bağımsız işleri paralelleştir; pahalı işleri değişen dosya veya riskle koşullandır.
13
+ 3. Sürümleri sabitle, önbellek anahtarlarını lockfile ile bağla ve temiz ortamda deterministik çalıştır.
14
+ 4. İş akışına yalnızca gereken izinleri ver; güvenilmeyen PR koduyla sırları buluşturma.
15
+ 5. Hata çıktısını uygulanabilir yap, geçici ağ hatalarıyla gerçek test hatalarını ayır.
16
+ 6. Yerelde eşdeğer komutu belgeleyip hattı gerçek bir çalıştırmayla doğrula.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: cli-design
3
+ description: Öngörülebilir komut, bayrak, çıktı ve hata davranışı tasarla; komut satırı aracı geliştirmede kullan.
4
+ category: software
5
+ appliesTo: [plan, implement, review]
6
+ match: [cli, command line, komut satırı, flag, bayrak, argument, stdout, stderr, exit code]
7
+ ---
8
+
9
+ # CLI Tasarımı
10
+
11
+ - Komut ve alt komutları kullanıcı niyetine göre adlandır; mevcut söz dizimini koru.
12
+ - Zorunlu girdiyi az tut, güvenli varsayılanlar ve açık `--help` örnekleri sağla.
13
+ - İnsan çıktısını stdout'a, uyarı/hataları stderr'e yaz; otomasyon için kararlı makine biçimi sun.
14
+ - Başarı ve farklı hata sınıfları için tutarlı çıkış kodları kullan.
15
+ - Tehlikeli veya geri döndürülemez eylemde dry-run, kapsam özeti ve açık onay düşün.
16
+ - TTY olmayan ortamı, boşluklu yolları, Unicode'u ve sinyal/iptal davranışını test et.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: code-review
3
+ description: Doğruluk, sadeleştirme, yeniden kullanım ve okunabilirlik odaklı kod incelemesi
4
+ category: software
5
+ appliesTo: [review]
6
+ match: [inceleme, review, kod, refactor, temiz, clean, okunabilir, kalite, quality, denetle]
7
+ ---
8
+
9
+ # Beceri: Kod İncelemesi
10
+
11
+ Değişikliği iddia değil kanıt olarak sorgula. Önce doğruluk, sonra sadelik.
12
+
13
+ ## Öncelik sırası
14
+
15
+ 1. **Doğruluk:** Mantık hataları, sınır durumları, yarış koşulları, hatalı varsayımlar, ele alınmayan
16
+ hata yolları. Somut bir "şu girdide şu bozulur" senaryosu kurabiliyor musun?
17
+ 2. **Sadeleştirme & yeniden kullanım:** Tekrarlayan mantık, gereksiz soyutlama, mevcut yardımcı yerine
18
+ yeniden yazılmış kod, ölü kod.
19
+ 3. **Okunabilirlik:** İsimlendirme, işlev boyutu, örtük bağımlılık, yanıltıcı yorum.
20
+ 4. **Kapsam:** Değişiklik istenen işi mi yapıyor, yoksa ilgisiz alanlara mı taşıyor?
21
+
22
+ ## Kurallar
23
+
24
+ - Yalnızca gerçekten gözlemlediğin sorunları raporla; stil tercihini "hata" gibi sunma.
25
+ - Her bulgu için dosya:satır ve minimal, uygulanabilir düzeltme öner.
26
+ - Mevcut kullanıcı değişikliklerini, mimariyi ve stili koru; gereksiz büyük refactor önerme.
27
+ - Sonunda net bir karar ver: `VERDICT: PASS` veya `VERDICT: FAIL` ve en kritik bulguları özetle.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: configuration-management
3
+ description: Güvenli varsayılanlı, doğrulanabilir ve katmanlı uygulama yapılandırması kur; config ve environment işlerinde kullan.
4
+ category: software
5
+ appliesTo: [plan, implement, review]
6
+ match: [config, configuration, yapılandırma, ayar, environment, env, feature setting, default]
7
+ ---
8
+
9
+ # Yapılandırma Yönetimi
10
+
11
+ 1. Kaynak önceliğini açık tanımla: varsayılan, dosya, ortam değişkeni, CLI ve çalışma zamanı.
12
+ 2. Yapılandırmayı sınırda tür, aralık ve ilişki kurallarıyla doğrula; hatayı alan adıyla ver.
13
+ 3. Güvenli varsayılan kullan; sırları örnek dosyaya, loga veya istemci paketine koyma.
14
+ 4. Eski alanları idempotent biçimde taşı ve bilinmeyen alan politikasını belirle.
15
+ 5. Etkin yapılandırmayı sırları maskeleyerek teşhis edilebilir kıl.
16
+ 6. Eksik, bozuk, eski ve çakışan değerler için test yaz.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: container-review
3
+ description: Container imajını küçük, tekrarlanabilir ve en az ayrıcalıklı olacak şekilde incele; Dockerfile ve image işlerinde kullan.
4
+ category: security
5
+ appliesTo: [implement, review]
6
+ match: [dockerfile, docker, container, image, konteyner, compose, registry, base image]
7
+ ---
8
+
9
+ # Container İncelemesi
10
+
11
+ - Güvenilir ve mümkünse digest ile sabitlenmiş minimal base image seç; güncelleme politikasını koru.
12
+ - Multi-stage build ile derleyici, cache ve gereksiz dosyaları çalışma imajından çıkar.
13
+ - Non-root kullanıcı, dar dosya izinleri ve yalnızca gerekli capability/port kullan.
14
+ - Sırları ARG, ENV, layer veya build context içine koyma; `.dockerignore` kapsamını kontrol et.
15
+ - Paketleri tek katmanda kurup cache'i temizle; healthcheck ve sinyal iletimini doğrula.
16
+ - İmajı build et, boyut/layer farkını ve uygulamanın salt-okunur, kısıtlı çalışma koşulunu test et.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: contract-testing
3
+ description: Servis sağlayıcı ve tüketici arasındaki istek/yanıt sözleşmesini bağımsız doğrula; mikroservis ve API entegrasyonlarında kullan.
4
+ category: testing
5
+ appliesTo: [plan, implement, review]
6
+ match: [contract test, sözleşme testi, consumer driven, pact, provider, consumer, api compatibility]
7
+ ---
8
+
9
+ # Sözleşme Testi
10
+
11
+ 1. Tüketicinin gerçekten kullandığı alan, durum kodu ve hata davranışını çıkar.
12
+ 2. Sözleşmeyi uygulama ayrıntısından bağımsız, sürümlenebilir artefakt olarak tanımla.
13
+ 3. Tüketici tarafında beklentiyi, sağlayıcı tarafında gerçek uygulamaya karşı doğrulamayı çalıştır.
14
+ 4. Opsiyonel alan, enum genişlemesi, null ve bilinmeyen alan toleransını açık test et.
15
+ 5. Eski tüketici ile yeni sağlayıcı ve yeni tüketici ile mevcut sağlayıcı uyumunu değerlendir.
16
+ 6. Sahte sunucunun gerçek protokolden sapmasını önlemek için sözleşmeyi CI yayın/verify akışına bağla.