Sohbet botu değil, bir ekip
Her rol kendi modeli, talimatları ve yetkileriyle ayrı bir ajandır. Deterministik bir durum makinesi rolleri tek tek çağırır ve her yanıt tipli bir şemadır.
Ne yapılmasını istediğinizi yazın. Product Owner bunu bir backlog'a, Mimar bir plana dönüştürür; uzmanlar faz faz geliştirir, QA testleri yazar ve DevOps pull request'i açar. Bir insan “evet” demeden hiçbir şey kapıdan geçmez.
$ docker run -d --name slipwright -p 8500:8500 \
-v slipwright-state:/data -v slipwright-work:/work \
ghcr.io/ksksertac/slipwright:latest
Çoğu kodlama ajanı döngüdeki tek bir modeldir; ne yaptığını iş bittiğinde öğrenirsiniz. Slipwright ise istekten pull request'e kadar direksiyonu bir insanda tutar.
Her rol kendi modeli, talimatları ve yetkileriyle ayrı bir ajandır. Deterministik bir durum makinesi rolleri tek tek çağırır ve her yanıt tipli bir şemadır.
Backlog, mimari, ekranlar, test senaryoları, testler ve dağıtım ayrı ayrı bir kapıda durur. Öneriyi düzenleyin, onaylayın ya da gerekçeyle geri gönderin.
Her adım, sonraki çalışmadan önce veritabanına yazılır. Sunucuyu geliştirmenin ortasında durdurup yeniden başlatın: çalışan iş devam eder, bekleyen iş beklemeye devam eder.
Kendi model anahtarlarınızla çalışır, kendi GitHub veya Bitbucket deponuza push eder, backlog'u kendi Jira'nıza yansıtır.
Her aşama sizin kontrol ettiğiniz bir kapıda durur. Ajanlar birbiriyle konuşmaz; işi bir rolden diğerine motor devreder.
Ne istediğinizi sade bir dille anlatın: pipeline'dan, komut satırından ya da Telegram'dan.
İsteği ve depoyu okuduktan sonra epic, story ve task'lar. Onaylamadan önce her şeyi yeniden adlandırın, ekleyin ya da silin.
Teknoloji yığını, build/test/run komutları, kararlar ve her task için bir faz. Fazların sırasını, alanını, dosyalarını ya da komutları değiştirin.
Backend, web ve mobil geliştiriciler çalışır; her arayüz fazından önce Tasarımcı ekranları hazırlar. Her fazdan sonra build kapısı projenizin build_cmd ve test_cmd komutlarını çalıştırır; kırmızı build aynı uzmana döner (en fazla üç kez) ve QA farkı standartlarınıza göre inceler.
Önce test senaryolarını, sonra tam olarak o senaryolara karşı yazılan birim ve uçtan uca testleri onaylayın. İsterseniz testsiz de devam edebilirsiniz.
Dağıtım dosyaları, push edilen dal ve plan, test senaryoları ve geçmişten yazılmış bir pull request. CI izlenir; kırmızı CI kodu yazan geliştiriciye döner.
Pull request bağlantısı geliştirmede ve etkinlik akışında. Diğer tüm PR'lar gibi inceleyin.
Ajanlar sayfasından Jira'ya bağlı yeni bir projeye. Backlog ve plan onaylanıp Jira panosunda issue'lara dönüşür, Tasarımcı'nın ekranları onaylanır, QA'nın test senaryoları Telegram'dan onaylanır; DevOps ECS Fargate üzerinde bir AWS dağıtımı önerir, dalı push eder ve pull request'i açar.

Her ajanın kendi sağlayıcısı, modeli, düşünme derinliği, standartları ve yetkileri vardır. Bunlar prompt ile değil, motor tarafından uygulanır.
İsteği ve depoyu okur; epic, story ve task'ları yazar.
Teknoloji yığınını, build/test/run komutlarını, kararları ve her task için bir fazı seçer.
Web ve mobil uzmanlarının geliştireceği ekranları çizer; kendine ait bir kapısı vardır.
Her biri, fazın kendi alanında bir fazı build kapısının arkasında uygular.
Test senaryoları önerir, onaylananlar için birim ve uçtan uca testler yazar, her farkı standartlarınıza göre inceler.
Dağıtımı önerir ve yazar, dalı push eder ve pull request'i açar.
Her kapıyı okur; güven, risk ve gerekçeleriyle onay ya da ret önerir.
Bir ajana bir iş arkadaşınızı atayın: yalnızca o ajanın kapılarında onaylar ve düzenler, iş geldiğinde e-posta alır.
Slipwright bir geliştirmeyi planlar ve fazlara böler. Bu makinelerde kendisi asla model ya da build çalıştırmaz: her ajan yapabileceği işi ister ve her seferinde bir faz alır.
Planı, kapıları ve fazların sırasını o tutar. Sıradakine o karar verir ve her yanıtı kontrol eder: yanlış bir yanıt yeniden denenir, asla yanlış bir dosyaya dönüşmez.
Her makine ne yapabildiğini söyler (write:backend, write:web, ios, android …) ve yalnızca o işi alır. Xcode'lu bir Mac iOS build'lerini, Codex'li bir Windows PC web fazlarını alır; SSH ile bağlanılan bir Linux sunucu hiç pencere açmadan çalışır.
Faz, makinenin kendi Claude Code veya Codex oturumuyla ya da kendi API anahtarıyla yazılır. Anahtarlar makineden hiç çıkmaz.
Aynı ağda düz HTTP ile; makine başka bir yerdeyse relay üzerinden uçtan uca şifreli.
Bu bilgisayarı Slipwright'ınıza ödünç verin: macOS, Windows ve Linux için masaüstü uygulaması ya da pencere açmayan bir sunucu için tek bir dosya.
.zip mi tercih edersiniz? Apple Silicon .zip · Intel .zip
xattr -cr "/Applications/Slipwright Agent.app"
Slipwright-Agent-Setup.exe dosyasını çalıştırın.chmod +x Slipwright-Agent.AppImage
./Slipwright-Agent.AppImage
sudo apt install ./slipwright-agent.deb
SSH ile bağlandığınız bir makine için (AWS EC2, Azure VM, herhangi bir Linux sunucu): pencere yok, anahtar zinciri yok. Yalnızca Node 20 veya üstü isteyen tek bir dosya; yanındaki settings.json ile ayarlanır.
mkdir ~/slipwright && cd ~/slipwright
curl -LO https://github.com/ksksertac/slipwright-agent/releases/latest/download/slipwright-agent.cjs
# settings.json oluşturur: "code", "name" ve her ajanın modelini doldurun
node slipwright-agent.cjs init
# bulunan modeller, ajanlar, token'lar, eşleşme
node slipwright-agent.cjs check
# ilk seferde eşleşir, sonra iş almaya başlar
node slipwright-agent.cjs
{
"code": "SW-…",
"name": "build-server-1",
"max_concurrent": 1,
"work_dir": "./work",
"run_builds": true,
"agents": {
"backend": { "enabled": true, "model": "claude-code:sonnet" },
"web": { "enabled": true, "model": "codex" },
"mobile": { "enabled": false },
"devops": { "enabled": false }
},
"keys": { "anthropic": "env:ANTHROPIC_API_KEY", "openai": "" },
"source": { "github_token": "env:GITHUB_TOKEN", "bitbucket_user": "", "bitbucket_app_password": "" },
"jira": { "site": "acme.atlassian.net", "email": "you@acme.com", "token": "env:JIRA_TOKEN" }
}
:<model> ile: claude-code, codex, anthropic, openai, deepseek, gemini, qwen, glm, minimax, openrouter veya evren."env:AD" şeklinde yazılıp ortam değişkeninden okunabilir. Anahtar içeren dosyayı chmod 600 yapın.settings.json birkaç saniye içinde yeniden okunur: bir ajanı kapatmak ya da modelini değiştirmek için yeniden başlatmak gerekmez.slipwright-agent.state.json dosyasında tutulur; yeni bir settings.json yüklemek eşleşmeyi bozmaz.[Unit]
Description=Slipwright Agent
After=network-online.target
[Service]
User=slipwright
WorkingDirectory=/home/slipwright/slipwright
ExecStart=/usr/bin/node /home/slipwright/slipwright/slipwright-agent.cjs
Environment=ANTHROPIC_API_KEY=sk-ant-…
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now slipwright-agent
Hiçbir container macOS barındıramaz, bu yüzden Xcode Slipwright'ın Docker imajında asla çalışamaz. Mobil Derleyici, Mac'te Docker'ın dışında çalışan küçük bir yardımcıdır ve sunucunun yapamadığı derlemeleri yapar: iOS için Xcode, Android için Android Studio.
slipwright worker --connect <kod> çalıştırın.
Düzenleyebildiğiniz kapılar, her geliştirme için bir pipeline ve sizi bekleyenleri gösteren bir pano.
Her kapıda Kaydet, Onayla ve gerekçeli Reddet vardır. Gerekçe ajana geri bildirim olarak döner.

Epic, story ve task'ları yeniden adlandırın, task ekleyin ya da silin. Mimar, tam olarak onayladığınız her task için bir faz tasarlar.

Kararları okuyun, fazları yeniden sıralayın, bir fazın alanını ya da dosyalarını değiştirin; build, test ve run komutlarını ayarlayın.

Çalışan ajanlar, tüm projelerde bekleyen onaylar (orada yanıtlanabilir), duruma göre geliştirmeler ve canlı etkinlik akışı.

Her kart, ajanın şu anda hangi sağlayıcı ve modelde çalıştığını, ne kadar derin düşündüğünü, hangi standartları okuduğunu ve neye yetkisi olduğunu gösterir.

Mimar için güçlü, DevOps için ucuz bir model. Anahtarlar şifreli saklanır; Bağlantıyı test et, her anahtarın hangi modelleri kullanabildiğini söyler.

Telegram, Slack, Discord veya Microsoft Teams'te grup bildirimleri alırsınız: bir ajan beklediğinde, bir geliştirme durduğunda ve bittiğinde.

Süpervizörün ne kadar iş yapacağını proje bazında seçin. Bir build başarısız olduğunda aynı uzmanın mı düzelteceğine, yeniden mi planlanacağına ya da bir insana mı sorulacağına da o karar verir.

Her fazdan sonra projenin kendi build ve test komutları çalışır. Her yeşil faz geliştirmenin dalına commit edilir. Ardından QA farkı standartlarınıza göre inceler: alan başına Markdown sayfaları, anahtar kelime ve isteğe bağlı embedding aramasıyla indekslenir.
# her fazdan sonra projenin kendi komutları
$ uv run pytest -q
........................ 24 passed in 3.1s
$ npm run build
✓ built in 2.4s
# yeşil → sw/notes-search dalına commit
# QA incelemesi: standards/backend.md
review: advisory · 0 blocking findings
Her ajanı kendi sağlayıcısına ve modeline sabitleyin. Profilde modeli değiştirin, o rol yeni modelle çalışsın. Kod değişikliği ya da yeniden başlatma gerekmez.
"architect": { "model": "claude-opus-5",
"thinking_depth": "high" },
"qa": { "model": "claude-sonnet-5",
"thinking_depth": "medium" },
"devops": { "model": "claude-haiku-4-5",
"thinking_depth": "low",
"permissions": ["git_push", …] }
Özel bir depoyu klonlayın ya da yerel bir checkout kullanın. Biten geliştirme dalını push eder ve pull request açar; kırmızı CI geliştiriciye döner.
Onaylanan backlog epic, story ve sub-task'lara dönüşür. PR bağlantıları ve hatalar, seçtiğiniz bir bot hesabıyla yorum olarak yazılır.
Arayüz İngilizce ve Türkçe. Ajanlar projenin dilinde yazar; önbellekli bir çeviri köprüsüyle her şey size kendi dilinizde gösterilir.
Token, süre ve model çağrısı üzerindeki proje bütçeleri, kontrolden çıkan bir geliştirmeyi okunabilir bir gerekçeyle durdurur.
Geliştirmeleri komut satırından başlatın, onaylayın, reddedin ve mesaj gönderin. /docs altında JSON API ve her değişiklik için server-sent events.
Model anahtarları ve token'lar şifreli saklanır. Durum ve çalışma alanı ayrı volume'lerde tutulur; bir checkout anahtara asla ulaşamaz.
| Yerel | Barındırılan | |
|---|---|---|
| Build komutlarını kim yazar | siz | yabancılar |
| Veritabanı | SQLite dosyası | PostgreSQL |
| Komutlar nerede çalışır | makinede | tek kullanımlık bir container'da |
| Model anahtarları | kurulumun kendi anahtarları | her hesabın kendi anahtarı |
| Kotalar | kapalı | açık |
Yan yana yazılan fazlar, GitHub'da izleyebildiğiniz bir dal, soru sorabildiğiniz bir ajan ve elle devralıp geri verebildiğiniz bir geliştirme.
Mimar her fazın neye ihtiyaç duyduğunu söyler, plan kapısı da bunu siz onaylamadan önce gösterir: hangi fazlar bağımsız, hangisi hangisinden sonra geliyor ve plan gerçekte ne kadar geniş.
max_parallel_phases, proje bazında).
Her yeşil faz anında commit ve push edilir; ilk push bir taslak pull request açar. Böylece iş daha yapılırken GitHub ya da Bitbucket'ta izlenebilir.

Herhangi bir adımı açın ve Agenta yaz ile onu tutan ajana yazın. Ajan kendi modeliyle, adımın kaydı, plan ve süren iş önündeyken yanıt verir; hiçbir şeyi değiştirmez.

Bir kısmı kendiniz yazmak istediğinizde ajanları beklemeniz ya da baştan başlamanız gerekmez.



Ayarlar → Taşıma, bir hesabı ağdaki başka bir Slipwright'a tek seferde taşır: projeler, hangi kapıda durmuşlarsa orada geliştirmeler, geçmiş, ekler, ayarlar ve anahtarlar, push edilmemiş dalları ve commit edilmemiş işleriyle tüm checkout'lar.

Sonsuz döngü yok: yeşile dönemeyen bir faz harcamayı keser ve kararı size bırakır.
Bir fazın geliştirme, düzeltme, triyaj ve incelemesi tek bir model çağrısı bütçesini paylaşır (varsayılan 8). Bütçesi biten faz harcamayı keser, QA ne yapılacağını önerir.
Geliştiriciye gönder ya da Bu fazı yeniden planlat'ı seçin ve neyin farklı olması gerektiğini yazın. Sonraki denemeye sizin yazdığınız söylenir.
Bütçesi biten faz işi korunarak kenara alınır; ona ihtiyaç duymayan fazlar geliştirilmeye devam eder.
Yeniden planlama başarısız fazdan başlar. Commit edilmiş fazlar kalır, Tasarımcı aynı ekranları yeniden çizmez.
Her prompt, o adımın kullanabileceğine göre kırpılır; çünkü bir geliştirmenin maliyeti token'dır.
İsteğe bağlı ve kişi başına. Herhangi bir doğrulayıcı uygulamayla QR kodu okutun ve altı haneyi yazın; sekiz kurtarma kodu bir kez gösterilir.
Telegram hesabınızı bir kez bağlayın; kapıları yanıtlayın, projelerinize bakın ve uygulamayı açmadan telefonunuzdan yeni iş başlatın. Bot yalnızca sizin hesabınızı okur.
/projects, /waiting, /status, /running ve /cost doğrudan verilerinizden, model maliyeti olmadan yanıtlanır. Sorunuzu kendi sözlerinizle de yazabilirsiniz.
/new, ne yapılacağını söyleyen tek bir cümle ve bir Evet. Siz onaylamadan hiçbir şey başlamaz, çünkü geliştirme kendi model kredinizi harcar.@BotFather ile bir bot oluşturun, token'ını Uzaktan Yönet sayfasına yapıştırın, ardından Bağlantı kodu al ve Telegram'da aç'a basın. 30 dakika geçerli, tek kullanımlık bir kod Telegram hesabının size ait olduğunu kanıtlar.
/durum, /bekleyen, /yeni …).
Tek bir imaj her şeyi içerir: API, web arayüzü, git, gh, Python ve Node. Ayrıca çalıştırmanız gereken bir veritabanı ya da kuyruk yok.
docker run -d --name slipwright -p 8500:8500 \
-v slipwright-state:/data -v slipwright-work:/work \
ghcr.io/ksksertac/slipwright:latest
# ilk kullanıcı (admin olur)
docker exec -it slipwright slipwright user add ada
http://localhost:8500 adresini açın. /data ve /work iki ayrı volume olarak kalmalı: /data, saklanan tüm kimlik bilgilerini çözen anahtarı tutar.
git clone https://github.com/ksksertac/slipwright.git
cd slipwright
# isteğe bağlı: API anahtarları, sabit bir SLIPWRIGHT_SECRET_KEY
cp .env.example .env
docker compose up --build -d
docker compose exec slipwright slipwright user add ada
Çevrimdışı denemek için SLIPWRIGHT_PROVIDER=scripted docker compose up kullanın. Tüm pipeline hazır yanıtlarla çalışır, anahtar gerekmez.
git clone https://github.com/ksksertac/slipwright.git
cd slipwright
uv sync
cd web && npm install && npm run build && cd ..
uv run slipwright user add ada
uv run slipwright serve
http://127.0.0.1:8500 adresinde çalışır. JSON API /docs altında belgelenmiştir.
main'e yapılan her push, amd64 ve arm64 için :latest yayınlar; bir v1.2.3 etiketi ayrıca :1.2.3 yayınlar.
Slipwright, Apache 2.0 lisansıyla tamamen açık kaynaktır. Her satırını okuyun, istediğiniz yerde çalıştırın, fork'layın ve nereye gideceğini birlikte şekillendirelim.
Hata bildirimleri, düzeltmeler, yeni model sağlayıcıları, çeviriler, dokümantasyon ve fikirler, hepsi değerli. Her katkı GitHub'da bir pull request ile ilerler.
CLAUDE.md yol haritasıdır: yapı, kolayca bozulan kurallar ve daha önce yapılmış hatalar.# GitHub'da fork'layın, sonra
git clone https://github.com/<siz>/slipwright.git
cd slipwright && git checkout -b degisikligim
uv sync
# tüm testler, lint ve tipler
uv run pytest
uv run ruff check . && uv run mypy
cd web && npm install && npm run lint && npm run build
# push edin ve pull request açın
git push origin degisikligim
Evet. Slipwright, Apache 2.0 lisansıyla açık kaynaktır. Yalnızca ajanlarınızın kendi anahtarlarınızla yaptığı model API çağrıları için ödeme yaparsınız.
Yukarıdaki komutla yayınlanan Docker imajını çalıştırın, docker exec -it slipwright slipwright user add <ad> ile ilk kullanıcıyı oluşturun ve http://localhost:8500 adresini açın. Panodaki “Kuruluma başlarken” kartı gerisinde size yol gösterir.
Anthropic Claude, OpenAI GPT, Google Gemini, DeepSeek, Alibaba Qwen, Z.ai GLM, MiniMax, OpenRouter ve EVREN hazır olarak çalışır; her ajan kendi sağlayıcı ve modeline sabitlenebilir. Kendi çalıştırdığınız kurulumda ajanlar OpenAI Codex CLI üzerinden ChatGPT aboneliğinizi de kullanabilir.
Slipwright kendi makinenizde ya da sunucunuzda çalışır. Kod yalnızca sizin yapılandırdığınız model sağlayıcılarına gönderilir ve yalnızca kendi GitHub veya Bitbucket deponuza push edilir.
Evet. SLIPWRIGHT_PROVIDER=scripted ile tüm pipeline hazır model yanıtlarıyla çalışır. Yeni bir hesap ayrıca kendi geliştirmenizi çalıştırmadan önce inceleyebileceğiniz tamamlanmış bir örnekle (Example: a Notes app) başlar.
Hiçbir şey kaybolmaz. Her adım sonraki çalışmadan önce veritabanına yazılır; çalışan iş devam eder, sizi bekleyen iş beklemeye devam eder.
Evet. Kaynak kodun tamamı Apache 2.0 lisansıyla GitHub'da. Hata ve fikirler için issue açabilir ya da depoyu fork'layıp pull request gönderebilirsiniz.
Evet. PostgreSQL'e geçin, SLIPWRIGHT_RUNNER=docker ile her komutu tek kullanımlık bir container'da çalıştırın; kayıt, hesap başına anahtarlar ve kotaları açın. Bunların hiçbiri varsayılan olarak açık değildir, yerel kurulum tek komut olarak kalır.
Açık kaynak, kendi sunucunuzda ve kendi anahtarlarınızla. Başlamak için tek komut.