Retro Claude Team Console 🖥️✨
90'lar retro/pixel estetiğiyle hazırlanmış, Claude CLI oturumunu web arayüzünden yöneten deneysel bir ekip konsolu.
Amaç: tek bir web uygulaması üzerinden Claude oturumunu otomatik başlatmak, bir proje dizini seçmek, ekibi seçilen projeye bağlamak, canlı cevap akışını izlemek ve ekip üyelerinin yanıtlarını rol bazlı kartlarda görmek.
Özellikler 🚀
- Uygulama açıldığında otomatik Claude oturumu başlatma
Select Projectile aktif proje dizini seçme- Proje seçildiğinde ekibi otomatik aktive etme
- Retro/pixel web konsol arayüzü
- Sol panelde ekip üyelerine göre ayrılmış kartlar
- Sağ panelde canlı ana akış ve prompt alanı
- Hedef kişiye göre yönlendirilmiş prompt gönderimi
Mazlum:,Simsar:,Aybuke:gibi etiketli cevap formatıCurrent Projectgöstergesiyle aktif proje takibitmuxtabanlı PTY oturumu yönetimi
Ekip Yapısı 👥
- Mazlum: Team Lead
- Berkecan: Frontend Developer
- Simsar: Backend Developer
- Aybuke: UI/UX Designer
- Ive: iOS Developer
- Irgatov: Trainee
Teknoloji Yığını 🧰
- Node.js
- Express
- Socket.IO
- React
- Vite
tmux
Gereksinimler 📦
- Node.js
- npm
tmux- makinede erişilebilir bir
claudebinary
Kontrol etmek için:
node -v
npm -v
tmux -V
claude --version
Ortam Değişkenleri 🔐
Örnek .env:
API_KEY_PRO="..."
API_KEY_LITE="..."
ACTIVE_KEY=pro
ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
ANTHROPIC_MODEL="glm-5"
İsteğe bağlı değişkenler:
PORT=3001
CLAUDE_BIN=claude
CLAUDE_SHELL=/bin/zsh
CLAUDE_ARGS=--dangerously-skip-permissions
WATCH_LOG_LIMIT=400
CHAT_CHUNK_LIMIT=2000
LOG_TO_CONSOLE=true
Kurulum 🛠️
npm install
Geliştirme Modu ▶️
npm run dev
Bu komut:
- backend'i
http://localhost:3001 - frontend'i
http://localhost:3000
adresinde çalıştırır.
Production Build 📦
npm run build
npm run start
Kullanım Akışı 🎮
- Uygulamayı aç
- Claude oturumunun otomatik başlamasını bekle
Select Projectile proje klasörünü seç- Sistem seçilen projede oturumu hizalayıp ekibi otomatik aktive etsin
- Bir ekip üyesine ya da tüm takıma prompt yaz
- Solda rol bazlı kartları, sağda canlı ana akışı takip et
Proje Seçimi Mantığı 📁
Select ProjectmacOS klasör seçicisini açar- Seçilen klasör backend tarafında aktif proje olarak tutulur
- UI'da
Current Project: ...alanında seçili path görünür - Proje seçilmemişse
Current Project: Nonegörünür - Aktif session varsa Claude oturumu seçilen proje köküne yeniden hizalanır
- Team bootstrap prompt'u seçilen proje path'iyle birlikte yeniden kurulur
- Bundan sonraki tüm prompt'lar varsayılan olarak bu proje bağlamında yorumlanır
Prompt Davranışı 🧠
Sistem şu mantıkla çalışır:
- Uygulama açıldığında session otomatik başlar
- Proje seçilmeden takım modu tam olarak devreye girmez
- Proje seçildiğinde ekip yalnızca o proje üzerinde çalışacak şekilde yönlendirilir
- Kullanıcı mesajında bir ekip üyesinin adı geçerse prompt o kişiye yönlendirilir
- Kısa takip mesajları mümkünse son hedef kişiye bağlanır
- Yanıtların
Mazlum:/Simsar:gibi isim etiketiyle başlaması zorlanır - Sağ paneldeki kartlar bu etiketlere göre doldurulur
- Irgatov yalnızca kahve ve basit ofis/lojistik işleriyle sınırlıdır; teknik görev üstlenmez
Örnek:
Mazlum nasılsın?
Beklenen yanıt:
Mazlum: İyiyim, teşekkür ederim!
Proje Yapısı 🗂️
server/
bootstrapPrompt.js
config.js
index.js
logService.js
ptyService.js
sessionManager.js
socketHandlers.js
teamConfig.js
web/
index.html
vite.config.js
src/
App.jsx
components/
hooks/
lib/
styles/
Bilinen Notlar ⚠️
- Claude bazen gelen yönlendirme metnini literal yorumlayabilir; routing mantığı hâlâ iyileştirilmeye açık.
- Kart parser'ı etiketli cevap formatına dayanır; format bozulursa bazı mesajlar yanlış karta düşebilir veya hiç görünmeyebilir.
Auth conflictuyarısı Claude tarafındaki oturum durumuna bağlı olarak görülebilir.- Proje seçimi şu anda macOS klasör seçici (
osascript) üzerinden yapılır. - Bu proje şu anda deneysel bir konsol prototipi olarak düşünülmelidir.
Yakın Yol Haritası 🛣️
- Kart parser'ını daha akıllı hale getirmek
- Kullanıcı mesajlarını da role bazlı akışta göstermek
- Watch/debug görünümünü opsiyonel olarak geri eklemek
- Session geçmişi ve kalıcı log desteği eklemek
- Ekip içi konuşmaları daha güvenilir ayrıştırmak
Lisans 📄
Bu repo için henüz ayrı bir lisans dosyası tanımlanmadı.
Description
Languages
JavaScript
77.4%
CSS
22.3%
HTML
0.3%