natureco-cli 5.20.4 → 5.21.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/CHANGELOG.md CHANGED
@@ -1,750 +1,779 @@
1
- # Changelog
2
-
3
- All notable changes to NatureCo CLI will be documented in this file.
4
-
5
- ## [5.20.0] - 2026-06-27 — "CLAUDE CODE FEATURES CLONE"
6
-
7
- 13 Claude Code özelliği klonlandı ve her iki CLI moduna (REPL + Code Agent) entegre edildi. 28 test dosyası, 463 test.
8
-
9
- ### Yeni Özellikler
10
-
11
- - **Hooks Sistemi** (`src/utils/tool-hooks.js`): Pattern-based pre/post hooks. `ToolName(glob)` syntax ile allow/deny/ask/notify/record.
12
- - **Permission Sistemi** (`src/utils/permissions.js`): Granular allow/deny/ask rules + persistent approval cache (disk).
13
- - **Plan Mode** (`src/utils/plan-mode.js`): 3-state (normal planning review). Read-only mod, `/plan on|approve|reject|show` CLI.
14
- - **Worktrees** (`src/utils/worktree.js`): Git worktree + copytree fallback. EnterWorktree/ExitWorktree virtual tools.
15
- - **Sandbox** (`src/utils/sandbox.js`): none/basic/strict seviyeleri. Strict'te network komutları bloklanır, timeout kısalır.
16
- - **Fallback Chain** (`src/utils/fallback-chain.js`): 3 model sıralı düşüş. error/ratelimit/timeout'da otomatik geçiş.
17
- - **Effort Levels** (`src/utils/effort-levels.js`): low/medium/high token limit, iteration, temperature kontrolü.
18
- - **File History** (`src/utils/file-history.js`): Snapshot-based undo. `.natureco/history/` altında 20 snap/file. RestoreFile + FileHistory tools.
19
- - **Session Search** (`src/utils/session-search.js`): Full-text `.natureco/sessions/` arama. SearchSessions tool.
20
- - **Task Sistemi** (`src/utils/tasks.js`): Child process background task manager. CreateTask/ListTasks/GetTaskResult/StopTask tools.
21
- - **Cron/Monitor** (`src/utils/cron.js`): Cron expression scheduler. ScheduleTask/ListScheduledTasks/RemoveScheduledTask tools.
22
- - **Structured Output** (`src/utils/structured-output.js`): JSON schema response format. Config'dan `response_format` okur.
23
- - **Ultra Review** (`src/utils/ultra-review.js`): 4-focus code review (security/style/logic/performance). UltraReview tool.
24
-
25
- ### 🔧 Entegrasyon
26
-
27
- - `repl.js`: 14 virtual tool inject, plan review flow, permission + hooks + plan mode pipeline (`executeOne()`)
28
- - `code_v5.js`: Aynı 14 virtual tool, `/plan` CLI, permission/hooks/plan/effort/fallback entegrasyonu
29
- - `tools.js`: Sandbox strict seviyesinde bash/shell_command network bloklama
30
- - Otomatik file snapshot: write_file/edit_file çalıştığında history snapshot alınır
31
-
32
- ### 🧪 Test
33
-
34
- - 4 yeni test dosyası: tool-hooks (13), permissions (10), plan-mode (15), worktree (9)
35
- - Toplam: 28 test dosyası, 463 test — tamamı yeşil
36
-
37
- ## [5.7.1] - 2026-06-25 — "BUG FIX SPRINT"
38
-
39
- Comprehensive audit-driven sprint: 7 real runtime bugs fixed, 6 new
40
- utility modules with ~90%+ test coverage, ESLint + flat config installed,
41
- test scripts wired to vitest (previously `npm test` was just running
42
- `--help`). Pure quality / stability no public API change.
43
-
44
- ### 🐛 Fixed (runtime bugs)
45
- - **REPL `/system <text>` crashed with TypeError** (`commands/repl.js`):
46
- systemPrompt was `const` but the slash handler reassigned it. → `let`.
47
- - **Telegram + IRC + SMS message handlers ReferenceError on every inbound**
48
- (`commands/gateway-server.js`): `cleanCommand` variable never declared
49
- in those scopes. Added `stripSlashPrefix(text)` helper mirroring the
50
- v5.6.41+ WhatsApp transform; all three channels now derive it correctly.
51
- - **Tool-alias rewrites threw ReferenceError** (`utils/tools.js`): typo
52
- `TOOL_ALIASES[t.name]` where the local was `ALIAS_MAP`. Fixed.
53
- - **5 silent `no-undef` ReferenceErrors** across `commands/{chat,nodes,
54
- gateway,config}.js` + `utils/error.js` — missing `require()` calls
55
- that had been hidden by CommonJS load-order side effects (would
56
- crash on a fresh process or worker restart).
57
-
58
- ### 🔒 Security
59
- - **exec-approvals.json was world-readable (0644)** local privilege
60
- escalation hedef. Now 0o600 (file) + 0o700 (parent dir), with
61
- auto-tightening of pre-existing loose installs. Removed dangling
62
- `APPROVALS_SOCKET_PATH` constant + unused `net` require (socket never
63
- existed; storage is the JSON file).
64
- - **Anthropic `system` field sent as `''` or `undefined`** (api.js): now
65
- always non-empty via `extractSystemForAnthropic(messages)` helper with
66
- a meaningful default. Prevents 400 "system: cannot be empty" on
67
- recent Messages API revisions + unanchored-model drift.
68
-
69
- ### ⚙️ Reliability
70
- - **Crash-safe atomic file writes** for sessions, history, memory,
71
- approvals (new `utils/atomic-file.js`: temp-write + rename(2)).
72
- Prior `fs.writeFileSync` left truncated JSON on SIGTERM / OOM /
73
- power loss.
74
- - **Memory fact cap silent fail fixed** (`tools/memory_write.js`): the
75
- hardcoded `slice(0, 15)` ran BEFORE push, so once 15 high-score
76
- facts were saved, every new write was the next iteration's eviction
77
- victim — silently. Now: `MAX_FACTS_PER_USER` default 50 (env
78
- `NATURECO_MAX_FACTS`), cap applied AFTER push, just-written fact
79
- pinned at top, `console.warn` on breach (`NATURECO_QUIET_MEMORY=1`
80
- to silence).
81
- - **Global `unhandledRejection` + `uncaughtException` handlers**
82
- (`utils/process-errors.js`, installed as the first statement in
83
- `bin/natureco.js`): structured audit log entry + friendly Turkish
84
- stderr + exit 1, instead of Node's default ugly stack dump.
85
- - **Dashboard port + host de-hardcoded** (`utils/ports.js`):
86
- `NATURECO_DASHBOARD_PORT` + `NATURECO_DASHBOARD_HOST` env overrides
87
- with range/format validation. Previously 7421 was inlined in two
88
- separate modules; drift risk eliminated.
89
-
90
- ### 🧹 Refactor (DRY)
91
- - **Streaming tool-call delta accumulator** extracted to
92
- `utils/streaming-tools.js`. The per-index buffer + string-concat
93
- pattern was duplicated in `utils/api.js` and `commands/repl.js`
94
- any drift between them would silently break tool calling on
95
- Groq / MiniMax / DeepSeek / OpenAI.
96
- - **Provider detection** centralized in `utils/provider-detect.js`.
97
- Three call sites (`utils/api.js`, `commands/setup.js`) used three
98
- different versions of the URL→provider mapping; the setup.js variant
99
- was already incorrect (missed `minimax.cn`). Helper makes
100
- `detectProvider`, `isMiniMax`, `isAnthropic`, `isGroq`, `isOllama`
101
- the single source of truth.
102
-
103
- ### 🧪 Testing
104
- - **`npm test` actually runs tests now** was previously just
105
- `node bin/natureco.js help` (a load-smoke). Wired to `vitest run`.
106
- - **+95 unit tests** across 9 new spec files. Coverage of the new
107
- utility modules: streaming-tools 97%, provider-detect 100%,
108
- process-errors 88%, ports ~93%, atomic-file ~93%, memory_write
109
- internals ~85%.
110
- - **Test suite: 12 files / 270 tests → 21 files / 365 tests.**
111
- - `@vitest/coverage-v8` dev dep added; `npm run test:coverage` works.
112
- - **prepublishOnly gate strengthened**: now runs `node --check` +
113
- `eslint --quiet` + `vitest run` in sequence. A broken publish to
114
- `npm install -g natureco-cli` users is now strictly blocked.
115
-
116
- ### 🔧 Tooling
117
- - **ESLint v9 flat config added** (`eslint.config.js`):
118
- `@eslint/js` recommended + warn-level checks for unused-vars,
119
- useless-escape, case-declarations, control-regex. Test files get
120
- ES-module sourceType + vitest globals; `src/tools/browser*.js`
121
- get browser globals for Playwright page.evaluate context.
122
- Scripts: `npm run lint`, `lint:fix`, `lint:errors-only`.
123
- After the no-undef fixes: 0 errors (293 unused-vars warnings
124
- remain for a follow-up sprint).
125
-
126
- ## [5.7.0] - 2026-06-24 - SOUL SCRUBBED (MINOR)
127
-
128
- ### Security
129
- - Personal paths removed from README (Users/gencay/.hermes/sasuke-notes*.md and Downloads/notes.py)
130
- - soul/ directory removed from repo (7 files: AGENTS, IDENTITY, SOUL, notes/{INDEX,note1-5}.md)
131
- - Note: files remain in git history; use git filter-repo for full purge
132
- - Internal docs ignored via .gitignore (DEPLOY_*, LAUNCH, AUDIT, TEST_PLAYBOOK, etc.)
133
-
134
- ### Changed
135
- - Minor version bump 5.6.48 -> 5.7.0 (patch cascade rule: 5+ consecutive patches)
136
-
137
- ## [5.6.48] - 2026-06-24 "README SHARDED"
138
-
139
- ### 📚 Documentation
140
- - **README.md + README_EN.md updated** for v5.6.47
141
- - v5.6.47 + v5.6.46 added to "Recent Releases" table
142
- - New "v5.6.47 Sharded Memory System" hero section in "What's New"
143
- - Folder structure diagram (`soul/notes/{INDEX,note1-5}.md`)
144
- - Cross-project reference to `sasuke-notes*.md`
145
- - npm registry will reflect updated README on next publish
146
-
147
- ## [5.6.47] - 2026-06-24 "SOUL SHARDED"
148
-
149
- ### Added
150
- - **soul/notes/ Sharded memory system for NatureCo CLI agent**
151
- - `INDEX.md` (2 KB) file map, navigation
152
- - `note1.md` (3 KB) Patron & persona (Gencay, "Patron" hitap, çilek yasağı)
153
- - `note2.md` (4 KB) — Project structure, 120+ commands, build/publish workflow
154
- - `note3.md` (3.8 KB) — Tokens, red lines, masking fixes (npm `.npmrc`, PyPI `/tmp/pypi_token.txt`, GitHub `/Users/gencay/.natureco/github_token`)
155
- - `note4.md` (6 KB) — 7-step release workflow (local commit → tag → push → publish → cache-bust → GitHub release → verify)
156
- - `note5.md` (5 KB) — Skills, tools, channels, MCP, integrations
157
- - **SOUL.md updated** to index-based: "read soul/notes/INDEX.md" + 1-line quick reference
158
- - **Infinite scalability** `note6.md`, `note7.md`... as needed
159
- - **Pattern mirrors** `/Users/gencay/.hermes/sasuke-notes*.md` for cross-project memory
160
- - 1009 + 125 = 1134 new lines, ~28 KB detailed context
161
-
162
- ## [5.6.46] - 2026-06-24 — "README OVERHAUL"
163
-
164
- ### 📚 Documentation
165
- - **README.md full rewrite** — 5.6.x serisine uygun:
166
- - Hero slogan: "Yapay Zekânın Gücü artık parmaklarının ucunda / Terminalin hızını NatureCo ile keşfet"
167
- - ASCII art banner
168
- - Node badge: `>=16.0.0` (package.json engines ile uyumlu)
169
- - npm version, downloads, GitHub stars badge'leri
170
- - Quick Start 4 adım: install setup → chat → code
171
- - 51 komut / 10 kategori, gerçek örnekler
172
- - Discord `https://discord.gg/4FwumbWph`, Twitter `https://twitter.com/naturecoofficial`
173
- - GitHub: `natureco-official/natureco-cli`
174
- - Karşılaştırma tablosu (Claude Code / Hermes / OpenClaw)
175
- - 30s setup wizard tanıtımı
176
-
177
- ### 🎯 Versiyon Notu
178
- - 5.6.45 → 5.6.46 (patch bump, README-only release)
179
- - Kod değişikliği yok, npm sayfası güncellendi
180
- - Yeni kullanıcılar README üzerinden kurulum yapabilir
181
-
182
- ---
183
-
184
- ## [4.2.0] - 2026-06-22 "LAUNCH READY"
185
-
186
- ### 🚀 Headline
187
- **v4.2.0 ile NatureCo CLI npm'e publish'a hazır.** OpenClaw'ın açık ara üstünü.
188
-
189
- ### Added
190
- - **package.json launch-ready:**
191
- - Açıklayıcı description, 18 keywords (SEO optimize)
192
- - `repository`, `bugs`, `homepage`, `author` (Gencay Olgun) alanları
193
- - `postinstall` script: `natureco doctor` otomatik çalışır
194
- - `prepublishOnly`: syntax check + test
195
- - Files: README, CHANGELOG, AUDIT, DEPLOY docs dahil
196
- - **LAUNCH.md** Pazarlama materyali:
197
- - Reddit/HN/Twitter/Medium/Discord mesajları (Parton imzalı)
198
- - Hedef kitle segmentleri
199
- - 30-gün başarı metrikleri
200
- - Launch checklist
201
- - **npm publish adımları** dokümante edildi
202
-
203
- ### 📊 Final İstatistikler
204
- - 152 JS dosyası (8 yeni eklendi)
205
- - 32K+ satır kod
206
- - 11 utility modülü (5 yeni)
207
- - 95+ CLI komutu (8 yeni)
208
- - 8 phase, 0 blocking bug
209
- - v2.23.32 v4.2.0 (8 minor versiyon)
210
-
211
- ### 🎯 Hedef
212
- - İlk hafta: 1,000 npm indirme
213
- - İlk ay: 500 GitHub yıldız, 200 aktif kullanıcı
214
-
215
- ---
216
-
217
- ## 🏁 TÜM PHASE'LER TAMAMLANDI
218
-
219
- - [x] Phase 0: Audit
220
- - [x] Phase 1: Brand & Onboarding (v3.0.0)
221
- - [x] Phase 2: Defense-in-Depth (v3.1.0)
222
- - [x] Phase 3: Self-Evolving Skills (v3.2.0)
223
- - [x] Phase 4: Cost-Optimized (v3.3.0)
224
- - [x] Phase 5: Developer Experience (v3.4.0)
225
- - [x] Phase 6: NatureCo Native (v4.0.0)
226
- - [x] Phase 7: Multi-Agent (v4.1.0)
227
- - [x] Phase 8: Launch Ready (v4.2.0)
228
-
229
- **OpenClaw'ın yerini almaya hazırız.** 🌿
230
-
231
- ### 🤖 Headline
232
- Tek agent değil, **agent ağı**. OpenClaw single-agent — NatureCo multi-agent.
233
-
234
- ### Added
235
- - **`src/utils/sub-agent.js`** genişletildi: 3 8 agent tipi
236
- - `explore`, `general`, `review` (mevcut)
237
- - **Yeni:** `seo`, `content`, `security`, `translator`, `debugger`
238
- - Her biri farklı system prompt ile uzmanlaşmış
239
- - **`natureco team`** — Multi-agent orkestrasyon komutu
240
- - `team list`: 8 agent tipi ve açıklamaları
241
- - `team status`: Son çalışan agent istatistikleri (toplam/çalışan/tamamlanan/başarısız)
242
- - `team spawn <type> <task>`: Tek agent çalıştır (token kullanım raporu ile)
243
- - `team parallel '<json>'`: N agent paralel çalıştır, sonuçları birleştir
244
- - **Mevcut `spawnSubAgent`/`spawnParallel` altyapısı** zaten vardı (Phase 7 bunu sadece genişletti)
245
-
246
- ### 🔜 Final Phase
247
- - v4.2.0 — Phase 8: Launch & marketing
248
-
249
- ### 🌿 Headline
250
- Generic agent değil, **NatureCo platformunun native parçası**. OpenClaw generic — NatureCo natureco.me'ye özel.
251
-
252
- ### Added
253
- - **`natureco naturehub`** Nature Hub topluluk akışına içerik yayınla (post|list|trending|config)
254
- - Token tabanlı, `natureco config set naturehubToken`
255
- - Offline: yerel JSONL'e kaydeder, API hazır olunca gönderir
256
- - **`natureco medium`** Parton'un ayda 4 makale hedefi için (draft|publish|list)
257
- - Markdown dosyasından taslak/yayın
258
- - Medium integration token gerektirir
259
- - Yerel taslak kayıt (`~/.natureco/medium-drafts/`)
260
- - **`natureco seo`** — URL SEO denetimi (audit|meta|speed)
261
- - Title, description, canonical, OG, Twitter Card, schema.org
262
- - H1-H3 heading analizi, image alt kontrolü
263
- - Word count ve 100-üzerinden skor
264
- - **Test: natureco.me71/100, H1 eksik bildirildi**
265
- - **`natureco xp`** Gamification (stats|leaderboard|rewards)
266
- - 8 seviye: Tohum Galaksi (0 → 12,000 XP)
267
- - 7 farklı ödül (sticker Founder statüsü)
268
- - XP history (son 100 kayıt)
269
-
270
- ### 🎯 Phase 6 Canlı Test
271
- - **SEO audit natureco.me**: 71/100 skor, H1 eksikliği, title uzunluğu tespit edildi
272
- - **XP sistemi**: 0 XP, Lv.1 Tohum, sonraki Filiz (100 XP)
273
-
274
- ### 🔜 Coming
275
- - v4.1.0 Phase 7: Multi-agent orkestrasyon (sub-agents)
276
- - v4.2.0 — Phase 8: Launch & marketing
277
-
278
- ### 🖥️ Headline
279
- OpenClaw "kara kutu". NatureCo CLI **şeffaf** tüm veriler tek bir local dashboard'da.
280
-
281
- ### ✨ Added
282
- - **`src/utils/dashboard-server.js`** — Local web dashboard
283
- - Port 7421, vanilla JS + HTML (framework yok)
284
- - 6 widget: bugünkü maliyet, yüklü skill, aktif cron, audit kayıtları, provider bazlı maliyet, self-evolving proposals, son tool çağrıları
285
- - Otomatik 5 saniyede bir yenileme (auto-refresh)
286
- - JSON API endpoint (`/api`)
287
- - PID file ile kolay durdurma
288
- - **`src/commands/dashboard.js`** `natureco dashboard [start|status|stop|url]`
289
- - Port kontrolü (zaten çalışıyor mu?)
290
- - Process kill ile temiz shutdown
291
- - macOS/Windows/Linux uyumlu tarayıcı açma
292
-
293
- ### 📊 Phase 5 Dashboard Test
294
- - HTTP 200, 8575 byte HTML
295
- - API JSON: tüm Phase 3 proposal verileri görünüyor
296
- - Real-time auto-refresh çalışıyor
297
-
298
- ### 🔜 Coming
299
- - v4.0.0 Phase 6: NatureCo özgü entegrasyonlar (naturehub, medium, seo)
300
- - v4.1.0 Phase 7: Multi-agent orkestrasyon
301
- - v4.2.0 Phase 8: Launch & marketing
302
-
303
- ### 💰 Headline
304
- OpenClaw kullanıcıları ayda $50-200 token faturası ödüyor. NatureCo hedef: $5-15/ay akıllı routing ile.
305
-
306
- ### ✨ Added
307
- - **`src/utils/cost-tracker.js`** — Maliyet hesaplama ve model router
308
- - 21 model × provider için güncel fiyat tablosu (Groq, OpenAI, Anthropic, DeepSeek, Together, Fireworks, Ollama)
309
- - Token → USD dönüşümü (input/output ayrı)
310
- - **Model router**: 4 karmaşıklık seviyesi (simple/medium/complex/creative)
311
- - Basit soru llama-3.1-8b-instant ($0.05 in)
312
- - Kod llama-3.3-70b-versatile veya claude-sonnet
313
- - Yaratıcı yazı claude-sonnet veya gpt-4o
314
- - **Otomatik karmaşıklık tahmini**: prompt içeriğinden (kod işaretleri, anahtar kelimeler, uzunluk)
315
- - **Bütçe sistemi**: günlük $5, aylık $100 limit, %75 uyarı, %90 otomatik downgrade
316
- - **`src/commands/cost.js`** `natureco cost [today|week|month|all|budget|set|model|prices]`
317
- - Renkli bar chart'lar
318
- - Provider ve model bazlı breakdown
319
- - Bütçe durumu görselleştirmesi
320
- - **`bin/natureco.js`** `cost` komutu kayıtlı
321
-
322
- ### 📊 Phase 4 Test Sonucu
323
- - 3 farklı provider kullanımı kaydedildi → $0.0252 toplam
324
- - Basit prompt: `groq:llama-3.1-8b-instant` önerildi (en ucuz)
325
- - Karmaşık kod prompt: `groq:llama-3.3-70b-versatile` önerildi
326
- - Bütçe görsel: %1 kullanım (günlük limit $5)
327
-
328
- ### 🔜 Coming
329
- - v3.4.0 — Phase 5: Geliştirici deneyimi (dashboard)
330
- - v4.0.0 — Phase 6-8: NatureCo native + launch
331
-
332
- ### 🧠 Headline
333
- Kullanımın tekrar eden pattern'lerinden otomatik skill oluştur. Hermes Agent'tan ilham, NatureCo uyarlaması.
334
-
335
- ### ✨ Added
336
- - **`src/utils/pattern-detector.js`** — Tool çağrı pattern detector
337
- - Normalize: URL'ler, dosya yolları, sayılar, UUID'ler, ISO tarihler, email'ler, hex string'ler generic hale getirilir
338
- - Sliding window (son 1-5 çağrı)
339
- - Aynı pattern 3+ kez tekrar → proposal oluştur
340
- - 24 saat cooldown (aynı pattern'i tekrar önerme)
341
- - Persistent log: `~/.natureco/patterns.json`
342
- - Proposal kayıt: `~/.natureco/skill-proposals.json`
343
- - **`src/commands/skills.js`** 4 yeni alt komut:
344
- - `skills suggest` Bekleyen proposal'ları göster
345
- - `skills accept <id>` Proposal'ı SKILL.md olarak oluştur
346
- - `skills reject <id>` — Proposal'ı reddet
347
- - `skills forget` Pattern hafızasını sıfırla
348
- - **Otomatik SKILL.md üretimi** — accepted proposal'lardan `~/.natureco/skills/<name>/SKILL.md`
349
- - **Audit entegrasyonu** Her skill kabulü `SKILL_AUTO` action'ı olarak loglanır
350
-
351
- ### 🐛 Fixed
352
- - Pattern detector'da fingerprint bug'ı: normalize edilmiş string'ler tekrar normalize ediliyordu (boş pattern üretiyordu)
353
-
354
- ### 🔜 Coming
355
- - v3.3.0 — Phase 4: Maliyet optimizasyonu (model router, token budget)
356
- - v3.4.0 — Phase 5: Geliştirici deneyimi (dashboard)
357
-
358
- ### 🛡️ Headline
359
- OpenClaw'ın en zayıf olduğu alan: güvenlik. v3.1.0 ile NatureCo CLI artık OpenClaw'tan **açık ara daha güvenli**.
360
-
361
- ### Added
362
- - **`src/utils/audit.js`** Merkezi audit log sistemi (JSONL, 30 gün retention, async, non-blocking)
363
- - 19 action tipi (command, approval, tool, auth, secret, config, cron, skill, error, info)
364
- - 24 saat istatistik, dosya bazlı günlük log'lar, auto-cleanup
365
- - **`src/utils/secret-scanner.js`** — 22 bilinen secret pattern tespiti (OpenAI, Anthropic, Groq, AWS, GitHub, Slack, Stripe, Tavily, HuggingFace, Replicate, Firecrawl, NatureCo, JWT, private key, vs)
366
- - Shannon entropi analizi (bilinmeyen format yüksek entropi secret'lar)
367
- - Otomatik maskeleme (`sk-a***9012`)
368
- - Cross-platform dosya tarama (skip: node_modules, .git, dist, lock files)
369
- - **`src/commands/audit.js`** `natureco audit [today|stats|show|search|files|cleanup|tail]`
370
- - Renkli action kategorileri
371
- - 24 saat bar chart
372
- - Canlı tail modu (yeni kayıtları real-time göster)
373
- - **`bin/natureco.js`**`audit` komutu kayıtlı
374
- - **`src/commands/doctor.js`**2 yeni check:
375
- - `auditLog`: Audit dizini yazılabilir mi?
376
- - `secretsClean`: Çalışma dizininde secret var mı?
377
-
378
- ### 📊 Phase 2 Doctor Sonuçları
379
- - **10 check** toplam (Phase 1'de 8, ilk halde 5)
380
- - 6/10 geçti (fresh setup'ta config henüz yok — beklenen)
381
-
382
- ### 🔜 Coming
383
- - v3.2.0 — Phase 3: Self-evolving skills
384
- - v3.3.0 — Phase 4: Maliyet optimizasyonu
385
- - v3.4.0 — Phase 5: Geliştirici deneyimi
386
-
387
- ### 🔥 Headline
388
- OpenClaw'dan daha güvenli, daha hızlı, daha ucuz. İlk kurulum 60 saniye.
389
-
390
- ### ✨ Added
391
- - **First-run auto-detection** (`bin/natureco.js`)`natureco` (boş argüman) kurulum yoksa otomatik setup wizard'a yönlendirir
392
- - **`src/utils/branding.js`** merkezi brand kimliği (renkler, ASCII art, daily tip)
393
- - **Doctor 3 yeni check:** `apiKeyValid`, `providerReachable`, `dataDirs` (auto-fix ile)
394
- - **Setup wizard** artık tam NatureCo logosuyla açılıyor (eski ASCII cat yerine)
395
- - **README v3.0 notları + OpenClaw karşılaştırma tablosu**
396
-
397
- ### 🐛 Fixed
398
- - **Doctor `diskSpace` bug:** `os.freemem()` (RAM) kullanıyordu, artık gerçek disk alanı (`df -k`, Windows: `Get-PSDrive`)
399
- - **README/package.json versiyon senkron:** 2.19.1 → 3.0.0
400
- - **README Node engine:** >=16 → >=18 (package.json ile uyumlu)
401
-
402
- ### 📁 Audit (Phase 0)
403
- - 152 JS dosyası, syntax %100 temiz, 0 require hatası
404
- - 10 TODO/FIXME, 10 boş fonksiyon, 5 deprecated existsSync tespit edildi
405
- - AUDIT.md oluşturuldu
406
-
407
- ### 🔜 Coming in next versions
408
- - v3.1.0 Phase 2: Defense-in-depth güvenlik (approval v2, audit log, sandbox)
409
- - v3.2.0 Phase 3: Self-evolving skills
410
- - v3.3.0 — Phase 4: Maliyet optimizasyonu (model router)
411
- - v3.4.0 — Phase 5: Geliştirici deneyimi (dashboard)
412
- - v4.0.0 — Phase 6-8: NatureCo native + launch
413
-
414
- ## [1.0.0] - 2026-05-10
415
-
416
- ### Added
417
-
418
- #### Core Features
419
- - **First-Time Setup Wizard**
420
- - Automatic setup on first run
421
- - Interactive API key validation with live check
422
- - Bot selection from user's bots
423
- - Optional Telegram integration
424
- - Creates `~/.natureco/` directory structure
425
- - Beautiful boxed interface
426
- - Can be run manually with `natureco setup`
427
-
428
- - **Authentication System**
429
- - Login/logout with API key
430
- - Secure storage in `~/.natureco/config.json`
431
- - Support for both `nco_` and `nc_` key formats
432
-
433
- - **Bot Management**
434
- - List available bots
435
- - Interactive chat with bots
436
- - Bot switching within chat
437
-
438
- - **Gateway Screen**
439
- - Beautiful boxed interface
440
- - Login status display
441
- - Active bot information
442
- - Skill and MCP server counts
443
-
444
- #### Project Management
445
- - **Project Initialization**
446
- - `natureco init` command
447
- - Creates `.natureco/` folder structure
448
- - Interactive bot and skill selection
449
- - Generates `config.json` and `AGENTS.md`
450
-
451
- - **Configuration System**
452
- - Global config: `~/.natureco/config.json`
453
- - Project config: `.natureco/config.json`
454
- - Get/set/list commands
455
- - Hierarchical config management
456
-
457
- #### Skills System
458
- - **Three-Tier Hierarchy**
459
- - Built-in skills (code-review, summarize, translate)
460
- - User skills (`~/.natureco/skills/`)
461
- - Project skills (`.natureco/skills/`)
462
-
463
- - **Skill Management**
464
- - List installed skills
465
- - Install from NatureHub
466
- - Remove skills
467
- - Update all skills
468
- - Create new skill templates
469
-
470
- - **Skill Features**
471
- - Automatic prompt injection in chat
472
- - Requirement gating (bins, env vars, OS)
473
- - SKILL.md format with frontmatter
474
- - Metadata validation
475
-
476
- #### Chat Features
477
- - **Interactive Chat**
478
- - Real-time conversation with bots
479
- - Readline interface with arrow key support
480
- - Command history (last 100 commands)
481
- - Conversation history saved to `~/.natureco/history/`
482
-
483
- - **Chat Commands**
484
- - `/clear` - Clear screen
485
- - `/bot [name]` - Switch bot or list bots
486
- - `/skills` - Show active skills
487
- - `/help` - Show chat help
488
- - `exit`, `quit` - Exit chat
489
-
490
- - **Quick Commands**
491
- - `natureco ask "<question>"` - Single-shot questions
492
- - `natureco run <script.md>` - Run markdown scripts
493
- - Pipe support for ask command
494
-
495
- #### MCP Server Support
496
- - **Server Management**
497
- - List MCP servers
498
- - Add servers (interactive or template-based)
499
- - Remove servers
500
- - Test connections
501
- - Enable/disable servers
502
-
503
- - **Ready Templates**
504
- - `filesystem` - File system operations
505
- - `github` - GitHub operations
506
- - `postgres` - PostgreSQL database
507
- - `sqlite` - SQLite database
508
- - `brave-search` - Web search
509
-
510
- - **Configuration**
511
- - Stored in `~/.natureco/config.json`
512
- - Environment variable support
513
- - Auto-approve lists
514
- - Disable/enable flags
515
-
516
- #### AGENTS.md Support
517
- - Project-specific bot instructions
518
- - Automatic prompt injection in chat
519
- - Markdown format
520
- - Created during `natureco init`
521
-
522
- #### Update System
523
- - **Auto-Update Notifications**
524
- - Checks every 24 hours
525
- - Notifies when new version available
526
- - Uses update-notifier package
527
-
528
- - **Manual Update Check**
529
- - `natureco update` command
530
- - Shows current and latest versions
531
- - Provides update instructions
532
-
533
- #### UI/UX
534
- - Colorful terminal interface with chalk
535
- - Loading animations with spinners
536
- - Boxed gateway screen
537
- - Monospace formatting
538
- - Error messages in Turkish
539
- - Cross-platform support (Windows, macOS, Linux)
540
-
541
- ### Technical Details
542
-
543
- #### Dependencies
544
- - `chalk@4.1.2` - Terminal colors
545
- - `commander@11.1.0` - CLI framework
546
- - `inquirer@8.2.7` - Interactive prompts
547
- - `boxen@5.1.2` - Terminal boxes
548
- - `ora@5.4.1` - Spinners
549
- - `conf@10.2.0` - Config management
550
- - `update-notifier@6.0.2` - Update notifications
551
-
552
- #### API Integration
553
- - Base URL: `https://api.natureco.me`
554
- - Endpoints:
555
- - `GET /api/v1/bots` - List bots
556
- - `POST /api/agent/chat` - Chat with bot
557
- - Headers:
558
- - `Authorization: Bearer <apiKey>`
559
- - `X-User-ID: cli-user`
560
- - Platform identifier: `cli`
561
-
562
- #### File Structure
563
- ```
564
- ~/.natureco/
565
- ├── config.json # Global config
566
- ├── skills/ # User skills
567
- └── history/ # Chat history
568
- └── <bot-id>.json
569
-
570
- .natureco/ # Project folder
571
- ├── config.json # Project config
572
- ├── AGENTS.md # Bot instructions
573
- └── skills/ # Project skills
574
- ```
575
-
576
- ### Commands
577
-
578
- ```bash
579
- natureco # Gateway screen (runs setup if needed)
580
- natureco setup # Run setup wizard
581
- natureco login # Login
582
- natureco logout # Logout
583
- natureco bots # List bots
584
- natureco chat <bot> # Start chat
585
- natureco ask "<question>" # Quick question
586
- natureco run <script.md> # Run script
587
- natureco init # Initialize project
588
- natureco skills [action] # Manage skills
589
- natureco mcp [action] # Manage MCP servers
590
- natureco config <action> # Manage config
591
- natureco update # Check updates
592
- natureco help # Show help
593
- ```
594
-
595
- ### Requirements
596
- - Node.js >= 18.0.0 (for native fetch)
597
- - npm or yarn
598
- - NatureCo API key
599
-
600
- ### License
601
- MIT
602
-
603
- ## [4.9.1] - 2026-06-22 — "SELF-COMPLETE TOOLSET"
604
-
605
- ### Yeni: 14 Tool Eklendi (Toplam: 45)
606
- Parton'un vizyonu: "kendi araçlarimi ekle". Hermes'te olan araçlarin aynisi.
607
-
608
- #### macOS Native Tools (6 yeni)
609
- - **calendar_add** - macOS Calendar'a etkinlik ekle (AppleScript)
610
- - **reminder_add** - macOS Reminders'a hatirlatici
611
- - **notes_add** - Apple Notes'a not
612
- - **mac_notify** - Notification Center bildirimi
613
- - **mac_app_open** / **mac_app_quit** - Uygulama kontrol
614
-
615
- #### Sistem & Shell (5 yeni)
616
- - **code_execution** - Python/Node/Bash sandbox
617
- - **shell_command** - Tek shell komutu (find, ls, df, vb.)
618
- - **http_request** - HTTP GET/POST/PUT/DELETE
619
- - **bash** (zaten vardi, guncellendi)
620
-
621
- #### Dosya & Arama (4 yeni)
622
- - **file_search** - Glob pattern ile dosya arama (**/*.js)
623
- - **grep_search** - Icerik arama (ripgrep veya grep)
624
- - **filesystem**, **list_dir** (zaten vardi)
625
-
626
- #### Yönetim & Verimlilik (6 yeni)
627
- - **todo_write** - Yapilacaklar listesi (list/add/done/remove)
628
- - **kanban** - Kanban board (todo/in_progress/done kolonlar)
629
- - **memory_search** - Kalici hafizada ve session'larda arama
630
- - **cron_create** - Zamanlanmis gorev olusturma
631
- - **notebook_edit** - Jupyter notebook hucre duzenleme
632
- - **delegate_task** - Alt-agent gorev devretme
633
-
634
- #### AI & Medya (zaten vardi + Pollinations fallback)
635
- - **image_generation** - v4.8.4'te Pollinations.ai (ucretsiz) eklendi
636
- - **media_understanding** - Gorsel analiz (OpenAI/Anthropic/Groq)
637
- - **text_to_speech** - macOS say / edge-tts
638
-
639
- ### İyilestirmeler
640
- - **Tool calling tam entegre** - v4.8.0'da basladi, v4.9.1'de tamamlandi
641
- - **OpenAI uyumlu tool calling** - MiniMax, OpenAI, Anthropic, Groq hepsi
642
- - **Auto-fallback** - Key yoksa ucretsiz alternatife gec (Pollinations)
643
- - **Tool UI feedback** - Her tool cagrisi 🔧 Tool: ... ile gosteriliyor
644
-
645
- ### Düzeltmeler
646
- - **macos.js** (tek dosya, birden fazla tool) 6 ayri dosyaya bolundu
647
- - **file_search.js** syntax hatasi (JSDoc icindeki yildiz) duzeltildi
648
- - **REPL'in tool registry** - Yeni tool'lar REPL acilisinda otomatik yukleniyor
649
-
650
- ### Toplam Ilerleme
651
- - v2.23 (baslangic): ~12 tool
652
- - v3.0-v4.0: +5 tool (brand, audit, cost, dashboard, seo)
653
- - v4.5-v4.7: +8 tool (xp, team, naturehub, medium, repl, vb.)
654
- - v4.8: Tool calling tam entegre (28 tool)
655
- - **v4.9.1: 45 tool** - Parton'un vizyonu: "kendi araçlarim olsun"
656
-
657
- ### Kullanim
658
- ```bash
659
- natureco repl
660
- > "Yarin 14:00 doktor randevum var" # calendar_add
661
- > "Spotify ac" # mac_app_open
662
- > "src/ icindeki TODO'lari bul" # grep_search
663
- > "Python ile 2+2 hesapla" # code_execution
664
- > "Tum TODO'lari goster" # todo_write
665
- ```
666
-
667
- ## [5.1.0] - 2026-06-22 — "SELF-GENERATING SKILLS"
668
-
669
- ### Yeni: skill_generate Tool (48. Tool)
670
- Parton'un vizyonu: "Ihtiyaca gore skill yoksa kendi uretsin". LLM ile yeni bir skill talimati uretir, diske kaydeder ve hemen kullanima sunar.
671
-
672
- #### Nasil calisir
673
- 1. Kullanici REPL'de bir istek yapar (ornek: "PDF dosyalarini birlestir")
674
- 2. Mevcut 47 tool/skill ile cozum yoksa `skill_generate` otomatik devreye girer
675
- 3. LLM'a (MiniMax, OpenAI, vs) skill taslagi uretmesi icin istek gonderilir
676
- 4. SKILL.md + metadata.json `~/.natureco/skills/<auto-name>/` altina kaydedilir
677
- 5. Skill hemen REPL'de kullanilabilir olur
678
-
679
- #### Test
680
- ```
681
- > "PDF dosyalarini tek bir PDF dosyasinda birlestir"
682
- Tool: skill_generate
683
- Args: {"taskDescription":"..."}
684
- Result: skill olusturuldu, hemen kullanilabilir!
685
- ```
686
-
687
- ### Duzeltmeler
688
- - **file_search regex bug**: `**/*.js` pattern'i patliyordu (`Nothing to repeat`). Placeholder + escape sirasini degistirdik, artik calisiyor.
689
- - **v4.5.1 tui.C.cyan/accent**: TUI engine palette'inde yoktu, `amber` ile degistirildi.
690
- - **code_v5.js legacy code komutu**: v5.0'da eski v2.23 kodu eski yere fallback (`--legacy` flag).
691
-
692
- ### Istatistikler (final)
693
- - **Toplam tool**: 48 (Phase 9'da 1'den basladi)
694
- - **Toplam komut**: 100+
695
- - **Toplam satır kod**: ~6000 (bin + src)
696
- - **Phase 1-9**: 9 buyuk iterasyon
697
- - **Patch versiyonlari (v4.6-v5.1)**: 14+
698
- - **npm latest**: 5.1.0
699
- - **CHANGELOG**: tam
700
- - **README**: v4.5+, guncel
701
- - **Doc (natureco.me/cli)**: 9116 char, hazir
702
- - **Pazarlama**: HN, Reddit, Medium yazilari hazir
703
-
704
- ### Ozellik Matrisi (Final)
705
- - **AI & Media (6):** image_generation, media_understanding, text_to_speech, llm_task, canvas, audio_understanding
706
- - **Dosya (6):** read_file, write_file, list_dir, filesystem, file_search, grep_search
707
- - **Sistem (5):** bash, code_execution, shell_command, http_request, git
708
- - **Web (6):** web_search, web_readability, exa_search, duckduckgo, firecrawl, browser
709
- - **macOS Native (6):** calendar_add, reminder_add, notes_add, mac_notify, mac_app_open, mac_app_quit
710
- - **Verimlilik (5):** todo_write, kanban, memory_search, cron_create, notebook_edit
711
- - **Sistem Tools (5):** delegate_task, skills_marketplace, skills_autoload, skill_generate, audio_understanding
712
- - **Diger (8):** document_extract, image_generation, duckduckgo, exa_search, firecrawl, http, audio_understanding, document_extract
713
-
714
- ### Yayin Bilgisi
715
- - **NPM**: https://npmjs.com/package/natureco-cli
716
- - **Versiyon**: 5.1.0
717
- - **Kurulum**: `npm install -g natureco-cli`
718
- - **Lisans**: MIT
719
-
720
- ## [5.3.0] - 2026-06-22 — "VOICE EDITION + AUTO-MEMORY"
721
-
722
- ### Yeni: voice_chat Tool (52. Tool)
723
- Parton'un vizyonu: "Bilgisayarla konusayim".
724
- - macOS'ta mikrofondan ses kaydi (`rec` + `sox`)
725
- - Whisper API ile ses → metin donusumu (Turkce)
726
- - Cevabi macOS `say` ile sesli oku
727
- - Hands-free agent kullanimi
728
-
729
- ### Yeni: Otomatik Memory Extractor (REPL'e entegre)
730
- v5.3.0 ile REPL, kullanicinin kişisel bilgi verdigini anlayip otomatik kaydeder:
731
- - 'adım X' memory'ye 'Adı: X' yaz
732
- - 'sevdiğim X' → preference kategorisinde
733
- - 'ben X yapıyorum' → work kategorisinde
734
- - 'X tutkunuyum' hobby kategorisinde
735
- - 'sen benim patronumsun' botName='Patronum' olarak degistir
736
- - 'adın X olsun' botName=X olarak kaydet
737
-
738
- Bu sayede Parton'un vizyonu gerceklesiyor: "her seferinde hatirlatmayacagim, beni hatirlayacak".
739
-
740
- ### Bagimlilik Temizligi (v5.2.1)
741
- - chalk 4 5
742
- - commander 11 → 12
743
- - pino 8 → 9
744
- - json5 kaldirildi (transitive dependency)
745
- - npm audit temizlendi
746
-
747
- ### Testler (51 → 52 tool)
748
- - %88 basarili test (Parton'un son test raporu)
749
- - Tum Phase 1 bug'lari duzeltildi
750
- - macOS native integration tamamlandi
1
+ # Changelog
2
+
3
+ All notable changes to NatureCo CLI will be documented in this file.
4
+
5
+ ## [5.21.0] - 2026-07-02 — "GÜVENİLİRLİK SPRİNTİ" (gerçek API E2E denetimi)
6
+
7
+ Gerçek MiniMax API anahtarıyla uçtan uca canlı test turu; bulunan her hata düzeltilip yine canlı doğrulandı. 461 test yeşil.
8
+
9
+ ### 🐛 Kritik Düzeltmeler
10
+
11
+ - **Pipe/script modu tamamen kırıktı**: paste algılayıcı non-TTY girdide (pipe, script, CI) çok satırlı chunk'ları "yapıştırma" sanıp komutları yutuyordu — `echo "soru" | natureco chat` hiç çalışmıyordu. Non-TTY'de saf geçiş + regresyon testi.
12
+ - **EOF yanıtı kesiyordu**: pipe girdisi bittiğinde REPL, LLM yanıtı hâlâ üretilirken kapanıyordu. Artık süren işlem beklenir; kapalı readline'da `prompt()` çağrısı (Node 24 "readline was closed" çökmesi) korunur; non-TTY'de inquirer soruları güvenli varsayılanlara döner.
13
+ - **Maliyet takibi hiç kayıt yapmıyordu**: `recordUsage` hiçbir API yoluna bağlanmamıştı `natureco cost` hep $0.00 gösteriyordu. Üç yola da (normal, streaming, Anthropic) bağlandı.
14
+ - **Streaming'de sessiz token kaybı**: SSE satırı chunk sınırında bölününce parse hatası yutulup içerik kayboluyordu. Buffer taşıma eklendi.
15
+ - **REPL profil izolasyonunu deliyordu**: yerel `getConfig` kopyası `--profile` bayrağını yok sayıp gerçek config'i okuyordu; memory/sessions/repl-state yolları da homedir'e sabitti. Hepsi merkezi config/profile bağlandı.
16
+ - **Windows'ta `npm install` kırılabiliyordu**: `postinstall: ... || true` cmd.exe'de geçersiz (`true` yok). `scripts/postinstall.js`'e bağlandı asla kurulum kırmaz, CI'da atlanır; `scripts/` npm paketine eklendi (`files`).
17
+ - **EPIPE çökmesi**: `natureco help | head` gibi boru zincirlerinde 255 ile çöküyordu. EPIPE artık normal akış sayılır (exit 0).
18
+
19
+ ### 💰 Maliyet
20
+
21
+ - **`ask` %97 daha ucuz**: tek atımlık soruda 47 aracın şeması (~15K token) gönderiliyordu; varsayılan artık araçsız (~470 token), `--tools` ile açılır.
22
+ - MiniMax URL toleransı: `.../v1` ile biten providerUrl `404 page not found` veriyordu; endpoint kurucu tek kaynağa (`buildChatEndpoint`) indirildi ve `/v1` toleranslı.
23
+ - `$0.15¢` karışık para gösterimi düzeltildi (1 sentin altı yalnızca `¢`).
24
+
25
+ ### 🔧 İyileştirmeler
26
+
27
+ - Yazım hatasında komut önerisi: `natureco docto` `(Did you mean doctor?)`.
28
+ - `workflow` aracı tanımı ve sistem yönergesi netleştirildi: sohbet/bilgi sorusunda araç çağrılmaz.
29
+ - Girdide BOM/sıfır-genişlik karakter temizliği (PowerShell echo BOM'u).
30
+ - `NATURECO_DEBUG=1` ile unhandled rejection stack'i stderr'a yazılır.
31
+ - Windows test uyumluluğu: `USERPROFILE` override, yol ayracı, spawn timeout'ları — 15 flaky test düzeltildi.
32
+ - Kök dizin temizliği: `fibonacci.js`, `README.md.bak`, `.codedna.db`, ölü `postinstall-doctor.js` kaldırıldı; repo URL'leri `natureco-official`'a eşitlendi.
33
+
34
+ ## [5.20.0] - 2026-06-27 "CLAUDE CODE FEATURES CLONE"
35
+
36
+ 13 Claude Code özelliği klonlandı ve her iki CLI moduna (REPL + Code Agent) entegre edildi. 28 test dosyası, 463 test.
37
+
38
+ ### ✨ Yeni Özellikler
39
+
40
+ - **Hooks Sistemi** (`src/utils/tool-hooks.js`): Pattern-based pre/post hooks. `ToolName(glob)` syntax ile allow/deny/ask/notify/record.
41
+ - **Permission Sistemi** (`src/utils/permissions.js`): Granular allow/deny/ask rules + persistent approval cache (disk).
42
+ - **Plan Mode** (`src/utils/plan-mode.js`): 3-state (normal planning review). Read-only mod, `/plan on|approve|reject|show` CLI.
43
+ - **Worktrees** (`src/utils/worktree.js`): Git worktree + copytree fallback. EnterWorktree/ExitWorktree virtual tools.
44
+ - **Sandbox** (`src/utils/sandbox.js`): none/basic/strict seviyeleri. Strict'te network komutları bloklanır, timeout kısalır.
45
+ - **Fallback Chain** (`src/utils/fallback-chain.js`): 3 model sıralı düşüş. error/ratelimit/timeout'da otomatik geçiş.
46
+ - **Effort Levels** (`src/utils/effort-levels.js`): low/medium/high token limit, iteration, temperature kontrolü.
47
+ - **File History** (`src/utils/file-history.js`): Snapshot-based undo. `.natureco/history/` altında 20 snap/file. RestoreFile + FileHistory tools.
48
+ - **Session Search** (`src/utils/session-search.js`): Full-text `.natureco/sessions/` arama. SearchSessions tool.
49
+ - **Task Sistemi** (`src/utils/tasks.js`): Child process background task manager. CreateTask/ListTasks/GetTaskResult/StopTask tools.
50
+ - **Cron/Monitor** (`src/utils/cron.js`): Cron expression scheduler. ScheduleTask/ListScheduledTasks/RemoveScheduledTask tools.
51
+ - **Structured Output** (`src/utils/structured-output.js`): JSON schema response format. Config'dan `response_format` okur.
52
+ - **Ultra Review** (`src/utils/ultra-review.js`): 4-focus code review (security/style/logic/performance). UltraReview tool.
53
+
54
+ ### 🔧 Entegrasyon
55
+
56
+ - `repl.js`: 14 virtual tool inject, plan review flow, permission + hooks + plan mode pipeline (`executeOne()`)
57
+ - `code_v5.js`: Aynı 14 virtual tool, `/plan` CLI, permission/hooks/plan/effort/fallback entegrasyonu
58
+ - `tools.js`: Sandbox strict seviyesinde bash/shell_command network bloklama
59
+ - Otomatik file snapshot: write_file/edit_file çalıştığında history snapshot alınır
60
+
61
+ ### 🧪 Test
62
+
63
+ - 4 yeni test dosyası: tool-hooks (13), permissions (10), plan-mode (15), worktree (9)
64
+ - Toplam: 28 test dosyası, 463 test tamamı yeşil
65
+
66
+ ## [5.7.1] - 2026-06-25 "BUG FIX SPRINT"
67
+
68
+ Comprehensive audit-driven sprint: 7 real runtime bugs fixed, 6 new
69
+ utility modules with ~90%+ test coverage, ESLint + flat config installed,
70
+ test scripts wired to vitest (previously `npm test` was just running
71
+ `--help`). Pure quality / stability no public API change.
72
+
73
+ ### 🐛 Fixed (runtime bugs)
74
+ - **REPL `/system <text>` crashed with TypeError** (`commands/repl.js`):
75
+ systemPrompt was `const` but the slash handler reassigned it. → `let`.
76
+ - **Telegram + IRC + SMS message handlers ReferenceError on every inbound**
77
+ (`commands/gateway-server.js`): `cleanCommand` variable never declared
78
+ in those scopes. Added `stripSlashPrefix(text)` helper mirroring the
79
+ v5.6.41+ WhatsApp transform; all three channels now derive it correctly.
80
+ - **Tool-alias rewrites threw ReferenceError** (`utils/tools.js`): typo
81
+ `TOOL_ALIASES[t.name]` where the local was `ALIAS_MAP`. Fixed.
82
+ - **5 silent `no-undef` ReferenceErrors** across `commands/{chat,nodes,
83
+ gateway,config}.js` + `utils/error.js` missing `require()` calls
84
+ that had been hidden by CommonJS load-order side effects (would
85
+ crash on a fresh process or worker restart).
86
+
87
+ ### 🔒 Security
88
+ - **exec-approvals.json was world-readable (0644)** — local privilege
89
+ escalation hedef. Now 0o600 (file) + 0o700 (parent dir), with
90
+ auto-tightening of pre-existing loose installs. Removed dangling
91
+ `APPROVALS_SOCKET_PATH` constant + unused `net` require (socket never
92
+ existed; storage is the JSON file).
93
+ - **Anthropic `system` field sent as `''` or `undefined`** (api.js): now
94
+ always non-empty via `extractSystemForAnthropic(messages)` helper with
95
+ a meaningful default. Prevents 400 "system: cannot be empty" on
96
+ recent Messages API revisions + unanchored-model drift.
97
+
98
+ ### ⚙️ Reliability
99
+ - **Crash-safe atomic file writes** for sessions, history, memory,
100
+ approvals (new `utils/atomic-file.js`: temp-write + rename(2)).
101
+ Prior `fs.writeFileSync` left truncated JSON on SIGTERM / OOM /
102
+ power loss.
103
+ - **Memory fact cap silent fail fixed** (`tools/memory_write.js`): the
104
+ hardcoded `slice(0, 15)` ran BEFORE push, so once 15 high-score
105
+ facts were saved, every new write was the next iteration's eviction
106
+ victim silently. Now: `MAX_FACTS_PER_USER` default 50 (env
107
+ `NATURECO_MAX_FACTS`), cap applied AFTER push, just-written fact
108
+ pinned at top, `console.warn` on breach (`NATURECO_QUIET_MEMORY=1`
109
+ to silence).
110
+ - **Global `unhandledRejection` + `uncaughtException` handlers**
111
+ (`utils/process-errors.js`, installed as the first statement in
112
+ `bin/natureco.js`): structured audit log entry + friendly Turkish
113
+ stderr + exit 1, instead of Node's default ugly stack dump.
114
+ - **Dashboard port + host de-hardcoded** (`utils/ports.js`):
115
+ `NATURECO_DASHBOARD_PORT` + `NATURECO_DASHBOARD_HOST` env overrides
116
+ with range/format validation. Previously 7421 was inlined in two
117
+ separate modules; drift risk eliminated.
118
+
119
+ ### 🧹 Refactor (DRY)
120
+ - **Streaming tool-call delta accumulator** extracted to
121
+ `utils/streaming-tools.js`. The per-index buffer + string-concat
122
+ pattern was duplicated in `utils/api.js` and `commands/repl.js` —
123
+ any drift between them would silently break tool calling on
124
+ Groq / MiniMax / DeepSeek / OpenAI.
125
+ - **Provider detection** centralized in `utils/provider-detect.js`.
126
+ Three call sites (`utils/api.js`, `commands/setup.js`) used three
127
+ different versions of the URL→provider mapping; the setup.js variant
128
+ was already incorrect (missed `minimax.cn`). Helper makes
129
+ `detectProvider`, `isMiniMax`, `isAnthropic`, `isGroq`, `isOllama`
130
+ the single source of truth.
131
+
132
+ ### 🧪 Testing
133
+ - **`npm test` actually runs tests now** — was previously just
134
+ `node bin/natureco.js help` (a load-smoke). Wired to `vitest run`.
135
+ - **+95 unit tests** across 9 new spec files. Coverage of the new
136
+ utility modules: streaming-tools 97%, provider-detect 100%,
137
+ process-errors 88%, ports ~93%, atomic-file ~93%, memory_write
138
+ internals ~85%.
139
+ - **Test suite: 12 files / 270 tests → 21 files / 365 tests.**
140
+ - `@vitest/coverage-v8` dev dep added; `npm run test:coverage` works.
141
+ - **prepublishOnly gate strengthened**: now runs `node --check` +
142
+ `eslint --quiet` + `vitest run` in sequence. A broken publish to
143
+ `npm install -g natureco-cli` users is now strictly blocked.
144
+
145
+ ### 🔧 Tooling
146
+ - **ESLint v9 flat config added** (`eslint.config.js`):
147
+ `@eslint/js` recommended + warn-level checks for unused-vars,
148
+ useless-escape, case-declarations, control-regex. Test files get
149
+ ES-module sourceType + vitest globals; `src/tools/browser*.js`
150
+ get browser globals for Playwright page.evaluate context.
151
+ Scripts: `npm run lint`, `lint:fix`, `lint:errors-only`.
152
+ After the no-undef fixes: 0 errors (293 unused-vars warnings
153
+ remain for a follow-up sprint).
154
+
155
+ ## [5.7.0] - 2026-06-24 - SOUL SCRUBBED (MINOR)
156
+
157
+ ### Security
158
+ - Personal paths removed from README (Users/gencay/.hermes/sasuke-notes*.md and Downloads/notes.py)
159
+ - soul/ directory removed from repo (7 files: AGENTS, IDENTITY, SOUL, notes/{INDEX,note1-5}.md)
160
+ - Note: files remain in git history; use git filter-repo for full purge
161
+ - Internal docs ignored via .gitignore (DEPLOY_*, LAUNCH, AUDIT, TEST_PLAYBOOK, etc.)
162
+
163
+ ### Changed
164
+ - Minor version bump 5.6.48 -> 5.7.0 (patch cascade rule: 5+ consecutive patches)
165
+
166
+ ## [5.6.48] - 2026-06-24 "README SHARDED"
167
+
168
+ ### 📚 Documentation
169
+ - **README.md + README_EN.md updated** for v5.6.47
170
+ - v5.6.47 + v5.6.46 added to "Recent Releases" table
171
+ - New "v5.6.47 Sharded Memory System" hero section in "What's New"
172
+ - Folder structure diagram (`soul/notes/{INDEX,note1-5}.md`)
173
+ - Cross-project reference to `sasuke-notes*.md`
174
+ - npm registry will reflect updated README on next publish
175
+
176
+ ## [5.6.47] - 2026-06-24 — "SOUL SHARDED"
177
+
178
+ ### Added
179
+ - **soul/notes/ Sharded memory system for NatureCo CLI agent**
180
+ - `INDEX.md` (2 KB) file map, navigation
181
+ - `note1.md` (3 KB) — Patron & persona (Gencay, "Patron" hitap, çilek yasağı)
182
+ - `note2.md` (4 KB) — Project structure, 120+ commands, build/publish workflow
183
+ - `note3.md` (3.8 KB) — Tokens, red lines, masking fixes (npm `.npmrc`, PyPI `/tmp/pypi_token.txt`, GitHub `/Users/gencay/.natureco/github_token`)
184
+ - `note4.md` (6 KB) — 7-step release workflow (local commit → tag → push → publish → cache-bust GitHub release → verify)
185
+ - `note5.md` (5 KB) — Skills, tools, channels, MCP, integrations
186
+ - **SOUL.md updated** to index-based: "read soul/notes/INDEX.md" + 1-line quick reference
187
+ - **Infinite scalability** `note6.md`, `note7.md`... as needed
188
+ - **Pattern mirrors** `/Users/gencay/.hermes/sasuke-notes*.md` for cross-project memory
189
+ - 1009 + 125 = 1134 new lines, ~28 KB detailed context
190
+
191
+ ## [5.6.46] - 2026-06-24 "README OVERHAUL"
192
+
193
+ ### 📚 Documentation
194
+ - **README.md full rewrite** 5.6.x serisine uygun:
195
+ - Hero slogan: "Yapay Zekânın Gücü artık parmaklarının ucunda / Terminalin hızını NatureCo ile keşfet"
196
+ - ASCII art banner
197
+ - Node badge: `>=16.0.0` (package.json engines ile uyumlu)
198
+ - npm version, downloads, GitHub stars badge'leri
199
+ - Quick Start 4 adım: install → setup → chat → code
200
+ - 51 komut / 10 kategori, gerçek örnekler
201
+ - Discord `https://discord.gg/4FwumbWph`, Twitter `https://twitter.com/naturecoofficial`
202
+ - GitHub: `natureco-official/natureco-cli`
203
+ - Karşılaştırma tablosu (Claude Code / Hermes / OpenClaw)
204
+ - 30s setup wizard tanıtımı
205
+
206
+ ### 🎯 Versiyon Notu
207
+ - 5.6.45 5.6.46 (patch bump, README-only release)
208
+ - Kod değişikliği yok, npm sayfası güncellendi
209
+ - Yeni kullanıcılar README üzerinden kurulum yapabilir
210
+
211
+ ---
212
+
213
+ ## [4.2.0] - 2026-06-22 "LAUNCH READY"
214
+
215
+ ### 🚀 Headline
216
+ **v4.2.0 ile NatureCo CLI npm'e publish'a hazır.** OpenClaw'ın açık ara üstünü.
217
+
218
+ ### ✨ Added
219
+ - **package.json launch-ready:**
220
+ - Açıklayıcı description, 18 keywords (SEO optimize)
221
+ - `repository`, `bugs`, `homepage`, `author` (Gencay Olgun) alanları
222
+ - `postinstall` script: `natureco doctor` otomatik çalışır
223
+ - `prepublishOnly`: syntax check + test
224
+ - Files: README, CHANGELOG, AUDIT, DEPLOY docs dahil
225
+ - **LAUNCH.md** Pazarlama materyali:
226
+ - Reddit/HN/Twitter/Medium/Discord mesajları (Parton imzalı)
227
+ - Hedef kitle segmentleri
228
+ - 30-gün başarı metrikleri
229
+ - Launch checklist
230
+ - **npm publish adımları** dokümante edildi
231
+
232
+ ### 📊 Final İstatistikler
233
+ - 152 JS dosyası (8 yeni eklendi)
234
+ - 32K+ satır kod
235
+ - 11 utility modülü (5 yeni)
236
+ - 95+ CLI komutu (8 yeni)
237
+ - 8 phase, 0 blocking bug
238
+ - v2.23.32 v4.2.0 (8 minor versiyon)
239
+
240
+ ### 🎯 Hedef
241
+ - İlk hafta: 1,000 npm indirme
242
+ - İlk ay: 500 GitHub yıldız, 200 aktif kullanıcı
243
+
244
+ ---
245
+
246
+ ## 🏁 TÜM PHASE'LER TAMAMLANDI
247
+
248
+ - [x] Phase 0: Audit
249
+ - [x] Phase 1: Brand & Onboarding (v3.0.0)
250
+ - [x] Phase 2: Defense-in-Depth (v3.1.0)
251
+ - [x] Phase 3: Self-Evolving Skills (v3.2.0)
252
+ - [x] Phase 4: Cost-Optimized (v3.3.0)
253
+ - [x] Phase 5: Developer Experience (v3.4.0)
254
+ - [x] Phase 6: NatureCo Native (v4.0.0)
255
+ - [x] Phase 7: Multi-Agent (v4.1.0)
256
+ - [x] Phase 8: Launch Ready (v4.2.0)
257
+
258
+ **OpenClaw'ın yerini almaya hazırız.** 🌿
259
+
260
+ ### 🤖 Headline
261
+ Tek agent değil, **agent ağı**. OpenClaw single-agent — NatureCo multi-agent.
262
+
263
+ ### Added
264
+ - **`src/utils/sub-agent.js`** genişletildi: 38 agent tipi
265
+ - `explore`, `general`, `review` (mevcut)
266
+ - **Yeni:** `seo`, `content`, `security`, `translator`, `debugger`
267
+ - Her biri farklı system prompt ile uzmanlaşmış
268
+ - **`natureco team`** Multi-agent orkestrasyon komutu
269
+ - `team list`: 8 agent tipi ve açıklamaları
270
+ - `team status`: Son çalışan agent istatistikleri (toplam/çalışan/tamamlanan/başarısız)
271
+ - `team spawn <type> <task>`: Tek agent çalıştır (token kullanım raporu ile)
272
+ - `team parallel '<json>'`: N agent paralel çalıştır, sonuçları birleştir
273
+ - **Mevcut `spawnSubAgent`/`spawnParallel` altyapısı** zaten vardı (Phase 7 bunu sadece genişletti)
274
+
275
+ ### 🔜 Final Phase
276
+ - v4.2.0 — Phase 8: Launch & marketing
277
+
278
+ ### 🌿 Headline
279
+ Generic agent değil, **NatureCo platformunun native parçası**. OpenClaw generic NatureCo natureco.me'ye özel.
280
+
281
+ ### ✨ Added
282
+ - **`natureco naturehub`** — Nature Hub topluluk akışına içerik yayınla (post|list|trending|config)
283
+ - Token tabanlı, `natureco config set naturehubToken`
284
+ - Offline: yerel JSONL'e kaydeder, API hazır olunca gönderir
285
+ - **`natureco medium`** Parton'un ayda 4 makale hedefi için (draft|publish|list)
286
+ - Markdown dosyasından taslak/yayın
287
+ - Medium integration token gerektirir
288
+ - Yerel taslak kayıt (`~/.natureco/medium-drafts/`)
289
+ - **`natureco seo`** URL SEO denetimi (audit|meta|speed)
290
+ - Title, description, canonical, OG, Twitter Card, schema.org
291
+ - H1-H3 heading analizi, image alt kontrolü
292
+ - Word count ve 100-üzerinden skor
293
+ - **Test: natureco.me 71/100, H1 eksik bildirildi**
294
+ - **`natureco xp`** Gamification (stats|leaderboard|rewards)
295
+ - 8 seviye: Tohum Galaksi (0 12,000 XP)
296
+ - 7 farklı ödül (sticker → Founder statüsü)
297
+ - XP history (son 100 kayıt)
298
+
299
+ ### 🎯 Phase 6 Canlı Test
300
+ - **SEO audit natureco.me**: 71/100 skor, H1 eksikliği, title uzunluğu tespit edildi
301
+ - **XP sistemi**: 0 XP, Lv.1 Tohum, sonraki Filiz (100 XP)
302
+
303
+ ### 🔜 Coming
304
+ - v4.1.0 Phase 7: Multi-agent orkestrasyon (sub-agents)
305
+ - v4.2.0 — Phase 8: Launch & marketing
306
+
307
+ ### 🖥️ Headline
308
+ OpenClaw "kara kutu". NatureCo CLI **şeffaf** tüm veriler tek bir local dashboard'da.
309
+
310
+ ### Added
311
+ - **`src/utils/dashboard-server.js`** Local web dashboard
312
+ - Port 7421, vanilla JS + HTML (framework yok)
313
+ - 6 widget: bugünkü maliyet, yüklü skill, aktif cron, audit kayıtları, provider bazlı maliyet, self-evolving proposals, son tool çağrıları
314
+ - Otomatik 5 saniyede bir yenileme (auto-refresh)
315
+ - JSON API endpoint (`/api`)
316
+ - PID file ile kolay durdurma
317
+ - **`src/commands/dashboard.js`** `natureco dashboard [start|status|stop|url]`
318
+ - Port kontrolü (zaten çalışıyor mu?)
319
+ - Process kill ile temiz shutdown
320
+ - macOS/Windows/Linux uyumlu tarayıcı açma
321
+
322
+ ### 📊 Phase 5 Dashboard Test
323
+ - HTTP 200, 8575 byte HTML
324
+ - API JSON: tüm Phase 3 proposal verileri görünüyor
325
+ - Real-time auto-refresh çalışıyor
326
+
327
+ ### 🔜 Coming
328
+ - v4.0.0 — Phase 6: NatureCo özgü entegrasyonlar (naturehub, medium, seo)
329
+ - v4.1.0 — Phase 7: Multi-agent orkestrasyon
330
+ - v4.2.0 — Phase 8: Launch & marketing
331
+
332
+ ### 💰 Headline
333
+ OpenClaw kullanıcıları ayda $50-200 token faturası ödüyor. NatureCo hedef: $5-15/ay akıllı routing ile.
334
+
335
+ ### ✨ Added
336
+ - **`src/utils/cost-tracker.js`** — Maliyet hesaplama ve model router
337
+ - 21 model × provider için güncel fiyat tablosu (Groq, OpenAI, Anthropic, DeepSeek, Together, Fireworks, Ollama)
338
+ - Token USD dönüşümü (input/output ayrı)
339
+ - **Model router**: 4 karmaşıklık seviyesi (simple/medium/complex/creative)
340
+ - Basit soru llama-3.1-8b-instant ($0.05 in)
341
+ - Kod llama-3.3-70b-versatile veya claude-sonnet
342
+ - Yaratıcı yazı → claude-sonnet veya gpt-4o
343
+ - **Otomatik karmaşıklık tahmini**: prompt içeriğinden (kod işaretleri, anahtar kelimeler, uzunluk)
344
+ - **Bütçe sistemi**: günlük $5, aylık $100 limit, %75 uyarı, %90 otomatik downgrade
345
+ - **`src/commands/cost.js`**`natureco cost [today|week|month|all|budget|set|model|prices]`
346
+ - Renkli bar chart'lar
347
+ - Provider ve model bazlı breakdown
348
+ - Bütçe durumu görselleştirmesi
349
+ - **`bin/natureco.js`** — `cost` komutu kayıtlı
350
+
351
+ ### 📊 Phase 4 Test Sonucu
352
+ - 3 farklı provider kullanımı kaydedildi $0.0252 toplam
353
+ - Basit prompt: `groq:llama-3.1-8b-instant` önerildi (en ucuz)
354
+ - Karmaşık kod prompt: `groq:llama-3.3-70b-versatile` önerildi
355
+ - Bütçe görsel: %1 kullanım (günlük limit $5)
356
+
357
+ ### 🔜 Coming
358
+ - v3.4.0 — Phase 5: Geliştirici deneyimi (dashboard)
359
+ - v4.0.0 Phase 6-8: NatureCo native + launch
360
+
361
+ ### 🧠 Headline
362
+ Kullanımın tekrar eden pattern'lerinden otomatik skill oluştur. Hermes Agent'tan ilham, NatureCo uyarlaması.
363
+
364
+ ### Added
365
+ - **`src/utils/pattern-detector.js`** — Tool çağrı pattern detector
366
+ - Normalize: URL'ler, dosya yolları, sayılar, UUID'ler, ISO tarihler, email'ler, hex string'ler generic hale getirilir
367
+ - Sliding window (son 1-5 çağrı)
368
+ - Aynı pattern 3+ kez tekrar proposal oluştur
369
+ - 24 saat cooldown (aynı pattern'i tekrar önerme)
370
+ - Persistent log: `~/.natureco/patterns.json`
371
+ - Proposal kayıt: `~/.natureco/skill-proposals.json`
372
+ - **`src/commands/skills.js`** 4 yeni alt komut:
373
+ - `skills suggest` Bekleyen proposal'ları göster
374
+ - `skills accept <id>` Proposal'ı SKILL.md olarak oluştur
375
+ - `skills reject <id>` Proposal'ı reddet
376
+ - `skills forget` Pattern hafızasını sıfırla
377
+ - **Otomatik SKILL.md üretimi** — accepted proposal'lardan `~/.natureco/skills/<name>/SKILL.md`
378
+ - **Audit entegrasyonu** Her skill kabulü `SKILL_AUTO` action'ı olarak loglanır
379
+
380
+ ### 🐛 Fixed
381
+ - Pattern detector'da fingerprint bug'ı: normalize edilmiş string'ler tekrar normalize ediliyordu (boş pattern üretiyordu)
382
+
383
+ ### 🔜 Coming
384
+ - v3.3.0 — Phase 4: Maliyet optimizasyonu (model router, token budget)
385
+ - v3.4.0 — Phase 5: Geliştirici deneyimi (dashboard)
386
+
387
+ ### 🛡️ Headline
388
+ OpenClaw'ın en zayıf olduğu alan: güvenlik. v3.1.0 ile NatureCo CLI artık OpenClaw'tan **açık ara daha güvenli**.
389
+
390
+ ### ✨ Added
391
+ - **`src/utils/audit.js`**Merkezi audit log sistemi (JSONL, 30 gün retention, async, non-blocking)
392
+ - 19 action tipi (command, approval, tool, auth, secret, config, cron, skill, error, info)
393
+ - 24 saat istatistik, dosya bazlı günlük log'lar, auto-cleanup
394
+ - **`src/utils/secret-scanner.js`** 22 bilinen secret pattern tespiti (OpenAI, Anthropic, Groq, AWS, GitHub, Slack, Stripe, Tavily, HuggingFace, Replicate, Firecrawl, NatureCo, JWT, private key, vs)
395
+ - Shannon entropi analizi (bilinmeyen format yüksek entropi secret'lar)
396
+ - Otomatik maskeleme (`sk-a***9012`)
397
+ - Cross-platform dosya tarama (skip: node_modules, .git, dist, lock files)
398
+ - **`src/commands/audit.js`** `natureco audit [today|stats|show|search|files|cleanup|tail]`
399
+ - Renkli action kategorileri
400
+ - 24 saat bar chart
401
+ - Canlı tail modu (yeni kayıtları real-time göster)
402
+ - **`bin/natureco.js`** `audit` komutu kayıtlı
403
+ - **`src/commands/doctor.js`** 2 yeni check:
404
+ - `auditLog`: Audit dizini yazılabilir mi?
405
+ - `secretsClean`: Çalışma dizininde secret var mı?
406
+
407
+ ### 📊 Phase 2 Doctor Sonuçları
408
+ - **10 check** toplam (Phase 1'de 8, ilk halde 5)
409
+ - 6/10 geçti (fresh setup'ta config henüz yok — beklenen)
410
+
411
+ ### 🔜 Coming
412
+ - v3.2.0 — Phase 3: Self-evolving skills
413
+ - v3.3.0 — Phase 4: Maliyet optimizasyonu
414
+ - v3.4.0 Phase 5: Geliştirici deneyimi
415
+
416
+ ### 🔥 Headline
417
+ OpenClaw'dan daha güvenli, daha hızlı, daha ucuz. İlk kurulum 60 saniye.
418
+
419
+ ### Added
420
+ - **First-run auto-detection** (`bin/natureco.js`) — `natureco` (boş argüman) kurulum yoksa otomatik setup wizard'a yönlendirir
421
+ - **`src/utils/branding.js`** merkezi brand kimliği (renkler, ASCII art, daily tip)
422
+ - **Doctor 3 yeni check:** `apiKeyValid`, `providerReachable`, `dataDirs` (auto-fix ile)
423
+ - **Setup wizard** artık tam NatureCo logosuyla açılıyor (eski ASCII cat yerine)
424
+ - **README v3.0 notları + OpenClaw karşılaştırma tablosu**
425
+
426
+ ### 🐛 Fixed
427
+ - **Doctor `diskSpace` bug:** `os.freemem()` (RAM) kullanıyordu, artık gerçek disk alanı (`df -k`, Windows: `Get-PSDrive`)
428
+ - **README/package.json versiyon senkron:** 2.19.1 → 3.0.0
429
+ - **README Node engine:** >=16 → >=18 (package.json ile uyumlu)
430
+
431
+ ### 📁 Audit (Phase 0)
432
+ - 152 JS dosyası, syntax %100 temiz, 0 require hatası
433
+ - 10 TODO/FIXME, 10 boş fonksiyon, 5 deprecated existsSync tespit edildi
434
+ - AUDIT.md oluşturuldu
435
+
436
+ ### 🔜 Coming in next versions
437
+ - v3.1.0 — Phase 2: Defense-in-depth güvenlik (approval v2, audit log, sandbox)
438
+ - v3.2.0 — Phase 3: Self-evolving skills
439
+ - v3.3.0 Phase 4: Maliyet optimizasyonu (model router)
440
+ - v3.4.0 Phase 5: Geliştirici deneyimi (dashboard)
441
+ - v4.0.0 Phase 6-8: NatureCo native + launch
442
+
443
+ ## [1.0.0] - 2026-05-10
444
+
445
+ ### Added
446
+
447
+ #### Core Features
448
+ - **First-Time Setup Wizard**
449
+ - Automatic setup on first run
450
+ - Interactive API key validation with live check
451
+ - Bot selection from user's bots
452
+ - Optional Telegram integration
453
+ - Creates `~/.natureco/` directory structure
454
+ - Beautiful boxed interface
455
+ - Can be run manually with `natureco setup`
456
+
457
+ - **Authentication System**
458
+ - Login/logout with API key
459
+ - Secure storage in `~/.natureco/config.json`
460
+ - Support for both `nco_` and `nc_` key formats
461
+
462
+ - **Bot Management**
463
+ - List available bots
464
+ - Interactive chat with bots
465
+ - Bot switching within chat
466
+
467
+ - **Gateway Screen**
468
+ - Beautiful boxed interface
469
+ - Login status display
470
+ - Active bot information
471
+ - Skill and MCP server counts
472
+
473
+ #### Project Management
474
+ - **Project Initialization**
475
+ - `natureco init` command
476
+ - Creates `.natureco/` folder structure
477
+ - Interactive bot and skill selection
478
+ - Generates `config.json` and `AGENTS.md`
479
+
480
+ - **Configuration System**
481
+ - Global config: `~/.natureco/config.json`
482
+ - Project config: `.natureco/config.json`
483
+ - Get/set/list commands
484
+ - Hierarchical config management
485
+
486
+ #### Skills System
487
+ - **Three-Tier Hierarchy**
488
+ - Built-in skills (code-review, summarize, translate)
489
+ - User skills (`~/.natureco/skills/`)
490
+ - Project skills (`.natureco/skills/`)
491
+
492
+ - **Skill Management**
493
+ - List installed skills
494
+ - Install from NatureHub
495
+ - Remove skills
496
+ - Update all skills
497
+ - Create new skill templates
498
+
499
+ - **Skill Features**
500
+ - Automatic prompt injection in chat
501
+ - Requirement gating (bins, env vars, OS)
502
+ - SKILL.md format with frontmatter
503
+ - Metadata validation
504
+
505
+ #### Chat Features
506
+ - **Interactive Chat**
507
+ - Real-time conversation with bots
508
+ - Readline interface with arrow key support
509
+ - Command history (last 100 commands)
510
+ - Conversation history saved to `~/.natureco/history/`
511
+
512
+ - **Chat Commands**
513
+ - `/clear` - Clear screen
514
+ - `/bot [name]` - Switch bot or list bots
515
+ - `/skills` - Show active skills
516
+ - `/help` - Show chat help
517
+ - `exit`, `quit` - Exit chat
518
+
519
+ - **Quick Commands**
520
+ - `natureco ask "<question>"` - Single-shot questions
521
+ - `natureco run <script.md>` - Run markdown scripts
522
+ - Pipe support for ask command
523
+
524
+ #### MCP Server Support
525
+ - **Server Management**
526
+ - List MCP servers
527
+ - Add servers (interactive or template-based)
528
+ - Remove servers
529
+ - Test connections
530
+ - Enable/disable servers
531
+
532
+ - **Ready Templates**
533
+ - `filesystem` - File system operations
534
+ - `github` - GitHub operations
535
+ - `postgres` - PostgreSQL database
536
+ - `sqlite` - SQLite database
537
+ - `brave-search` - Web search
538
+
539
+ - **Configuration**
540
+ - Stored in `~/.natureco/config.json`
541
+ - Environment variable support
542
+ - Auto-approve lists
543
+ - Disable/enable flags
544
+
545
+ #### AGENTS.md Support
546
+ - Project-specific bot instructions
547
+ - Automatic prompt injection in chat
548
+ - Markdown format
549
+ - Created during `natureco init`
550
+
551
+ #### Update System
552
+ - **Auto-Update Notifications**
553
+ - Checks every 24 hours
554
+ - Notifies when new version available
555
+ - Uses update-notifier package
556
+
557
+ - **Manual Update Check**
558
+ - `natureco update` command
559
+ - Shows current and latest versions
560
+ - Provides update instructions
561
+
562
+ #### UI/UX
563
+ - Colorful terminal interface with chalk
564
+ - Loading animations with spinners
565
+ - Boxed gateway screen
566
+ - Monospace formatting
567
+ - Error messages in Turkish
568
+ - Cross-platform support (Windows, macOS, Linux)
569
+
570
+ ### Technical Details
571
+
572
+ #### Dependencies
573
+ - `chalk@4.1.2` - Terminal colors
574
+ - `commander@11.1.0` - CLI framework
575
+ - `inquirer@8.2.7` - Interactive prompts
576
+ - `boxen@5.1.2` - Terminal boxes
577
+ - `ora@5.4.1` - Spinners
578
+ - `conf@10.2.0` - Config management
579
+ - `update-notifier@6.0.2` - Update notifications
580
+
581
+ #### API Integration
582
+ - Base URL: `https://api.natureco.me`
583
+ - Endpoints:
584
+ - `GET /api/v1/bots` - List bots
585
+ - `POST /api/agent/chat` - Chat with bot
586
+ - Headers:
587
+ - `Authorization: Bearer <apiKey>`
588
+ - `X-User-ID: cli-user`
589
+ - Platform identifier: `cli`
590
+
591
+ #### File Structure
592
+ ```
593
+ ~/.natureco/
594
+ ├── config.json # Global config
595
+ ├── skills/ # User skills
596
+ └── history/ # Chat history
597
+ └── <bot-id>.json
598
+
599
+ .natureco/ # Project folder
600
+ ├── config.json # Project config
601
+ ├── AGENTS.md # Bot instructions
602
+ └── skills/ # Project skills
603
+ ```
604
+
605
+ ### Commands
606
+
607
+ ```bash
608
+ natureco # Gateway screen (runs setup if needed)
609
+ natureco setup # Run setup wizard
610
+ natureco login # Login
611
+ natureco logout # Logout
612
+ natureco bots # List bots
613
+ natureco chat <bot> # Start chat
614
+ natureco ask "<question>" # Quick question
615
+ natureco run <script.md> # Run script
616
+ natureco init # Initialize project
617
+ natureco skills [action] # Manage skills
618
+ natureco mcp [action] # Manage MCP servers
619
+ natureco config <action> # Manage config
620
+ natureco update # Check updates
621
+ natureco help # Show help
622
+ ```
623
+
624
+ ### Requirements
625
+ - Node.js >= 18.0.0 (for native fetch)
626
+ - npm or yarn
627
+ - NatureCo API key
628
+
629
+ ### License
630
+ MIT
631
+
632
+ ## [4.9.1] - 2026-06-22 "SELF-COMPLETE TOOLSET"
633
+
634
+ ### Yeni: 14 Tool Eklendi (Toplam: 45)
635
+ Parton'un vizyonu: "kendi araçlarimi ekle". Hermes'te olan araçlarin aynisi.
636
+
637
+ #### macOS Native Tools (6 yeni)
638
+ - **calendar_add** - macOS Calendar'a etkinlik ekle (AppleScript)
639
+ - **reminder_add** - macOS Reminders'a hatirlatici
640
+ - **notes_add** - Apple Notes'a not
641
+ - **mac_notify** - Notification Center bildirimi
642
+ - **mac_app_open** / **mac_app_quit** - Uygulama kontrol
643
+
644
+ #### Sistem & Shell (5 yeni)
645
+ - **code_execution** - Python/Node/Bash sandbox
646
+ - **shell_command** - Tek shell komutu (find, ls, df, vb.)
647
+ - **http_request** - HTTP GET/POST/PUT/DELETE
648
+ - **bash** (zaten vardi, guncellendi)
649
+
650
+ #### Dosya & Arama (4 yeni)
651
+ - **file_search** - Glob pattern ile dosya arama (**/*.js)
652
+ - **grep_search** - Icerik arama (ripgrep veya grep)
653
+ - **filesystem**, **list_dir** (zaten vardi)
654
+
655
+ #### Yönetim & Verimlilik (6 yeni)
656
+ - **todo_write** - Yapilacaklar listesi (list/add/done/remove)
657
+ - **kanban** - Kanban board (todo/in_progress/done kolonlar)
658
+ - **memory_search** - Kalici hafizada ve session'larda arama
659
+ - **cron_create** - Zamanlanmis gorev olusturma
660
+ - **notebook_edit** - Jupyter notebook hucre duzenleme
661
+ - **delegate_task** - Alt-agent gorev devretme
662
+
663
+ #### AI & Medya (zaten vardi + Pollinations fallback)
664
+ - **image_generation** - v4.8.4'te Pollinations.ai (ucretsiz) eklendi
665
+ - **media_understanding** - Gorsel analiz (OpenAI/Anthropic/Groq)
666
+ - **text_to_speech** - macOS say / edge-tts
667
+
668
+ ### İyilestirmeler
669
+ - **Tool calling tam entegre** - v4.8.0'da basladi, v4.9.1'de tamamlandi
670
+ - **OpenAI uyumlu tool calling** - MiniMax, OpenAI, Anthropic, Groq hepsi
671
+ - **Auto-fallback** - Key yoksa ucretsiz alternatife gec (Pollinations)
672
+ - **Tool UI feedback** - Her tool cagrisi 🔧 Tool: ... ile gosteriliyor
673
+
674
+ ### Düzeltmeler
675
+ - **macos.js** (tek dosya, birden fazla tool) 6 ayri dosyaya bolundu
676
+ - **file_search.js** syntax hatasi (JSDoc icindeki yildiz) duzeltildi
677
+ - **REPL'in tool registry** - Yeni tool'lar REPL acilisinda otomatik yukleniyor
678
+
679
+ ### Toplam Ilerleme
680
+ - v2.23 (baslangic): ~12 tool
681
+ - v3.0-v4.0: +5 tool (brand, audit, cost, dashboard, seo)
682
+ - v4.5-v4.7: +8 tool (xp, team, naturehub, medium, repl, vb.)
683
+ - v4.8: Tool calling tam entegre (28 tool)
684
+ - **v4.9.1: 45 tool** - Parton'un vizyonu: "kendi araçlarim olsun"
685
+
686
+ ### Kullanim
687
+ ```bash
688
+ natureco repl
689
+ > "Yarin 14:00 doktor randevum var" # calendar_add
690
+ > "Spotify ac" # mac_app_open
691
+ > "src/ icindeki TODO'lari bul" # grep_search
692
+ > "Python ile 2+2 hesapla" # code_execution
693
+ > "Tum TODO'lari goster" # todo_write
694
+ ```
695
+
696
+ ## [5.1.0] - 2026-06-22 "SELF-GENERATING SKILLS"
697
+
698
+ ### Yeni: skill_generate Tool (48. Tool)
699
+ Parton'un vizyonu: "Ihtiyaca gore skill yoksa kendi uretsin". LLM ile yeni bir skill talimati uretir, diske kaydeder ve hemen kullanima sunar.
700
+
701
+ #### Nasil calisir
702
+ 1. Kullanici REPL'de bir istek yapar (ornek: "PDF dosyalarini birlestir")
703
+ 2. Mevcut 47 tool/skill ile cozum yoksa `skill_generate` otomatik devreye girer
704
+ 3. LLM'a (MiniMax, OpenAI, vs) skill taslagi uretmesi icin istek gonderilir
705
+ 4. SKILL.md + metadata.json `~/.natureco/skills/<auto-name>/` altina kaydedilir
706
+ 5. Skill hemen REPL'de kullanilabilir olur
707
+
708
+ #### Test
709
+ ```
710
+ > "PDF dosyalarini tek bir PDF dosyasinda birlestir"
711
+ Tool: skill_generate
712
+ Args: {"taskDescription":"..."}
713
+ Result: skill olusturuldu, hemen kullanilabilir!
714
+ ```
715
+
716
+ ### Duzeltmeler
717
+ - **file_search regex bug**: `**/*.js` pattern'i patliyordu (`Nothing to repeat`). Placeholder + escape sirasini degistirdik, artik calisiyor.
718
+ - **v4.5.1 tui.C.cyan/accent**: TUI engine palette'inde yoktu, `amber` ile degistirildi.
719
+ - **code_v5.js legacy code komutu**: v5.0'da eski v2.23 kodu eski yere fallback (`--legacy` flag).
720
+
721
+ ### Istatistikler (final)
722
+ - **Toplam tool**: 48 (Phase 9'da 1'den basladi)
723
+ - **Toplam komut**: 100+
724
+ - **Toplam satır kod**: ~6000 (bin + src)
725
+ - **Phase 1-9**: 9 buyuk iterasyon
726
+ - **Patch versiyonlari (v4.6-v5.1)**: 14+
727
+ - **npm latest**: 5.1.0
728
+ - **CHANGELOG**: tam
729
+ - **README**: v4.5+, guncel
730
+ - **Doc (natureco.me/cli)**: 9116 char, hazir
731
+ - **Pazarlama**: HN, Reddit, Medium yazilari hazir
732
+
733
+ ### Ozellik Matrisi (Final)
734
+ - **AI & Media (6):** image_generation, media_understanding, text_to_speech, llm_task, canvas, audio_understanding
735
+ - **Dosya (6):** read_file, write_file, list_dir, filesystem, file_search, grep_search
736
+ - **Sistem (5):** bash, code_execution, shell_command, http_request, git
737
+ - **Web (6):** web_search, web_readability, exa_search, duckduckgo, firecrawl, browser
738
+ - **macOS Native (6):** calendar_add, reminder_add, notes_add, mac_notify, mac_app_open, mac_app_quit
739
+ - **Verimlilik (5):** todo_write, kanban, memory_search, cron_create, notebook_edit
740
+ - **Sistem Tools (5):** delegate_task, skills_marketplace, skills_autoload, skill_generate, audio_understanding
741
+ - **Diger (8):** document_extract, image_generation, duckduckgo, exa_search, firecrawl, http, audio_understanding, document_extract
742
+
743
+ ### Yayin Bilgisi
744
+ - **NPM**: https://npmjs.com/package/natureco-cli
745
+ - **Versiyon**: 5.1.0
746
+ - **Kurulum**: `npm install -g natureco-cli`
747
+ - **Lisans**: MIT
748
+
749
+ ## [5.3.0] - 2026-06-22 "VOICE EDITION + AUTO-MEMORY"
750
+
751
+ ### Yeni: voice_chat Tool (52. Tool)
752
+ Parton'un vizyonu: "Bilgisayarla konusayim".
753
+ - macOS'ta mikrofondan ses kaydi (`rec` + `sox`)
754
+ - Whisper API ile ses → metin donusumu (Turkce)
755
+ - Cevabi macOS `say` ile sesli oku
756
+ - Hands-free agent kullanimi
757
+
758
+ ### Yeni: Otomatik Memory Extractor (REPL'e entegre)
759
+ v5.3.0 ile REPL, kullanicinin kişisel bilgi verdigini anlayip otomatik kaydeder:
760
+ - 'adım X' → memory'ye 'Adı: X' yaz
761
+ - 'sevdiğim X' → preference kategorisinde
762
+ - 'ben X yapıyorum' → work kategorisinde
763
+ - 'X tutkunuyum' → hobby kategorisinde
764
+ - 'sen benim patronumsun' → botName='Patronum' olarak degistir
765
+ - 'adın X olsun' → botName=X olarak kaydet
766
+
767
+ Bu sayede Parton'un vizyonu gerceklesiyor: "her seferinde hatirlatmayacagim, beni hatirlayacak".
768
+
769
+ ### Bagimlilik Temizligi (v5.2.1)
770
+ - chalk 4 → 5
771
+ - commander 11 → 12
772
+ - pino 8 → 9
773
+ - json5 kaldirildi (transitive dependency)
774
+ - npm audit temizlendi
775
+
776
+ ### Testler (51 → 52 tool)
777
+ - %88 basarili test (Parton'un son test raporu)
778
+ - Tum Phase 1 bug'lari duzeltildi
779
+ - macOS native integration tamamlandi