iToverDose/Yazılım· 21 MAYIS 2026 · 16:08

Rex CLI: Proje okumadan komut çalıştırmayı sonsuza dek sonlandırın

Her geliştiricinin yaşadığı README kâbusuna son veren Rex, projeye özel komutları otomatik algılayarak sadece `rex test` ile testleri çalıştırıyor. Monorepo, farklı paket yöneticileri ve çoklu ekosistemlerde nasıl çalıştığını keşfedin.

DEV Community4 dk okuma0 Yorumlar

Yeni bir projeyi klonladığınızda ilk deneyiminiz nasıl oluyor? Klonladınız, README dosyasını açtınız, ekranı aşağı kaydırarak "Geliştirme" bölümünü bulmaya çalıştınız ve ardından hangi paket yöneticisini kullanmanız gerektiğini ya da hangi komutla testleri çalıştırabileceğinizi çözmeye çalıştınız. Peki ya bunu her seferinde farklı bir proje için yapmak zorunda kaldığınızda? Developer olmak, her seferinde README okumakla geçen saatler demek olabiliyor.

İşte tam da bu soruna kalıcı bir çözüm olarak geliştirilen Rex, proje dosyalarını tarayarak doğru komutları otomatik olarak çalıştıran bir CLI aracı. Kurulum gerektirmeyen ve sadece proje dizinine girip komut yazmanız yeterli olan bu araç, artık README okumanın sonunu getiriyor.

README okuma travmasını bitiren araç: Rex

Rex’in çalışma prensibi oldukça basit. Proje dizinine girip aşağıdaki gibi bir komut yazdığınızda:

git clone 
cd proje
rex test

Rex, proje dizinindeki dosyaları inceleyerek hangi teknoloji yığınıyla karşı karşıya olduğunu anlıyor ve otomatik olarak doğru komutu çalıştırıyor. Örneğin:

  • go.mod dosyası varsa Go projesi olarak algılar ve go test ./... komutunu çalıştırır.
  • package.json ve pnpm-lock.yaml varsa Node.js projesiyle karşı karşıya olduğunuzu anlar ve pnpm test komutunu tetikler.
  • Cargo.toml dosyası varsa Rust projesi olarak algılar ve cargo test komutunu çalıştırır.
  • pyproject.toml ve uv.lock varsa Python projesiyle karşı karşıya olduğunuzu anlar ve uv run pytest komutunu çalıştırır.

Bu şekilde, 12 farklı ekosistem ve paket yöneticisini otomatik olarak algılayan Rex, projenin gereksinimlerine göre en uygun komutu seçiyor.

Monorepo destekleyen otomatik komut motoru

Monorepo projelerinde çalışırken, her alt proje farklı bir teknoloji yığınına sahip olabiliyor. Rex, monorepo yapısındaki alt dizinleri otomatik olarak algılayarak doğru komutları çalıştırabiliyor. Örneğin:

rex my-monorepo

Komutunu çalıştırdığınızda, Rex aşağıdaki gibi bir çıktı verebilir:

workspace
3 alt proje algılandı:
packages/api (Node.js + pnpm)
packages/web (Node.js + pnpm)
services/auth (Go)

Böylece, her alt proje için doğru komutları otomatik olarak çalıştırabilirsiniz.

Tüm projelerde tutarlı komut deneyimi

Rex’in en büyük avantajlarından biri, tüm projelerde aynı komutları kullanabilme imkanı sunması. Her ne kadar projeler farklı teknolojilerle inşa edilmiş olsa da, rex test, rex run, rex build gibi komutlar her yerde aynı şekilde çalışıyor. Bu sayede, farklı projeler arasında geçiş yaparken yaşanan komut karmaşasından kurtulabiliyorsunuz.

Rex’in desteklediği komutlar şunlar:

  • rex test – Testleri çalıştırır
  • rex run – Uygulamayı ya da geliştirme sunucusunu başlatır
  • rex build – Projeyi derler
  • rex deps – Bağımlılıkları yükler
  • rex clean – Derleme dosyalarını temizler
  • rex fresh – Temizleme, bağımlılık yükleme ve derlemeyi sırayla gerçekleştirir
  • rex fmt – Kodu biçimlendirir
  • rex lint – Kodu denetler
  • rex clone – Depoyu klonlar, bağımlılıkları yükler ve projeyi kullanıma hazır hale getirir
  • rex init – Ekibiniz için rex.toml dosyasını oluşturur
  • rex doctor – Ortam sorunlarını teşhis eder

Ekibinizle birlikte kullanabileceğiniz Rex.toml

Rex, sadece bireysel kullanım için değil, aynı zamanda ekiplerle birlikte çalışırken de büyük kolaylık sağlıyor. rex init komutunu çalıştırarak projenizin gereksinimlerine göre otomatik olarak bir rex.toml dosyası oluşturabilirsiniz. Bu dosyayı projenize ekleyerek, tüm ekip üyelerinin aynı komutları kullanmasını sağlayabilirsiniz.

Örneğin:

rex init

Komutunu çalıştırdığınızda, Rex aşağıdaki gibi bir rex.toml dosyası oluşturabilir:

[commands]
test = "go test ./..."
run = "go run ./cmd/server"
build = "go build ./..."
deps = "go mod download"
fmt = "gofmt -w ."
lint = "go vet ./..."

Bu dosyayı projenize ekleyerek, herhangi bir ekip üyesi rex test, rex run gibi komutları çalıştırdığında, projeye özel olarak tanımlanmış komutlar otomatik olarak kullanılır.

.env dosyalarını otomatik yükleme

Rex, komutları çalıştırmadan önce proje dizinindeki .env dosyalarını otomatik olarak yükler. Bu sayede, ortam değişkenlerini elle yüklemek zorunda kalmazsınız. Hem geliştirme hem de CI ortamlarında sorunsuz bir şekilde kullanılabilir.

Teknik özellikler ve avantajlar

Rex, geliştirilirken dikkat edilen birkaç önemli özelliğe sahip:

  • Tek bir ikili dosya olarak sunulmakta, herhangi bir çalışma zamanı ya da bağımlılık gerektirmemekte
  • Go dilinde geliştirilmiş olup, çoklu platform desteği sunmakta
  • Komutların çalıştırılması 50 milisaniyeden daha kısa sürede tamamlanmakta
  • Çevrimdışı olarak tamamen çalışabilmekte ve ağ çağrıları yapmamakta
  • Doğru çıkış kodlarıyla birlikte gelmekte ve CI ortamlarında da sorunsuz çalışmakta
  • Bash, Zsh ve Fish için kabuk tamamlamaları desteklenmekte
  • Apache 2.0 lisansı altında yayınlanmakta

Rex’in sunduğu avantajlar sadece bireysel kullanıcılarla sınırlı değil. CI/CD borularında da sorunsuz bir şekilde çalışabilen Rex, geliştirme sürecini hızlandırırken aynı zamanda hataları minimize ediyor.

Rex’i yüklemek için basit adımlar

Rex’i yüklemek oldukça kolay. İşletim sisteminize göre aşağıdaki yöntemlerden birini kullanabilirsiniz:

  • Homebrew (macOS/Linux):
brew tap rexrun-dev/tap
brew install rex
  • Go kurulumu:
go install rexrun.dev/rex/cmd/rex@latest
  • İkili dosyayı indirme:

GitHub’daki sürümler sayfasından uygun ikili dosyayı indirerek kullanabilirsiniz.

Sonuç: README’siz geleceğe doğru

Geliştiriciler olarak, her seferinde README okumak zorunda kalmaktan kurtulmak artık mümkün. Rex, projeleri klonlar klonlamaz doğru komutları otomatik olarak çalıştırarak, zaman kaybını minimize ediyor ve geliştirme sürecini hızlandırıyor. Monorepo projelerinde, farklı teknoloji yığınlarında ve çoklu paket yöneticilerinde bile tutarlı bir deneyim sunan Rex, geliştirme dünyasında devrim yaratma potansiyeline sahip.

Eğer siz de README okuma travmasını yaşamaktan yoruldunuzsa, Rex’i deneyin ve geliştirme sürecinizi kolaylaştırın.

Yapay zeka özeti

Rex CLI, projeyi klonlar klonlamaz doğru komutları otomatik algılayan ve çalıştıran bir araçtır. README okuma ihtiyacını sonlandırırken, 12 farklı ekosistemi destekler ve monorepo projelerinde sorunsuz çalışır.

Yorumlar

00
YORUM BIRAK
ID #757RJP

0 / 1200 KARAKTER

İnsan doğrulaması

7 + 8 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.