beast-agent 1.9.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +130 -130
- package/bin/beast-agent.js +137 -137
- package/package.json +1 -1
- package/scripts/fix-electron.js +138 -138
- package/scripts/release.js +137 -131
- package/scripts/swap-electron.js +40 -40
- package/src/agent/agentdefs.js +122 -122
- package/src/agent/bots.js +580 -580
- package/src/agent/bus.js +389 -389
- package/src/agent/computeruse.js +200 -200
- package/src/agent/config.js +284 -284
- package/src/agent/discord.js +332 -332
- package/src/agent/engine.js +75 -10
- package/src/agent/kb.js +123 -123
- package/src/agent/llm.js +430 -430
- package/src/agent/logger.js +90 -90
- package/src/agent/mcp.js +427 -427
- package/src/agent/mem0.js +605 -605
- package/src/agent/memory.js +427 -427
- package/src/agent/mqueue.js +124 -124
- package/src/agent/pdf.js +20 -20
- package/src/agent/research.js +133 -133
- package/src/agent/scripts/news.py +113 -113
- package/src/agent/scripts/stealthsearch.py +30 -30
- package/src/agent/scripts/websearch.py +225 -225
- package/src/agent/searxng.js +325 -325
- package/src/agent/seeds/brainstorming/SKILL.md +90 -90
- package/src/agent/seeds/dispatching-parallel-agents/SKILL.md +120 -120
- package/src/agent/seeds/executing-plans/SKILL.md +60 -60
- package/src/agent/seeds/subagent-driven-development/SKILL.md +167 -167
- package/src/agent/seeds/systematic-debugging/SKILL.md +131 -131
- package/src/agent/seeds/test-driven-development/SKILL.md +152 -152
- package/src/agent/seeds/verification-before-completion/SKILL.md +63 -63
- package/src/agent/seeds/writing-plans/SKILL.md +162 -162
- package/src/agent/seeds/writing-skills/SKILL.md +229 -229
- package/src/agent/skills.js +652 -652
- package/src/agent/store.js +378 -378
- package/src/agent/telegram.js +155 -155
- package/src/agent/tokens.js +39 -39
- package/src/agent/usage.js +125 -125
- package/src/agent/watchers.js +312 -312
- package/src/agent/watext.js +80 -80
- package/src/agent/whatsapp.js +555 -555
- package/src/cron.js +255 -255
- package/src/main.js +348 -6
- package/src/preload.js +9 -0
- package/src/renderer/browserPreload.js +73 -73
- package/src/renderer/i18n.js +4 -0
- package/src/renderer/index.html +448 -409
- package/src/renderer/renderer.js +824 -41
- package/src/renderer/style.css +264 -5
|
@@ -1,162 +1,162 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: writing-plans
|
|
3
|
-
description: Çok adımlı bir iş için spec/gereksinim hazır olduğunda, KODA DOKUNMADAN ÖNCE kullan — implementasyon planı yazılacak her durumda.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Plan Yazma
|
|
7
|
-
|
|
8
|
-
## Genel Bakış
|
|
9
|
-
|
|
10
|
-
Sıfır bağlama sahip, zevki şüpheli bir mühendisin takip edebileceği kapsamlı
|
|
11
|
-
implementasyon planı yaz. Her görevin hangi dosyalara dokunacağını, kodu,
|
|
12
|
-
testi, nasıl test edileceğini belgele. Planı ısırık büyüklüğünde adımlara böl.
|
|
13
|
-
DRY. YAGNI. TDD. Sık commit.
|
|
14
|
-
|
|
15
|
-
Yetenekli ama arac setini ve problem alanını neredeyse hiç bilmeyen biri
|
|
16
|
-
olduğunu varsay. Plan o kişinin eline tek başına geçmeli.
|
|
17
|
-
|
|
18
|
-
**Planları buraya kaydet:** `<workspace>/docs/plans/YYYY-MM-DD-<özellik-adı>.md`
|
|
19
|
-
(write_file ile; klasör yoksa oluşur)
|
|
20
|
-
|
|
21
|
-
## Kapsam Kontrolü
|
|
22
|
-
|
|
23
|
-
Spec birden fazla bağımsız alt sistemi kapsıyorsa ayrı planlara böl — her biri
|
|
24
|
-
tek başına çalışan, test edilebilir yazılım üretmeli.
|
|
25
|
-
|
|
26
|
-
## Dosya Yapısı
|
|
27
|
-
|
|
28
|
-
Görevleri tanımlamadan önce hangi dosyaların oluşacağı/değişeceğinin ve
|
|
29
|
-
her birinin sorumluluğunun haritasını çıkar. Kararlar burada kilitlenir:
|
|
30
|
-
|
|
31
|
-
- Net sınırlı, tek sorumlu dosyalar; birlikte değişenler yan yana
|
|
32
|
-
- Küçük odaklı dosyalar tercih et — bağlamında tutabildiğin ve edit'inin
|
|
33
|
-
güvenilir olduğu yapı budur
|
|
34
|
-
- Mevcut kod tabanında yerleşik deseni takip et; tek taraflı yeniden yapılandırma
|
|
35
|
-
|
|
36
|
-
## Görev Ölçüsü
|
|
37
|
-
|
|
38
|
-
Görev = kendi test döngüsünü taşıyan, bağımsız doğrulanabilir en küçük birim.
|
|
39
|
-
Kurulum/scaffolding adımlarını, çıktısı onlara ihtiyaç duyan görevin içine kat.
|
|
40
|
-
İki görevi ayır: birinci reddedilirken ikincisi onaylanabilir mi?
|
|
41
|
-
|
|
42
|
-
## Isırık Büyüklüğünde Adımlar
|
|
43
|
-
|
|
44
|
-
Her adım TEK eylem (2-5 dakika):
|
|
45
|
-
|
|
46
|
-
- "Başarısız testi yaz" — adım
|
|
47
|
-
- "Çalıştır, fail olduğunu gör" — adım
|
|
48
|
-
- "Testi geçecek minimal kodu yaz" — adım
|
|
49
|
-
- "Testleri çalıştır, geçtiğini gör" — adım
|
|
50
|
-
- "Commit" — adım
|
|
51
|
-
|
|
52
|
-
## Plan Dosyası Başlığı
|
|
53
|
-
|
|
54
|
-
**Her plan bu başlıkla başlamalı:**
|
|
55
|
-
|
|
56
|
-
```markdown
|
|
57
|
-
# [Özellik Adı] Implementasyon Planı
|
|
58
|
-
|
|
59
|
-
> **Ajan işçiler için:** GÖREV BAŞINA taze alt-ajan: subagent-driven-development
|
|
60
|
-
> (önerilen, CEO modunda) veya executing-plans kullan. Adımlar checkbox (- [ ])
|
|
61
|
-
> sözdizimiyle takip edilir.
|
|
62
|
-
|
|
63
|
-
**Hedef:** [Bu planın ürettiği şey — tek cümle]
|
|
64
|
-
|
|
65
|
-
**Mimari:** [Yaklaşım — 2-3 cümle]
|
|
66
|
-
|
|
67
|
-
**Teknoloji:** [Önemli teknoloji/kütüphaneler]
|
|
68
|
-
|
|
69
|
-
**Spec:** [Varsa spec/design dosyasının yolu — plan spec'ten hareket eder]
|
|
70
|
-
|
|
71
|
-
## Global Kısıtlar
|
|
72
|
-
|
|
73
|
-
[Proje geneli şartlar — sürüm sınırları, bağımlılık sınırları, isim kuralları,
|
|
74
|
-
platform şartları — spec'ten BİREBİR kopyalanmış değerlerle, her biri tek satır.
|
|
75
|
-
Her görev bu bölümü örtük olarak içerir.]
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Görev Yapısı
|
|
81
|
-
|
|
82
|
-
````markdown
|
|
83
|
-
### Görev N: [Bileşen Adı]
|
|
84
|
-
|
|
85
|
-
**Dosyalar:**
|
|
86
|
-
- Oluştur: `tam/yol/dosya.js`
|
|
87
|
-
- Değiştir: `tam/yol/mevcut.js:123-145`
|
|
88
|
-
- Test: `tests/tam/yol/dosya.test.js`
|
|
89
|
-
|
|
90
|
-
**Arayüzler:**
|
|
91
|
-
- Tüketir: [önceki görevlerden kullandığı — tam imzalar]
|
|
92
|
-
- Üretir: [sonraki görevlerin dayandığı — tam fonksiyon adları, parametre ve
|
|
93
|
-
dönüş tipleri. Bir görevin implementeri SADECE kendi görevini görür;
|
|
94
|
-
komşu görevlerin adlarını/tiplerini buradan öğrenir.]
|
|
95
|
-
|
|
96
|
-
- [ ] **Adım 1: Başarısız testi yaz**
|
|
97
|
-
|
|
98
|
-
```js
|
|
99
|
-
test('boş e-postayı reddeder', () => {
|
|
100
|
-
expect(submitForm({ email: '' }).error).toBe('Email gerekli');
|
|
101
|
-
});
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
- [ ] **Adım 2: Fail olduğunu doğrula**
|
|
105
|
-
|
|
106
|
-
Çalıştır: `node --test tests/dosya.test.js`
|
|
107
|
-
Beklenen: FAIL — "submitForm is not defined"
|
|
108
|
-
|
|
109
|
-
- [ ] **Adım 3: Minimal implementasyon**
|
|
110
|
-
|
|
111
|
-
```js
|
|
112
|
-
function submitForm(data) {
|
|
113
|
-
if (!data.email?.trim()) return { error: 'Email gerekli' };
|
|
114
|
-
}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
- [ ] **Adım 4: Geçtiğini doğrula**
|
|
118
|
-
|
|
119
|
-
Çalıştır: `node --test tests/dosya.test.js`
|
|
120
|
-
Beklenen: PASS
|
|
121
|
-
|
|
122
|
-
- [ ] **Adım 5: Commit**
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
git add tests/dosya.test.js src/dosya.js
|
|
126
|
-
git commit -m "feat: boş e-postayı reddet"
|
|
127
|
-
```
|
|
128
|
-
````
|
|
129
|
-
|
|
130
|
-
## Placeholder YASAK
|
|
131
|
-
|
|
132
|
-
Her adım mühendisin ihtiyacı olan GERÇEK içeriği taşır. Bunlar **plan
|
|
133
|
-
hatasıdır** — asla yazma:
|
|
134
|
-
|
|
135
|
-
- "TBD", "TODO", "sonra doldur", "detayları tamamla"
|
|
136
|
-
- "Uygun hata yönetimi ekle" / "kenar durumları handle et"
|
|
137
|
-
- "Yukarıdakine test yaz" (test kodu olmadan)
|
|
138
|
-
- "Görev N'ye benzer" (kodun kendisini yaz — mühendis görevleri sırasız okuyabilir)
|
|
139
|
-
- Ne yapılacağını söyleyip nasılını göstermeyen adımlar (kod adımı = kod bloğu)
|
|
140
|
-
- Hiçbir görevde tanımlanmamış tip/fonksiyon referansı
|
|
141
|
-
|
|
142
|
-
## Öz-Denetim
|
|
143
|
-
|
|
144
|
-
Planı bitirince spec'i taze gözle kontrol et (kendi checklist'in):
|
|
145
|
-
|
|
146
|
-
1. **Spec kapsamı:** Spec'in her bölümü için hangi görev implemente ediyor?
|
|
147
|
-
Boşlukları listele, görev ekle.
|
|
148
|
-
2. **Placeholder taraması:** Yukarıdaki kırmızı desenleri kendi planında ara, düzelt.
|
|
149
|
-
3. **Tip tutarlılığı:** Görev 3'te `clearLayers()` diye çağırdığın şey Görev 7'de
|
|
150
|
-
`clearFullLayers()` olmasın. İmzalar birebir eşleşmeli.
|
|
151
|
-
|
|
152
|
-
Sorun bulursan yerinde düzelt, tekrar tekrar dolaşma.
|
|
153
|
-
|
|
154
|
-
## Teslim
|
|
155
|
-
|
|
156
|
-
Plan kaydedildikten sonra yürütme seçeneği sun:
|
|
157
|
-
|
|
158
|
-
**"Plan `<yol>`'e kaydedildi. İki seçenek:**
|
|
159
|
-
**1. Alt-Ajan Destekli (önerilen)** — her görev için taze paralel ajan
|
|
160
|
-
(run_background), görevler arası inceleme; CEO modunda birebir
|
|
161
|
-
**2. Satır İçi** — bu oturumda executing-plans ile, checkpoint'li seri yürütme
|
|
162
|
-
**Hangisi?"**
|
|
1
|
+
---
|
|
2
|
+
name: writing-plans
|
|
3
|
+
description: Çok adımlı bir iş için spec/gereksinim hazır olduğunda, KODA DOKUNMADAN ÖNCE kullan — implementasyon planı yazılacak her durumda.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Yazma
|
|
7
|
+
|
|
8
|
+
## Genel Bakış
|
|
9
|
+
|
|
10
|
+
Sıfır bağlama sahip, zevki şüpheli bir mühendisin takip edebileceği kapsamlı
|
|
11
|
+
implementasyon planı yaz. Her görevin hangi dosyalara dokunacağını, kodu,
|
|
12
|
+
testi, nasıl test edileceğini belgele. Planı ısırık büyüklüğünde adımlara böl.
|
|
13
|
+
DRY. YAGNI. TDD. Sık commit.
|
|
14
|
+
|
|
15
|
+
Yetenekli ama arac setini ve problem alanını neredeyse hiç bilmeyen biri
|
|
16
|
+
olduğunu varsay. Plan o kişinin eline tek başına geçmeli.
|
|
17
|
+
|
|
18
|
+
**Planları buraya kaydet:** `<workspace>/docs/plans/YYYY-MM-DD-<özellik-adı>.md`
|
|
19
|
+
(write_file ile; klasör yoksa oluşur)
|
|
20
|
+
|
|
21
|
+
## Kapsam Kontrolü
|
|
22
|
+
|
|
23
|
+
Spec birden fazla bağımsız alt sistemi kapsıyorsa ayrı planlara böl — her biri
|
|
24
|
+
tek başına çalışan, test edilebilir yazılım üretmeli.
|
|
25
|
+
|
|
26
|
+
## Dosya Yapısı
|
|
27
|
+
|
|
28
|
+
Görevleri tanımlamadan önce hangi dosyaların oluşacağı/değişeceğinin ve
|
|
29
|
+
her birinin sorumluluğunun haritasını çıkar. Kararlar burada kilitlenir:
|
|
30
|
+
|
|
31
|
+
- Net sınırlı, tek sorumlu dosyalar; birlikte değişenler yan yana
|
|
32
|
+
- Küçük odaklı dosyalar tercih et — bağlamında tutabildiğin ve edit'inin
|
|
33
|
+
güvenilir olduğu yapı budur
|
|
34
|
+
- Mevcut kod tabanında yerleşik deseni takip et; tek taraflı yeniden yapılandırma
|
|
35
|
+
|
|
36
|
+
## Görev Ölçüsü
|
|
37
|
+
|
|
38
|
+
Görev = kendi test döngüsünü taşıyan, bağımsız doğrulanabilir en küçük birim.
|
|
39
|
+
Kurulum/scaffolding adımlarını, çıktısı onlara ihtiyaç duyan görevin içine kat.
|
|
40
|
+
İki görevi ayır: birinci reddedilirken ikincisi onaylanabilir mi?
|
|
41
|
+
|
|
42
|
+
## Isırık Büyüklüğünde Adımlar
|
|
43
|
+
|
|
44
|
+
Her adım TEK eylem (2-5 dakika):
|
|
45
|
+
|
|
46
|
+
- "Başarısız testi yaz" — adım
|
|
47
|
+
- "Çalıştır, fail olduğunu gör" — adım
|
|
48
|
+
- "Testi geçecek minimal kodu yaz" — adım
|
|
49
|
+
- "Testleri çalıştır, geçtiğini gör" — adım
|
|
50
|
+
- "Commit" — adım
|
|
51
|
+
|
|
52
|
+
## Plan Dosyası Başlığı
|
|
53
|
+
|
|
54
|
+
**Her plan bu başlıkla başlamalı:**
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# [Özellik Adı] Implementasyon Planı
|
|
58
|
+
|
|
59
|
+
> **Ajan işçiler için:** GÖREV BAŞINA taze alt-ajan: subagent-driven-development
|
|
60
|
+
> (önerilen, CEO modunda) veya executing-plans kullan. Adımlar checkbox (- [ ])
|
|
61
|
+
> sözdizimiyle takip edilir.
|
|
62
|
+
|
|
63
|
+
**Hedef:** [Bu planın ürettiği şey — tek cümle]
|
|
64
|
+
|
|
65
|
+
**Mimari:** [Yaklaşım — 2-3 cümle]
|
|
66
|
+
|
|
67
|
+
**Teknoloji:** [Önemli teknoloji/kütüphaneler]
|
|
68
|
+
|
|
69
|
+
**Spec:** [Varsa spec/design dosyasının yolu — plan spec'ten hareket eder]
|
|
70
|
+
|
|
71
|
+
## Global Kısıtlar
|
|
72
|
+
|
|
73
|
+
[Proje geneli şartlar — sürüm sınırları, bağımlılık sınırları, isim kuralları,
|
|
74
|
+
platform şartları — spec'ten BİREBİR kopyalanmış değerlerle, her biri tek satır.
|
|
75
|
+
Her görev bu bölümü örtük olarak içerir.]
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Görev Yapısı
|
|
81
|
+
|
|
82
|
+
````markdown
|
|
83
|
+
### Görev N: [Bileşen Adı]
|
|
84
|
+
|
|
85
|
+
**Dosyalar:**
|
|
86
|
+
- Oluştur: `tam/yol/dosya.js`
|
|
87
|
+
- Değiştir: `tam/yol/mevcut.js:123-145`
|
|
88
|
+
- Test: `tests/tam/yol/dosya.test.js`
|
|
89
|
+
|
|
90
|
+
**Arayüzler:**
|
|
91
|
+
- Tüketir: [önceki görevlerden kullandığı — tam imzalar]
|
|
92
|
+
- Üretir: [sonraki görevlerin dayandığı — tam fonksiyon adları, parametre ve
|
|
93
|
+
dönüş tipleri. Bir görevin implementeri SADECE kendi görevini görür;
|
|
94
|
+
komşu görevlerin adlarını/tiplerini buradan öğrenir.]
|
|
95
|
+
|
|
96
|
+
- [ ] **Adım 1: Başarısız testi yaz**
|
|
97
|
+
|
|
98
|
+
```js
|
|
99
|
+
test('boş e-postayı reddeder', () => {
|
|
100
|
+
expect(submitForm({ email: '' }).error).toBe('Email gerekli');
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- [ ] **Adım 2: Fail olduğunu doğrula**
|
|
105
|
+
|
|
106
|
+
Çalıştır: `node --test tests/dosya.test.js`
|
|
107
|
+
Beklenen: FAIL — "submitForm is not defined"
|
|
108
|
+
|
|
109
|
+
- [ ] **Adım 3: Minimal implementasyon**
|
|
110
|
+
|
|
111
|
+
```js
|
|
112
|
+
function submitForm(data) {
|
|
113
|
+
if (!data.email?.trim()) return { error: 'Email gerekli' };
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
- [ ] **Adım 4: Geçtiğini doğrula**
|
|
118
|
+
|
|
119
|
+
Çalıştır: `node --test tests/dosya.test.js`
|
|
120
|
+
Beklenen: PASS
|
|
121
|
+
|
|
122
|
+
- [ ] **Adım 5: Commit**
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
git add tests/dosya.test.js src/dosya.js
|
|
126
|
+
git commit -m "feat: boş e-postayı reddet"
|
|
127
|
+
```
|
|
128
|
+
````
|
|
129
|
+
|
|
130
|
+
## Placeholder YASAK
|
|
131
|
+
|
|
132
|
+
Her adım mühendisin ihtiyacı olan GERÇEK içeriği taşır. Bunlar **plan
|
|
133
|
+
hatasıdır** — asla yazma:
|
|
134
|
+
|
|
135
|
+
- "TBD", "TODO", "sonra doldur", "detayları tamamla"
|
|
136
|
+
- "Uygun hata yönetimi ekle" / "kenar durumları handle et"
|
|
137
|
+
- "Yukarıdakine test yaz" (test kodu olmadan)
|
|
138
|
+
- "Görev N'ye benzer" (kodun kendisini yaz — mühendis görevleri sırasız okuyabilir)
|
|
139
|
+
- Ne yapılacağını söyleyip nasılını göstermeyen adımlar (kod adımı = kod bloğu)
|
|
140
|
+
- Hiçbir görevde tanımlanmamış tip/fonksiyon referansı
|
|
141
|
+
|
|
142
|
+
## Öz-Denetim
|
|
143
|
+
|
|
144
|
+
Planı bitirince spec'i taze gözle kontrol et (kendi checklist'in):
|
|
145
|
+
|
|
146
|
+
1. **Spec kapsamı:** Spec'in her bölümü için hangi görev implemente ediyor?
|
|
147
|
+
Boşlukları listele, görev ekle.
|
|
148
|
+
2. **Placeholder taraması:** Yukarıdaki kırmızı desenleri kendi planında ara, düzelt.
|
|
149
|
+
3. **Tip tutarlılığı:** Görev 3'te `clearLayers()` diye çağırdığın şey Görev 7'de
|
|
150
|
+
`clearFullLayers()` olmasın. İmzalar birebir eşleşmeli.
|
|
151
|
+
|
|
152
|
+
Sorun bulursan yerinde düzelt, tekrar tekrar dolaşma.
|
|
153
|
+
|
|
154
|
+
## Teslim
|
|
155
|
+
|
|
156
|
+
Plan kaydedildikten sonra yürütme seçeneği sun:
|
|
157
|
+
|
|
158
|
+
**"Plan `<yol>`'e kaydedildi. İki seçenek:**
|
|
159
|
+
**1. Alt-Ajan Destekli (önerilen)** — her görev için taze paralel ajan
|
|
160
|
+
(run_background), görevler arası inceleme; CEO modunda birebir
|
|
161
|
+
**2. Satır İçi** — bu oturumda executing-plans ile, checkpoint'li seri yürütme
|
|
162
|
+
**Hangisi?"**
|