175 lines
3.7 KiB
Markdown
175 lines
3.7 KiB
Markdown
# 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 oturumu başlatmak, team mode bootstrap prompt'unu göndermek, canlı cevap akışını izlemek ve ekip üyelerinin yanıtlarını rol bazlı kartlarda görmek.
|
||
|
||
## Özellikler 🚀
|
||
|
||
- Canlı Claude oturumu başlatma
|
||
- `Activate Team` ile bootstrap prompt gönderme
|
||
- Retro/pixel web konsol arayüzü
|
||
- Sol panelde canlı ana akış
|
||
- Sağ panelde ekip üyelerine göre ayrılmış kartlar
|
||
- Hedef kişiye göre yönlendirilmiş prompt gönderimi
|
||
- `Mazlum:`, `Simsar:`, `Aybuke:` gibi etiketli cevap formatı
|
||
- `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_WORKSPACE_DIR=/path/to/workspace
|
||
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ı aç
|
||
2. `Start Session` ile Claude oturumunu başlat
|
||
3. `Activate Team` ile ekip bootstrap prompt'unu gönder
|
||
4. Bir ekip üyesine ya da tüm takıma prompt yaz
|
||
5. Sol panelde ana akışı izle
|
||
6. Sağ panelde rol bazlı kartları takip et
|
||
|
||
## Prompt Davranışı 🧠
|
||
|
||
Sistem şu mantıkla çalışır:
|
||
|
||
- 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
|
||
|
||
Ö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.
|
||
- 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ı.
|