OpenClaw v2026.2 için geçerlidir |
coding-agent,git-workflows,test-runnerskill’lerini yüklemeniz ve proje kod tabanına erişim yetkiniz olması gerekir.
TL;DR: Kod incelemesi: Agent, PR değişikliklerini analiz edip inceleme raporu oluşturur. Otomatik test: "test-runner": {"frameworks": ["jest", "vitest"]}. CI/CD entegrasyonu: Webhook ile GitHub/GitLab olaylarını alır. Çoklu proje yönetimi: "projects": {"frontend": {...}, "backend": {...}}. Temel komut: openclaw agent --message "Bu PR'ı incele".
Uygulama Hedefi
Şunları yapabilen bir AI programlama asistanı oluşturmak:
- Kod incelemesi otomasyonu
- Test çalıştırma ve sonuç raporlama
- Kod belgesi oluşturma
- CI/CD ardışık düzen entegrasyonu
- Çoklu proje bağlam geçişi
Gerekli Skill’leri Yükleme
# Programlama ile ilgili skill'ler
openclaw skill install coding-agent
openclaw skill install debug-pro
openclaw skill install git-workflows
openclaw skill install docker-essentials
# Test skill'i
openclaw skill install test-runner
Kod İncelemesi Otomasyonu
Kod İncelemesi Yapılandırması
---
name: code-review-assistant
version: 1.0.0
description: Automated code review with OpenClaw
triggers:
- code review
- kod incelemesi
- review
- PR review
---
# Code Review Assistant
Automate code review for pull requests.
## Features
- Review code changes
- Check for common issues
- Suggest improvements
- Generate review comments
## Review Checklist
1. **Kod Kalitesi**
- İsimlendirme kuralları
- Kod yapısı
- Hata işleme
2. **Güvenlik**
- SQL enjeksiyonu
- XSS açıkları
- Gizli bilgi sızıntısı
3. **Performans**
- N+1 sorguları
- Bellek sızıntıları
- Verimsiz algoritmalar
4. **En İyi Uygulamalar**
- DRY prensibi
- SOLID prensipleri
- Tasarım kalıpları
Kod İncelemesi Senaryosu
Kullanıcı: Bu PR'ı incele
Agent: Tamam, PR #123'ü inceliyorum...
[PR bilgilerini al]
[Kod değişikliklerini analiz et]
[Olası sorunları kontrol et]
## PR #123 İnceleme Raporu
### Genel Bakış
- Dal: feature/user-search
- Değişiklik: +156 -23
- Dosya: 8 adet
### Bulunan Sorunlar
**Kritik** (1):
- 🚨 `auth.js:45` - Parola düz metin olarak depolanma riski
**Uyarı** (3):
- ⚠️ `search.js:23` - Potansiyel SQL enjeksiyonu
- ⚠️ `user.js:78` - İşlenmemiş Promise
- ⚠️ `utils.js:12` - Kullanımdan kaldırılmış API
**Öneriler** (5):
- 💡 Birim testi eklemeyi düşünün
- 💡 Sihirli sayılar yerine sabitler kullanın
- 💡 Hata sınırı eklemeyi düşünün
- 💡 Ortak metodu ayırmayı düşünün
- 💡 Tür açıklamaları eklemeyi düşünün
### Kodun Güçlü Yanları
- ✅ İyi fonksiyon isimlendirmesi
- ✅ Mantıklı modül ayrımı
- ✅ Uygun yorumlar
İnceleme yorumları oluşturmamı ister misiniz?
Otomatik Test
Test Çalıştırma Yapılandırması
{
"skills": {
"test-runner": {
"frameworks": ["jest", "vitest", "pytest"],
"coverage": {
"enabled": true,
"threshold": 80
},
"reporting": {
"format": "markdown",
"output": "test-report.md"
}
}
}
}
Test Senaryosu
Kullanıcı: Testleri çalıştır ve sonuçları raporla
Agent: Testler çalıştırılıyor...
[Test komutunu çalıştır]
[Test sonuçlarını topla]
[Kapsam oranını analiz et]
## Test Raporu
### Test Sonuçları
- Toplam: 45 test
- Geçen: 42 ✅
- Başarısız: 2 ❌
- Atlanan: 1 ⏭️
### Başarısız Testler
**1. UserSearch.test.js**
AssertionError: expected [] to equal [{id: 1, name: ’test’}]
Öneri: Veritabanı bağlantısını veya mock verilerini kontrol edin
**2. Auth.test.js**
Timeout: Async callback not invoked within 5000ms
Öneri: Zaman aşımını artırın veya asenkron mantığı kontrol edin
### Kapsam Oranı
| Dosya | İfade | Dal | Fonksiyon | Satır |
|-------|-------|-----|-----------|-------|
| auth.js | %85 | %78 | %90 | %85 |
| search.js | %72 | %65 | %80 | %70 |
| user.js | %90 | %85 | %95 | %90 |
| **Toplam** | **%82** | **%76** | **%88** | **%82** |
Başarısız testleri düzeltmemi ister misiniz?
CI/CD Entegrasyonu
GitHub Actions Entegrasyonu
# .github/workflows/openclaw-review.yml
name: OpenClaw Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup OpenClaw
run: npm install -g openclaw@latest
- name: Run Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
openclaw agent --message "Review PR #${{ github.event.pull_request.number }}" \
--output review-comment.md
- name: Post Comment
uses: actions/github-script@v6
with:
script: |
const fs = require('fs');
const comment = fs.readFileSync('review-comment.md', 'utf8');
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: comment
});
Otomatik Dağıtım
Kullanıcı: Staging'e dağıt
Agent: Staging ortamına dağıtılıyor...
[En son kodu çek]
[Testleri çalıştır]
[Projeyi derle]
[Sunucuya dağıt]
## Dağıtım Raporu
### Dağıtım Bilgileri
- Ortam: staging
- Dal: main
- Commit: abc1234
- Zaman: 2026-02-26 15:30
### Dağıtım Adımları
1. ✅ Kod çekildi
2. ✅ Bağımlılıklar yüklendi
3. ✅ Testler çalıştırıldı (45/45 geçti)
4. ✅ Proje derlendi
5. ✅ Sunucuya dağıtıldı
### Sağlık Kontrolü
- API: ✅ Normal
- Veritabanı: ✅ Bağlantı normal
- Redis: ✅ Bağlantı normal
### Erişim Adresi
- URL: https://staging.example.com
- API: https://api-staging.example.com
Dağıtım başarılı!
Çoklu Proje Yönetimi
Proje Yapılandırması
{
"projects": {
"frontend": {
"path": "~/projects/frontend",
"skills": ["coding-agent", "test-runner"],
"context": "AGENTS.md"
},
"backend": {
"path": "~/projects/backend",
"skills": ["coding-agent", "docker-essentials"],
"context": "AGENTS.md"
},
"mobile": {
"path": "~/projects/mobile",
"skills": ["coding-agent"],
"context": "AGENTS.md"
}
}
}
Proje Geçişi
Kullanıcı: Backend projesine geç
Agent: Backend projesine geçildi.
Mevcut proje bilgileri:
- Ad: backend
- Yol: ~/projects/backend
- Teknoloji: Python/FastAPI
- Son commit: Kullanıcı kimlik doğrulaması eklendi
Size nasıl yardımcı olabilirim?
Kod Oluşturma
Şablon Kod Oluşturma
Kullanıcı: User modeli için CRUD API oluştur
Agent: Tamam, User modeli için CRUD API oluşturuyorum...
[Mevcut kod yapısını analiz et]
[Kod dosyalarını oluştur]
Aşağıdaki dosyalar oluşturuldu:
**1. models/user.py**
```python
from pydantic import BaseModel
from datetime import datetime
class User(BaseModel):
id: int
name: str
email: str
created_at: datetime
updated_at: datetime
class UserCreate(BaseModel):
name: str
email: str
class UserUpdate(BaseModel):
name: str | None = None
email: str | None = None
2. routers/users.py
from fastapi import APIRouter, HTTPException
from models.user import User, UserCreate, UserUpdate
router = APIRouter(prefix="/users", tags=["users"])
@router.get("/", response_model=list[User])
async def list_users(): ...
@router.get("/{user_id}", response_model=User)
async def get_user(user_id: int): ...
@router.post("/", response_model=User)
async def create_user(user: UserCreate): ...
@router.put("/{user_id}", response_model=User)
async def update_user(user_id: int, user: UserUpdate): ...
@router.delete("/{user_id}")
async def delete_user(user_id: int): ...
3. tests/test_users.py
from fastapi.testclient import TestClient
def test_list_users(): ...
def test_create_user(): ...
def test_update_user(): ...
def test_delete_user(): ...
Doğrulamak için testleri çalıştırmamı ister misiniz?
## Belge Oluşturma
### API Belgeleri
Kullanıcı: Bu API için belge oluştur
Agent: API uç noktaları analiz ediliyor…
[Rota dosyalarını tara] [API bilgilerini çıkar] [Belge oluştur]
API Belgeleri
Kullanıcı Modülü
GET /users
Kullanıcı listesini getir
Parametreler
| Ad | Tür | Gerekli | Açıklama |
|---|---|---|---|
| page | int | Hayır | Sayfa numarası |
| limit | int | Hayır | Sayfa başına miktar |
Yanıt
{
"data": [User],
"total": int,
"page": int,
"limit": int
}
POST /users
Kullanıcı oluştur
İstek Gövdesi
{
"name": "string",
"email": "string"
}
Yanıt
{
"id": 1,
"name": "string",
"email": "string",
"created_at": "2026-02-26T00:00:00Z",
"updated_at": "2026-02-26T00:00:00Z"
}
docs/api.md olarak kaydedeyim mi?
## Sorun Giderme
### CI/CD Sorunları
```bash
# CI/CD durumunu kontrol et
openclaw ci status
# CI/CD günlüklerini görüntüle
openclaw ci logs --last
# Başarısız işi yeniden çalıştır
openclaw ci retry
Kod Sorunları
# Kod sorunlarını analiz et
openclaw analyze --project backend
# Düzeltme önerileri oluştur
openclaw suggest --file auth.js
Özet
OpenClaw ile programlama asistanı oluşturarak:
- Kod İncelemesi: Otomatik PR incelemesi
- Test Çalıştırma: Otomatik test ve raporlama
- CI/CD Entegrasyonu: Otomatik dağıtım süreci
- Çoklu Proje Yönetimi: Hızlı bağlam geçişi
- Kod Oluşturma: Şablon kod üretimi
- Belge Oluşturma: Otomatik API belgesi
Güncelleme Geçmişi:
- 2026-02-26: İlk sürüm yayınlandı
Seri Navigasyonu: