docs: proje icin README hazirla
This commit is contained in:
174
README.md
174
README.md
@@ -0,0 +1,174 @@
|
|||||||
|
# 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ı.
|
||||||
|
|||||||
Reference in New Issue
Block a user