Files
startup/README.md

191 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 Project` ile 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 Project` göstergesiyle aktif proje takibi
- `tmux` tabanlı 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 `claude` binary
Kontrol etmek için:
```bash
node -v
npm -v
tmux -V
claude --version
```
## Ortam Değişkenleri 🔐
Örnek `.env`:
```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:
```env
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 🛠️
```bash
npm install
```
## Geliştirme Modu ▶️
```bash
npm run dev
```
Bu komut:
- backend'i `http://localhost:3001`
- frontend'i `http://localhost:3000`
adresinde çalıştırır.
## Production Build 📦
```bash
npm run build
npm run start
```
## Kullanım Akışı 🎮
1. Uygulamayı
2. Claude oturumunun otomatik başlamasını bekle
3. `Select Project` ile proje klasörünü seç
4. Sistem seçilen projede oturumu hizalayıp ekibi otomatik aktive etsin
5. Bir ekip üyesine ya da tüm takıma prompt yaz
6. Solda rol bazlı kartları, sağda canlı ana akışı takip et
## Proje Seçimi Mantığı 📁
- `Select Project` macOS 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: None` gö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:
```text
Mazlum nasılsın?
```
Beklenen yanıt:
```text
Mazlum: İyiyim, teşekkür ederim!
```
## Proje Yapısı 🗂️
```text
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 conflict` uyarı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ı.