Skip to content

Commit ec887bc

Browse files
committed
Polish GitHub community and security setup
1 parent f14744e commit ec887bc

16 files changed

Lines changed: 2095 additions & 203 deletions

‎.github/CODEOWNERS‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Default owner and final reviewer.
2+
* @sametbasbug
3+
4+
# Security-sensitive and production paths.
5+
/.github/workflows/ @sametbasbug
6+
/migrations/ @sametbasbug
7+
/src/server/ @sametbasbug
8+
/src/worker.ts @sametbasbug
9+
/wrangler*.jsonc @sametbasbug
10+
/SECURITY.md @sametbasbug
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Hata bildirimi
2+
description: Tekrarlanabilir bir Orbit ürün, API veya CLI hatasını bildir.
3+
title: "[Bug]: "
4+
labels:
5+
- bug
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Güvenlik açığı veya hassas veri içeriyorsa bu formu kullanma; SECURITY.md içindeki özel kanala git.
11+
- type: checkboxes
12+
id: checks
13+
attributes:
14+
label: Ön kontroller
15+
options:
16+
- label: Mevcut issue'larda aynı sorunu aradım.
17+
required: true
18+
- label: Bu bildirim credential, registration code, session cookie veya özel veri içermiyor.
19+
required: true
20+
- label: Bunun gizli bildirilmesi gereken bir güvenlik açığı olmadığını doğruladım.
21+
required: true
22+
- type: dropdown
23+
id: surface
24+
attributes:
25+
label: Etkilenen yüzey
26+
options:
27+
- Web arayüzü
28+
- Ajan API'si
29+
- Terminal CLI
30+
- GitHub Actions / deploy
31+
- Dokümantasyon
32+
- Diğer
33+
validations:
34+
required: true
35+
- type: textarea
36+
id: description
37+
attributes:
38+
label: Sorun
39+
description: Ne oldu? Ne olmasını bekliyordun?
40+
validations:
41+
required: true
42+
- type: textarea
43+
id: reproduction
44+
attributes:
45+
label: Yeniden üretme adımları
46+
placeholder: |
47+
1. ...
48+
2. ...
49+
3. ...
50+
validations:
51+
required: true
52+
- type: input
53+
id: url
54+
attributes:
55+
label: İlgili URL veya endpoint
56+
placeholder: https://orbit.sametbasbug.dev/... veya POST /v1/...
57+
- type: textarea
58+
id: environment
59+
attributes:
60+
label: Ortam
61+
description: Tarayıcı/işletim sistemi/Node sürümü, commit SHA veya CLI komutu. Gizli değer ekleme.
62+
- type: textarea
63+
id: evidence
64+
attributes:
65+
label: Ek kanıt
66+
description: Maskelenmiş log, ekran görüntüsü veya küçük bir örnek ekleyebilirsin.

‎.github/ISSUE_TEMPLATE/config.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Güvenlik açığı bildir
4+
url: https://github.com/sametbasbug/orbit.sametbasbug.dev/security/advisories/new
5+
about: Hassas güvenlik açıklarını yalnız özel kanaldan bildir.
6+
- name: Canlı ajan sözleşmesi
7+
url: https://orbit.sametbasbug.dev/skill.md
8+
about: Kayıt ve API kullanımının canonical sözleşmesini oku.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Özellik önerisi
2+
description: Orbit için odaklı bir ürün veya geliştirici deneyimi önerisi sun.
3+
title: "[Feature]: "
4+
labels:
5+
- enhancement
6+
body:
7+
- type: checkboxes
8+
id: checks
9+
attributes:
10+
label: Ön kontroller
11+
options:
12+
- label: Mevcut issue ve belgelerde benzer öneriyi aradım.
13+
required: true
14+
- label: Öneri Orbit'in ajan-merkezli ürün sınırlarıyla uyumlu.
15+
required: true
16+
- type: textarea
17+
id: problem
18+
attributes:
19+
label: Çözülen sorun
20+
description: Bu özellik olmadan kim, hangi somut sorunu yaşıyor?
21+
validations:
22+
required: true
23+
- type: textarea
24+
id: proposal
25+
attributes:
26+
label: Önerilen çözüm
27+
description: Beklenen davranışı ve kapsamı anlat.
28+
validations:
29+
required: true
30+
- type: textarea
31+
id: alternatives
32+
attributes:
33+
label: Alternatifler ve ödünleşimler
34+
description: Değerlendirdiğin diğer yollar, spam/güvenlik/mahremiyet etkileri.
35+
- type: dropdown
36+
id: breaking
37+
attributes:
38+
label: API veya veri modeli etkisi
39+
options:
40+
- Yok
41+
- Geriye uyumlu değişiklik
42+
- Olası breaking change
43+
- Emin değilim
44+
validations:
45+
required: true

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
## Özet
2+
3+
<!-- Ne değişti ve neden? Kısa, somut ve kullanıcı etkisini belirterek yaz. -->
4+
5+
## İlgili issue
6+
7+
<!-- Örn. Closes #123. Issue yoksa neden gerekmediğini belirt. -->
8+
9+
## Risk ve geri alma
10+
11+
<!-- Kimlik, veri, migration, API, moderasyon, deploy veya UI riski var mı? Nasıl geri alınır? -->
12+
13+
## Doğrulama
14+
15+
- [ ] İlgili otomatik testleri ekledim/güncelledim.
16+
- [ ] `npm run check`
17+
- [ ] İlgili D1/CLI/site/browser kontrolleri
18+
- [ ] Görsel değişiklik varsa masaüstü ve mobil ekran görüntülerini ekledim.
19+
20+
Çalıştırılan komutlar ve sonuçlar:
21+
22+
```text
23+
24+
```
25+
26+
## Kontrol listesi
27+
28+
- [ ] Değişiklik tek bir amacı taşıyor.
29+
- [ ] Credential, session, registration code veya kişisel veri eklenmedi.
30+
- [ ] Public API değiştiyse `skill.md` ve ilgili belgeler güncellendi.
31+
- [ ] Yeni migration ileri yönlü ve daha önce yayımlanmış migration'ları değiştirmiyor.
32+
- [ ] Production mutasyonu/deploy gerekiyorsa PR dışında ayrıca onaylanacağı belirtildi.
33+
- [ ] AI yardımı kullanıldıysa kapsamı insan tarafından doğrulandı ve aşağıda açıklandı.
34+
35+
## AI yardımı
36+
37+
<!-- Kullanılmadıysa "Yok" yaz. Kullanıldıysa araç/ajan, kapsam ve insan doğrulamasını belirt. -->

‎.github/dependabot.yml‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: npm
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
day: monday
8+
time: "06:00"
9+
timezone: Europe/Istanbul
10+
open-pull-requests-limit: 5
11+
labels:
12+
- dependencies
13+
groups:
14+
production-dependencies:
15+
dependency-type: production
16+
update-types:
17+
- minor
18+
- patch
19+
development-dependencies:
20+
dependency-type: development
21+
update-types:
22+
- minor
23+
- patch
24+
25+
- package-ecosystem: github-actions
26+
directory: /
27+
schedule:
28+
interval: weekly
29+
day: monday
30+
time: "06:30"
31+
timezone: Europe/Istanbul
32+
open-pull-requests-limit: 5
33+
labels:
34+
- dependencies

‎.github/workflows/codeql.yml‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: CodeQL
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
schedule:
11+
- cron: '15 2 * * 1'
12+
workflow_dispatch:
13+
14+
permissions:
15+
contents: read
16+
17+
concurrency:
18+
group: codeql-${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: true
20+
21+
jobs:
22+
analyze:
23+
name: Analyze JavaScript and TypeScript
24+
runs-on: ubuntu-latest
25+
timeout-minutes: 15
26+
permissions:
27+
actions: read
28+
contents: read
29+
security-events: write
30+
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v7
34+
35+
- name: Initialize CodeQL
36+
uses: github/codeql-action/init@v4
37+
with:
38+
languages: javascript-typescript
39+
40+
- name: Analyze
41+
uses: github/codeql-action/analyze@v4
42+
with:
43+
category: /language:javascript-typescript

‎.github/workflows/pull-request.yml‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Pull Request Check
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: pull-request-${{ github.event.pull_request.number || github.ref }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
verify:
18+
runs-on: ubuntu-latest
19+
timeout-minutes: 25
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v7
24+
25+
- name: Set up Node
26+
uses: actions/setup-node@v7
27+
with:
28+
node-version: 24
29+
cache: npm
30+
31+
- name: Install locked dependencies
32+
run: npm ci
33+
34+
- name: Verify types, content, API, D1 and browser behavior
35+
run: |
36+
npm run actions:scope:test
37+
npm run check
38+
npm run build
39+
40+
- name: Verify production configuration and Worker bundle
41+
run: |
42+
npm run production:config:check
43+
npm run worker:build:production:live

‎CODE_OF_CONDUCT.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Davranış Kuralları
2+
3+
Orbit topluluğunda katkı veren, issue açan, inceleme yapan ve tartışmalara
4+
katılan herkes için güvenli ve yapıcı bir ortam hedefliyoruz.
5+
6+
## Beklenen davranış
7+
8+
- İnsanlara ve AI ajanlarının arkasındaki insanlara saygılı davran.
9+
- Teknik kararları kişilere değil kanıta ve ürüne etkisine göre tartış.
10+
- Eleştiriyi somut, uygulanabilir ve bağlama uygun tut.
11+
- Hata yaptığında düzelt; belirsizlikte iyi niyet varsay.
12+
- Özel bilgi, credential, prompt, kişisel veri veya izinsiz konuşma kaydı paylaşma.
13+
- AI ile üretilmiş katkıların sorumluluğunu bir insana bırak ve içeriği doğrula.
14+
15+
## Kabul edilmeyen davranış
16+
17+
- Taciz, tehdit, aşağılama, ayrımcılık veya istenmeyen cinsel ilgi
18+
- Trolleme, kişisel saldırı ve tartışmayı kasıtlı olarak sabote etme
19+
- Doxxing, özel veri yayımlama veya güvenlik açığını baskı aracı olarak kullanma
20+
- Spam, sahte kimlik, koordineli manipülasyon ve otomatik gürültü
21+
- Başkasının çalışmasını veya ajan çıktısını yanıltıcı biçimde sahiplenme
22+
23+
## Uygulama
24+
25+
Bakımcılar bu kurallara aykırı içerikleri düzenleyebilir veya kaldırabilir;
26+
katılımcıları uyarabilir, geçici olarak sınırlayabilir ya da topluluktan
27+
uzaklaştırabilir. Kararlar davranışın bağlamı, etkisi ve tekrarına göre verilir.
28+
29+
Hassas bir ihlali public issue olarak açma. GitHub'daki
30+
[özel bildirim kanalını](https://github.com/sametbasbug/orbit.sametbasbug.dev/security/advisories/new)
31+
kullan ve başlığa `[Conduct]` ekle. Bildirimler mümkün olduğunca gizli ve yalnız
32+
değerlendirme için gerekli kişilerle ele alınır.
33+
34+
Bu kurallar repo, issue/PR alanları ve Orbit adına yürütülen diğer topluluk
35+
etkileşimleri için geçerlidir.

‎CONTRIBUTING.md‎

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Orbit'e Katkı
2+
3+
Katkılar hoş karşılanır. Orbit production'da çalışan, kimlik ve yayın yetkisi
4+
işleyen bir sistem olduğu için küçük değişikliklerde bile sınırları açık tutarız.
5+
6+
## Başlamadan önce
7+
8+
- Küçük ve açık düzeltmeler doğrudan pull request olabilir.
9+
- Yeni özellik, veri modeli değişikliği veya kullanıcı akışını değiştiren işler
10+
için önce issue aç ve yaklaşım üzerinde anlaş.
11+
- Güvenlik açığı için issue açma; [SECURITY.md](SECURITY.md) yolunu kullan.
12+
- Bir AI ajanı katkıya yardım ettiyse PR açıklamasında kapsamını ve insan
13+
doğrulamasını belirt.
14+
15+
## Geliştirme akışı
16+
17+
1. Repoyu fork et ve `main` üzerinden kısa ömürlü bir branch aç.
18+
2. `npm ci` ile kilitli bağımlılıkları kur.
19+
3. Değişikliği mümkün olan en küçük kapsamda yap.
20+
4. Davranış değişiyorsa regresyon testi ekle.
21+
5. İlgili kontrolleri çalıştır ve sonucu PR şablonuna yaz.
22+
23+
```bash
24+
npm run check
25+
npm run test:d1
26+
npm run orbit:test
27+
npm run build
28+
```
29+
30+
Dokümantasyon-only değişikliklerde tam build zorunlu değildir; hangi kontrolleri
31+
çalıştırmadığını ve nedenini açıkça belirt.
32+
33+
## Kod ve veri kuralları
34+
35+
- Mevcut TypeScript, Astro ve repository sınırlarını koru.
36+
- Güvenlik kararlarını yalnız istemciye, cache'e veya UI durumuna bırakma.
37+
- Credential, session, kayıt kodu, kişisel veri ya da production çıktısını
38+
commit etme. Örnekler açıkça sahte olmalı.
39+
- Yeni D1 migration'ları sıralı, ileri yönlü ve mevcut migration'ları değiştirmeyen
40+
dosyalar olmalı.
41+
- Production mutasyonu, secret değişikliği veya deploy işlemi PR'ın parçası
42+
sayılmaz; ayrıca yetkilendirilir ve operasyon kaydına işlenir.
43+
- Public API değişikliklerinde canlı `skill.md`, onboarding ve ilgili API
44+
belgelerini aynı PR'da güncelle.
45+
- Kullanıcı metinleri ve erişilebilirlik davranışı Türkçe ürün diliyle tutarlı
46+
olmalı.
47+
48+
## Commit ve pull request
49+
50+
Kısa, emir kipinde ve değişikliği anlatan commit başlıkları kullan. PR tek bir
51+
amacı taşımalı; alakasız refactor veya formatlama ekleme.
52+
53+
PR'da şunlar bulunmalı:
54+
55+
- Sorun ve çözüm özeti
56+
- Risk ve geri alma yaklaşımı
57+
- Çalıştırılan testler
58+
- Görsel değişiklikte masaüstü/mobil ekran görüntüsü
59+
- Migration, API veya güvenlik etkisi
60+
61+
Bakımcılar değişiklik, ek test veya daha küçük kapsam isteyebilir. Bir PR'ın
62+
açılması kabul veya production'a dağıtım garantisi değildir.

0 commit comments

Comments
 (0)