clew-code 0.4.2 → 0.4.5

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.
Files changed (3) hide show
  1. package/README.md +239 -281
  2. package/dist/main.js +1671 -1670
  3. package/package.json +162 -161
package/README.md CHANGED
@@ -1,292 +1,250 @@
1
- <div align="center">
2
-
3
- <img src="assets/clew-logo-long.png" alt="Clew Code" width="480" />
4
-
5
- # Clew Code
6
-
7
- **The open-source, multi-provider AI coding agent in your terminal and on your LAN.**
8
-
9
- A local-first coding CLI that writes code, learns your preferences, coordinates across machines, and runs autonomously on your own hardware. One Bun bundle, 27 provider adapters, a persistent memory system, and a peer-to-peer LAN swarm.
10
-
11
- [![GitHub stars](https://img.shields.io/github/stars/ClewCode/ClewCode?style=social)](https://github.com/ClewCode/ClewCode/stargazers)
12
- [![Release](https://img.shields.io/github/v/release/ClewCode/ClewCode)](https://github.com/ClewCode/ClewCode/releases)
13
- [![npm](https://img.shields.io/npm/v/clew-code)](https://www.npmjs.com/package/clew-code)
14
- [![CI](https://img.shields.io/github/actions/workflow/status/ClewCode/ClewCode/ci.yml?branch=main)](https://github.com/ClewCode/ClewCode/actions/workflows/ci.yml)
15
- [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](#license)
16
- [![Platform](https://img.shields.io/badge/platform-macOS%20·%20Windows%20·%20Linux-lightgrey.svg)](#install)
17
- [![Built with Bun](https://img.shields.io/badge/built%20with-Bun-ff69b4.svg)](https://bun.sh)
18
-
19
- [GitHub](https://github.com/ClewCode/ClewCode) · [Website](https://clew-code.org) · [Releases](https://github.com/ClewCode/ClewCode/releases) · [Wiki](https://github.com/ClewCode/ClewCode/wiki) · [Issues](https://github.com/ClewCode/ClewCode/issues)
20
-
21
- </div>
22
-
23
- ---
24
-
25
- ## What is Clew Code?
26
-
27
- Clew Code is an AI coding agent that lives in your terminal. Unlike single-vendor tools, it is **provider-agnostic** — bring an API key from OpenAI, Google, DeepSeek, Groq, OpenRouter, a local Ollama model, or any of 27 supported providers, and switch between them mid-session.
28
-
29
- It is built around three ideas:
30
-
31
- - **Local-first.** Your code, memory, and configuration stay on your machine. Ships as a single Bun bundle with no required cloud backend.
32
- - **It remembers.** A SQLite-backed memory system learns your decisions, taste, and project structure, then budgets that context back into every prompt.
33
- - **It scales across machines.** Discover other Clew instances on your LAN, assign tasks, sync memory, and broadcast commands to a swarm.
34
-
35
- ---
36
-
37
- ## Install
38
-
39
- ### One-liner (recommended)
40
-
41
- Installs Bun if missing, then installs `clew-code` and drops you into a ready terminal.
42
-
43
- **macOS / Linux**
44
- ```bash
45
- curl -fsSL https://raw.githubusercontent.com/ClewCode/ClewCode/main/scripts/install.sh | bash
46
- ```
47
-
48
- **Windows (PowerShell as Admin)**
49
- ```powershell
50
- irm https://raw.githubusercontent.com/ClewCode/ClewCode/main/scripts/install.ps1 | iex
51
- ```
52
-
53
- ### npm
54
-
55
- ```bash
56
- npm install -g clew-code
57
- ```
58
-
59
- ### From source
60
-
61
- ```bash
62
- git clone https://github.com/ClewCode/ClewCode.git
63
- cd ClewCode
64
- bun install && bun run build && bun run start
65
- ```
66
-
67
- **Requirements:** [Bun](https://bun.sh) 1.3+, Git, and at least one provider API key. Node.js 18+ is supported as a fallback runtime.
68
-
69
- <details>
70
- <summary><b>Platform notes</b></summary>
71
-
72
- - **macOS** — works out of the box (Apple Silicon & Intel).
73
- - **Linux** no special dependencies.
74
- - **Windows** — requires Git Bash, WSL, or PowerShell. The ComputerUse tool also works on macOS/Linux with `ENABLE_COMPUTER_USE=1`.
75
- </details>
76
-
77
- ---
78
-
79
- ## Quick start
80
-
81
- ```bash
82
- # Launch in any project — pick a provider on first run
83
- cd my-project
84
- clew
85
- ```
86
-
87
- Set a provider key via environment variable, or configure it inside the REPL:
88
-
89
- ```bash
90
- export OPENAI_API_KEY=sk-...
91
- export GOOGLE_API_KEY=...
92
- export DEEPSEEK_API_KEY=...
93
- export GROQ_API_KEY=...
94
- export OPENROUTER_API_KEY=...
95
- export OLLAMA_HOST=http://localhost:11434
96
- ```
97
-
98
- ```bash
99
- # One-shot mode (pipe-friendly)
100
- clew -p "summarize CHANGELOG.md"
101
-
102
- # Resume your last session
103
- clew --resume last
104
- ```
105
-
106
- Inside the REPL:
107
-
108
- ```text
109
- ❯ /model gpt-5.5 # switch provider/model mid-session
110
- ❯ /model ollama/llama3.3 # go fully local
111
- ❯ /status # provider, model, context usage
112
- ❯ /goal "tests pass" # track + verify task completion
113
- ❯ /memory dashboard # memory system status
114
- ❯ /peer discover # find Clew instances on the LAN
115
- ❯ /mcp list # connected MCP servers
116
- ❯ /help # list everything
117
- ```
118
-
119
- ---
120
-
121
- ## Features
122
-
123
- ### Multi-provider
124
- **27 providers** — OpenAI, Google Gemini & Code Assist, DeepSeek, Groq, xAI (Grok), Mistral, Cohere, Perplexity, Cerebras, Moonshot (Kimi), Zhipu (GLM), NVIDIA NIM, OpenRouter, OpenCode, KiloCode, Sakana AI, Ollama, Together AI, Fireworks AI, Deep Infra, SiliconFlow, Hugging Face, Poe, DigitalOcean, Cline, and custom endpoints. Switch any time with `/model`. *(Anthropic models are reachable via OpenRouter or Cline.)*
125
-
126
- ### Memory system (MiMo-inspired)
127
- A SQLite-backed memory store with importance ranking, confidence scoring, access tracking, and timeline logging. It auto-initializes and scans your project on first use, then injects a token-budgeted selection of memories (ranked by importance × recency × confidence) into the system prompt each turn. Durable facts are extracted automatically during context compaction, and **Dream** (7-day) + **Distill** (30-day) jobs consolidate memory over time. See it all in `/memory dashboard`.
128
-
129
- ### Peer-to-peer LAN swarm
130
- Discover other Clew instances on the same machine (file registry) or across the LAN (UDP multicast). Assign tasks, set roles, and broadcast shell commands to every peer in parallel with `/peer swarm`. Memory syncs between peers on demand or on a cron. All endpoints are protected by a per-instance auth token, with a 10 MB request-body limit.
131
-
132
- ### Autonomous agent loop
133
- A file-backed persistent task queue with lease-based concurrency, exponential-backoff retry, and dead-letter handling. A cron scheduler runs recurring jobs, up to 3 concurrent workers.
134
-
135
- ### Goals & verification
136
- `/goal` tracks task completion with heuristic pre-checks (exit codes, test output, lint results), chained goals via `then`, and templates like `fix-build` and `green-tests`. When the agent declares a task done, an independent LLM verifier reviews the conversation against the goal and reports any gaps.
137
-
138
- ### 70+ built-in tools
139
- Read, Write, Edit, Glob, Grep, Bash, WebSearch, WebFetch, Browser (Playwright), NotebookEdit, LSP, subagent dispatch (`Agent`), 17 LAN peer-coordination tools, MCP tools, `delegate` (exec/pty to external CLIs), and agent-driven memory curation.
140
-
141
- ### Extensible
142
- - **MCP** — connect external tools over stdio, SSE (with OAuth), or in-process DirectConnect.
143
- - **Skills, plugins, hooks** — extend without touching source. Skills via `SKILL.md`, plugins via manifest, and hooks at every lifecycle stage (PreToolUse, PostToolUse, PreBash, PostPrompt, PreAcceptEdit).
144
- - **8 permission modes** — default, ask, plan, auto, acceptEdits, bypassPermissions, dontAsk, guardian, with granular allow/deny pattern rules.
1
+ <div align="center">
2
+
3
+ <img src="assets/clew-logo-long.png" alt="Clew Code" width="480" />
4
+
5
+ # Clew Code
6
+
7
+ **An open-source, multi-provider AI coding agent for the terminal.**
8
+
9
+ A reverse-engineered, local-first coding CLI inspired by Claude Code. It runs on your own hardware with your own API keys no vendor lock-in.
10
+
11
+ [![GitHub stars](https://img.shields.io/github/stars/ClewCode/ClewCode?style=social)](https://github.com/ClewCode/ClewCode/stargazers)
12
+ [![Release](https://img.shields.io/github/v/release/ClewCode/ClewCode)](https://github.com/ClewCode/ClewCode/releases)
13
+ [![npm](https://img.shields.io/npm/v/clew-code)](https://www.npmjs.com/package/clew-code)
14
+ [![CI](https://img.shields.io/github/actions/workflow/status/ClewCode/ClewCode/ci.yml?branch=main)](https://github.com/ClewCode/ClewCode/actions/workflows/ci.yml)
15
+ [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](#license)
16
+ [![Platform](https://img.shields.io/badge/platform-macOS%20·%20Windows%20·%20Linux-lightgrey.svg)](#install)
17
+ [![Built with Bun](https://img.shields.io/badge/built%20with-Bun-ff69b4.svg)](https://bun.sh)
18
+
19
+ [GitHub](https://github.com/ClewCode/ClewCode) · [Website](https://clew-code.org) · [Issues](https://github.com/ClewCode/ClewCode/issues)
20
+
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## What is Clew Code?
26
+
27
+ Clew Code is an AI coding agent that lives in your terminal. It is **provider-agnostic** — bring an API key from OpenAI, Google, DeepSeek, Groq, OpenRouter, a local Ollama model, or any supported provider, and switch between them mid-session.
28
+
29
+ It is built around three ideas:
30
+
31
+ - **Local-first.** Your code, memory, and configuration stay on your machine. Ships as a single Bun bundle with no required cloud backend.
32
+ - **It remembers.** A SQLite-backed memory system stores decisions, preferences, and project context, then injects relevant information back into prompts.
33
+ - **It scales across machines.** Discover other Clew instances on your LAN, assign tasks, sync memory, and broadcast commands to a swarm.
34
+
35
+ ---
36
+
37
+ ## Install
38
+
39
+ ### npm
40
+
41
+ ```bash
42
+ npm install -g clew-code
43
+ ```
44
+
45
+ ### From source
46
+
47
+ ```bash
48
+ git clone https://github.com/ClewCode/ClewCode.git
49
+ cd ClewCode
50
+ bun install && bun run build && bun run start
51
+ ```
52
+
53
+ **Requirements:** [Bun](https://bun.sh) 1.3+, Git, and at least one provider API key.
54
+
55
+ <details>
56
+ <summary><b>Platform notes</b></summary>
57
+
58
+ - **macOS** — works out of the box (Apple Silicon & Intel).
59
+ - **Linux** — no special dependencies.
60
+ - **Windows** — requires Git Bash, WSL, or PowerShell.
61
+ </details>
62
+
63
+ ---
64
+
65
+ ## Quick start
66
+
67
+ ```bash
68
+ # Launch in any project — pick a provider on first run
69
+ cd my-project
70
+ clew
71
+ ```
72
+
73
+ Set a provider key via environment variable, or configure it inside the REPL:
74
+
75
+ ```bash
76
+ export OPENAI_API_KEY=sk-...
77
+ export GOOGLE_API_KEY=...
78
+ export DEEPSEEK_API_KEY=...
79
+ export GROQ_API_KEY=...
80
+ export OPENROUTER_API_KEY=...
81
+ export OLLAMA_HOST=http://localhost:11434
82
+ ```
83
+
84
+ ```bash
85
+ # One-shot mode (pipe-friendly)
86
+ clew -p "summarize CHANGELOG.md"
87
+
88
+ # Resume your last session
89
+ clew --resume last
90
+ ```
91
+
92
+ Inside the REPL:
93
+
94
+ ```text
95
+ /model gemini-2.5-flash # switch provider/model mid-session
96
+ ❯ /model ollama/llama3.3 # go fully local
97
+ ❯ /status # provider, model, context usage
98
+ ❯ /goal "tests pass" # track + verify task completion
99
+ ❯ /memory dashboard # memory system status
100
+ /peer discover # find Clew instances on the LAN
101
+ ❯ /mcp list # connected MCP servers
102
+ ❯ /help # list everything
103
+ ```
145
104
 
146
105
  ---
147
106
 
148
- ## SWE-bench Verified
107
+ ## Features
108
+
109
+ ### Multi-provider
110
+ Supports OpenAI, Google Gemini & Code Assist, DeepSeek, Groq, xAI (Grok), Mistral, Cohere, Perplexity, Cerebras, Moonshot (Kimi), Zhipu (GLM), NVIDIA NIM, OpenRouter, OpenCode, KiloCode, Sakana AI, Ollama, Together AI, Fireworks AI, Deep Infra, SiliconFlow, Hugging Face, Poe, DigitalOcean, Cline, and custom endpoints. Switch any time with `/model`. Anthropic models are reachable via OpenRouter or Cline.
111
+
112
+ ### Memory system
113
+ A SQLite-backed memory store with importance ranking, confidence scoring, and access tracking. It auto-initializes and scans your project on first use, then injects a token-budgeted selection of memories into the system prompt each turn. Durable facts are extracted during context compaction, and background jobs consolidate memory over time.
149
114
 
150
- Clew Code ships a SWE-bench Verified evaluation harness modeled after the public
151
- agent-comparison workflow used by projects like ClawCodex: a FastAPI wrapper
152
- around `clew -p`, a `prepare`/`run` driver, prediction JSONL output, and optional
153
- Docker harness execution.
115
+ ### Peer-to-peer LAN swarm
116
+ Discover other Clew instances on the same machine or across the LAN. Assign tasks, set roles, and broadcast shell commands to every peer in parallel. Team memory sync with conflict resolution and delta uploads.
154
117
 
155
- No official Clew Code SWE-bench score is claimed in this repository yet. See
156
- [`eval/README.md`](eval/README.md) to run a smoke batch, full Verified split, or
157
- side-by-side comparison with another agent.
118
+ ### Tools
119
+ Built-in tools for file I/O (Read, Write, Edit, Glob, Grep), shell commands (Bash), web (WebSearch, WebFetch, browser via Playwright), task tracking, LSP integration, subagent dispatch (`Agent`), LAN peer coordination, MCP tools, and agent-driven memory curation.
120
+
121
+ ### Extensible
122
+ - **MCP** — connect external tools over stdio, SSE, or in-process DirectConnect.
123
+ - **Skills, plugins, hooks** — extend without touching source. Skills via `SKILL.md`, plugins via manifest, and lifecycle hooks (PreToolUse, PostToolUse, PreBash, PostPrompt, PreAcceptEdit).
124
+ - **Permission modes** — default, ask, plan, auto, acceptEdits, bypassPermissions, dontAsk, guardian.
125
+
126
+ ### Other capabilities
127
+ - **Goals & verification** — track task completion with chained goals and independent LLM verification.
128
+ - **Autonomous agent loop** — persistent task queue with lease-based concurrency, retry, and dead-letter handling.
129
+ - **Context compaction** — recursive compression when the context window fills.
130
+ - **Checkpoints** — progress snapshots with a scratchpad for layered rebuild during compaction.
158
131
 
159
132
  ---
160
133
 
161
134
  ## Execution layers
162
135
 
163
136
  Clew Code runs work at several layers, each for a different job:
164
-
165
- | Layer | What it is | Use it for |
166
- |-------|-----------|------------|
167
- | **Agent** | An AI worker with a prompt, model, tools, and permissions. The main chat is an agent; custom ones live in `.clew/agents/*.md`. | The session itself. |
168
- | **Subagent** | A short-lived child launched via the `Agent` tool (e.g. read-only `Explore`). | Independent investigation, test triage, review. |
169
- | **Teammate / Swarm** | A longer-lived agent with identity, mailbox, and task coordination. | Multi-turn collaboration between named workers. |
170
- | **LAN Peer** | Another Clew instance on the same machine or network, reached via `/peer`. | Distributing work across machines. |
171
- | **Process Peer** | A local worker that delegates to an external CLI (e.g. Codex) via `exec`/`pty`. | Running another coding tool as a subprocess. |
172
-
173
- Other runtime concepts: **Plan mode** (full-access planning that persists to `.clew/plans/`), **multi-pass compaction** (recursive context compression when the window fills), and **structured checkpoints** (progress snapshots at 20/45/70% with a `notes.md` scratchpad, used for layered rebuild during compaction).
174
-
175
- ---
176
-
177
- ## Commands
178
-
179
- <details>
180
- <summary><strong>100+ slash commands</strong></summary>
181
-
182
- ```
183
- /model Switch provider or model
184
- /status Provider, session, context info
185
- /doctor Diagnostics
186
- /context Active context usage
187
- /compact Compress history + extract memories
188
- /goal Track and verify task completion
189
- /memory Memory: init, scan, rebuild, recall, feedback, dashboard, search
190
- /peer LAN peers: discover, send, swarm, dashboard, memory sync/auto
191
- /daemon Autonomous daemon dashboard
192
- /task Scheduled tasks
193
- /mcp MCP server management
194
- /plugin Plugin and hook management
195
- /skills List and manage skills
196
- /code-review Review changed files for bugs
197
- /simplify Cleanup-focused review
198
- /guardian Auto-review mode using a secondary LLM
199
- /approve Override guardian denials
200
- /pr GitHub PR lifecycle
201
- /plan Plan mode
202
- /fork Fork conversation into a new session
203
- /rewind Undo last response
204
- /effort Set reasoning effort
205
- /stats Session statistics and cost breakdown
206
- /voice Voice input via browser Web Speech API
207
- /remote WebSocket remote control
208
- /bridge Bridge mode config
209
- /session Session management
210
- /theme Theme switcher
211
- /vim Vim keybindings
212
- /login Sign in via Clew Gateway
213
- /logout Sign out
214
- /upgrade Check for updates
215
- ```
216
-
217
- </details>
218
-
219
- ---
220
-
221
- ## Project layout
222
-
223
- <details>
224
- <summary><strong>src/ — single-entry Bun bundle</strong></summary>
225
-
226
- ```
227
- src/
228
- ├── main.tsx # Entry point
229
- ├── QueryEngine.ts # Core query + tool loop
230
- ├── commands/ # Slash command implementations
231
- ├── tools/ # Built-in tools
232
- ├── services/
233
- │ ├── ai/ # Provider manager + adapters
234
- │ ├── mcp/ # MCP client + auth + transports
235
- │ ├── plugins/ # Plugin hooks + marketplace
236
- │ ├── autonomous/ # Agent loop + task queue + cron
237
- │ ├── search/ # Web search providers
238
- │ ├── checkpoint/ # Structured progress checkpoints
239
- ├── goal/ # Goal evaluation and verification
240
- ├── longTermMemory/ # Dream (7d) + Distill (30d)
241
- │ └── compact/ # Context compression
242
- ├── peer/ # PeerServer + PeerDiscovery
243
- ├── memory/ # MemoryDB + scanner + feedback
244
- ├── bridge/ # WebSocket bridge + relay
245
- ├── components/ # Ink terminal UI
246
- └── hooks/ # React hooks
247
- ```
248
-
249
- </details>
250
-
251
- ---
252
-
253
- ## Development
254
-
255
- ```bash
256
- bun run dev # Live reload
257
- bun run build # Build to dist/
258
- bun test # Run tests
259
- bun x tsc --noEmit # Type-check
260
- bun run check:ci # Lint + format check (Biome CI)
261
- ```
262
-
263
- **Windows**
264
- ```powershell
265
- Remove-Item -Recurse -Force node_modules
266
- bun install; bun run dev
267
- ```
268
-
269
- ---
270
-
271
- ## Contributing
272
-
273
- Contributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md), and [SECURITY.md](SECURITY.md) first.
274
-
275
- **Good first issues**
276
- - Add a provider adapter in `src/services/ai/`
277
- - Write tests for untested tools
278
- - Improve docs and examples
279
- - Build a plugin or MCP server
280
- - Improve Windows support
281
-
282
- <a href="https://github.com/ClewCode/ClewCode/graphs/contributors">
283
- <img src="https://contrib.rocks/image?repo=ClewCode/ClewCode" alt="Contributors" />
284
- </a>
285
-
286
- ---
287
-
288
- ## License
289
-
290
- See [LICENSE.md](LICENSE.md). The license covers only contributor-authored modifications and original additions; it does not grant rights to third-party software, models, or trademarks.
291
-
292
- Full version history: [CHANGELOG.md](CHANGELOG.md).
137
+
138
+ | Layer | What it is | Use it for |
139
+ |-------|-----------|------------|
140
+ | **Agent** | An AI worker with a prompt, model, tools, and permissions. The main chat is an agent; custom ones live in `.clew/agents/*.md`. | The session itself. |
141
+ | **Subagent** | A short-lived child launched via the `Agent` tool. | Independent investigation, test triage, review. |
142
+ | **Teammate / Swarm** | A longer-lived agent with identity, mailbox, and task coordination. | Multi-turn collaboration between named workers. |
143
+ | **LAN Peer** | Another Clew instance on the same machine or network, reached via `/peer`. | Distributing work across machines. |
144
+ | **Process Peer** | A local worker that delegates to an external CLI via `exec`/`pty`. | Running another coding tool as a subprocess. |
145
+
146
+ ---
147
+
148
+ ## Commands
149
+
150
+ <details>
151
+ <summary><strong>Slash commands</strong></summary>
152
+
153
+ ```
154
+ /model Switch provider or model
155
+ /status Provider, session, context info
156
+ /doctor Diagnostics
157
+ /context Active context usage
158
+ /compact Compress history + extract memories
159
+ /goal Track and verify task completion
160
+ /memory Memory: init, scan, rebuild, recall, feedback, dashboard, search
161
+ /peer LAN peers: discover, send, swarm, dashboard, memory sync
162
+ /daemon Autonomous daemon dashboard
163
+ /task Scheduled tasks
164
+ /mcp MCP server management
165
+ /plugin Plugin and hook management
166
+ /skills List and manage skills
167
+ /code-review Review changed files for bugs
168
+ /simplify Cleanup-focused review
169
+ /guardian Auto-review mode using a secondary LLM
170
+ /approve Override guardian denials
171
+ /pr GitHub PR lifecycle
172
+ /plan Plan mode
173
+ /fork Fork conversation into a new session
174
+ /rewind Undo last response
175
+ /effort Set reasoning effort
176
+ /stats Session statistics
177
+ /voice Voice input
178
+ /remote WebSocket remote control
179
+ /bridge Bridge mode config
180
+ /session Session management
181
+ /theme Theme switcher
182
+ /vim Vim keybindings
183
+ /login Sign in via Clew Gateway
184
+ /logout Sign out
185
+ /upgrade Check for updates
186
+ ```
187
+
188
+ </details>
189
+
190
+ ---
191
+
192
+ ## Project layout
193
+
194
+ <details>
195
+ <summary><strong>src/ — single-entry Bun bundle</strong></summary>
196
+
197
+ ```
198
+ src/
199
+ ├── main.tsx # Entry point
200
+ ├── QueryEngine.ts # Core query + tool loop
201
+ ├── commands/ # Slash command implementations
202
+ ├── tools/ # Built-in tools
203
+ ├── services/
204
+ ├── ai/ # Provider manager + adapters
205
+ ├── mcp/ # MCP client + auth + transports
206
+ │ ├── plugins/ # Plugin hooks + marketplace
207
+ │ ├── autonomous/ # Agent loop + task queue + cron
208
+ │ ├── search/ # Web search providers
209
+ │ ├── checkpoint/ # Structured progress checkpoints
210
+ │ ├── goal/ # Goal evaluation and verification
211
+ │ ├── longTermMemory/ # Memory consolidation
212
+ └── compact/ # Context compression
213
+ ├── peer/ # PeerServer + PeerDiscovery
214
+ ├── memory/ # MemoryDB + scanner + feedback
215
+ ├── bridge/ # WebSocket bridge + relay
216
+ ├── components/ # Ink terminal UI
217
+ └── hooks/ # React hooks
218
+ ```
219
+
220
+ </details>
221
+
222
+ ---
223
+
224
+ ## Development
225
+
226
+ ```bash
227
+ bun run dev # Live reload
228
+ bun run build # Build to dist/
229
+ bun test # Run tests
230
+ bun x tsc --noEmit # Type-check
231
+ bun run check:ci # Lint + format check (Biome CI)
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Contributing
237
+
238
+ Contributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md), [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md), and [SECURITY.md](SECURITY.md) first.
239
+
240
+ <a href="https://github.com/ClewCode/ClewCode/graphs/contributors">
241
+ <img src="https://contrib.rocks/image?repo=ClewCode/ClewCode" alt="Contributors" />
242
+ </a>
243
+
244
+ ---
245
+
246
+ ## License
247
+
248
+ See [LICENSE.md](LICENSE.md).
249
+
250
+ Full version history: [CHANGELOG.md](CHANGELOG.md).