clew-code 0.2.21 → 0.2.22

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 (66) hide show
  1. package/dist/main.js +1861 -1856
  2. package/docs/architecture.html +91 -148
  3. package/docs/assets/clew-agent-loop.png +0 -0
  4. package/docs/assets/clew-general-architecture.png +0 -0
  5. package/docs/assets/clew-mcp-architecture.png +0 -0
  6. package/docs/assets/clew-p2p-swarm.png +0 -0
  7. package/docs/changelog.html +150 -0
  8. package/docs/cli-reference.html +90 -0
  9. package/docs/commands.html +156 -265
  10. package/docs/configuration.html +85 -147
  11. package/docs/contributing.html +91 -0
  12. package/docs/css/styles.css +425 -425
  13. package/docs/daemon.html +62 -129
  14. package/docs/features/bridge-mode.html +61 -66
  15. package/docs/features/evals.html +57 -149
  16. package/docs/features/searxng-search.html +58 -118
  17. package/docs/features/sentry-setup.html +61 -124
  18. package/docs/index.html +137 -125
  19. package/docs/installation.html +77 -105
  20. package/docs/internals/growthbook-ab-testing.html +69 -91
  21. package/docs/internals/hidden-features.html +81 -143
  22. package/docs/js/main.js +29 -0
  23. package/docs/loop.html +69 -181
  24. package/docs/mcp.html +99 -247
  25. package/docs/models.html +69 -110
  26. package/docs/permission-model.html +86 -102
  27. package/docs/plugins.html +84 -102
  28. package/docs/providers.html +87 -127
  29. package/docs/quick-start.html +81 -93
  30. package/docs/research-memory.html +71 -102
  31. package/docs/security.html +71 -0
  32. package/docs/skills.html +67 -117
  33. package/docs/swarm.html +78 -236
  34. package/docs/tools.html +152 -151
  35. package/docs/troubleshooting.html +86 -106
  36. package/docs/voice-mode.html +79 -0
  37. package/package.json +1 -1
  38. package/docs/architecture.th.html +0 -79
  39. package/docs/clew-code-architecture.html +0 -1126
  40. package/docs/commands.th.html +0 -269
  41. package/docs/configuration.th.html +0 -108
  42. package/docs/daemon.th.html +0 -73
  43. package/docs/features/bridge-mode.th.html +0 -62
  44. package/docs/features/evals.th.html +0 -62
  45. package/docs/features/searxng-search.th.html +0 -67
  46. package/docs/features/sentry-setup.th.html +0 -69
  47. package/docs/features/swarm.html +0 -156
  48. package/docs/generated/providers.html +0 -625
  49. package/docs/generated/tools.html +0 -558
  50. package/docs/index.th.html +0 -292
  51. package/docs/installation.th.html +0 -105
  52. package/docs/internals/growthbook-ab-testing.th.html +0 -60
  53. package/docs/internals/hidden-features.th.html +0 -107
  54. package/docs/loop.th.html +0 -227
  55. package/docs/mcp.th.html +0 -207
  56. package/docs/models.th.html +0 -61
  57. package/docs/permission-model.th.html +0 -67
  58. package/docs/plugins.th.html +0 -79
  59. package/docs/prompts-and-features.html +0 -806
  60. package/docs/providers.th.html +0 -81
  61. package/docs/quick-start.th.html +0 -89
  62. package/docs/research-memory.th.html +0 -72
  63. package/docs/skills.th.html +0 -90
  64. package/docs/swarm.th.html +0 -280
  65. package/docs/tools.th.html +0 -84
  66. package/docs/troubleshooting.th.html +0 -85
@@ -1,147 +1,85 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Configuration — Clew</title>
7
- <meta name="description" content="Comprehensive configuration guide for Clew CLI flags, environment variables, settings file, and in-session commands.">
8
- <link rel="preconnect" href="https://fonts.googleapis.com">
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
- <link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
11
- <link rel="stylesheet" href="css/styles.css">
12
- <link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
13
- </head>
14
- <body>
15
- <header class="header"></header>
16
- <div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
17
- <div class="content-wrap"><main class="content">
18
- <div class="breadcrumbs"><a href="index.html">Home</a><span class="sep">/</span><span>Configuration</span></div>
19
- <h1>Configuration</h1>
20
- <p class="section-subtitle">Clew is configured through CLI flags (Commander.js), environment variables, a JSON settings file (validated with Zod), and in-session slash commands.</p>
21
-
22
- <h2>CLI Flags</h2>
23
- <p>Defined in <code>src/main.tsx</code> with Commander.js <code>.option()</code> and <code>.addOption()</code>:</p>
24
- <table>
25
- <tr><th>Flag</th><th>Description</th></tr>
26
- <tr><td><code>-p, --print</code></td><td>Print response and exit (useful for pipes). Skips workspace trust dialog.</td></tr>
27
- <tr><td><code>--bare</code></td><td>Minimal mode: skip hooks, LSP, plugins, attribution, auto-memory, keychain reads, CLEW.md discovery. Sets CLEW_CODE_SIMPLE=1.</td></tr>
28
- <tr><td><code>-d, --debug [filter]</code></td><td>Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")</td></tr>
29
- <tr><td><code>--debug-file &lt;path&gt;</code></td><td>Write debug logs to a file</td></tr>
30
- <tr><td><code>--verbose</code></td><td>Override verbose mode setting from config</td></tr>
31
- <tr><td><code>--model &lt;model&gt;</code></td><td>Model for the current session (alias or full ID)</td></tr>
32
- <tr><td><code>--effort &lt;level&gt;</code></td><td>Effort level: low, medium, high, max</td></tr>
33
- <tr><td><code>--agent &lt;agent&gt;</code></td><td>Agent for the current session</td></tr>
34
- <tr><td><code>--permission-mode &lt;mode&gt;</code></td><td>Permission mode (default, ask, plan, auto, acceptEdits, bypassPermissions, dontAsk)</td></tr>
35
- <tr><td><code>--dangerously-skip-permissions</code></td><td>Bypass all permission checks (sandbox only)</td></tr>
36
- <tr><td><code>--allow-dangerously-skip-permissions</code></td><td>Enable bypass as an option without enabling by default</td></tr>
37
- <tr><td><code>--allowedTools, --allowed-tools</code></td><td>Comma/space-separated tool names to allow (e.g., "Bash(git:*) Edit")</td></tr>
38
- <tr><td><code>--disallowedTools, --disallowed-tools</code></td><td>Comma/space-separated tool names to deny</td></tr>
39
- <tr><td><code>--tools &lt;tools...&gt;</code></td><td>Specify available tools from built-in set</td></tr>
40
- <tr><td><code>--mcp-config &lt;configs...&gt;</code></td><td>Load MCP servers from JSON files or strings</td></tr>
41
- <tr><td><code>--strict-mcp-config</code></td><td>Only use MCP servers from --mcp-config</td></tr>
42
- <tr><td><code>--plugin-dir &lt;path&gt;</code></td><td>Load plugins from a directory (repeatable)</td></tr>
43
- <tr><td><code>--settings &lt;file-or-json&gt;</code></td><td>Path to a settings JSON file or JSON string</td></tr>
44
- <tr><td><code>--add-dir &lt;directories...&gt;</code></td><td>Additional directories to allow tool access</td></tr>
45
- <tr><td><code>--system-prompt &lt;prompt&gt;</code></td><td>Custom system prompt</td></tr>
46
- <tr><td><code>--system-prompt-file &lt;file&gt;</code></td><td>Read system prompt from a file</td></tr>
47
- <tr><td><code>--append-system-prompt &lt;prompt&gt;</code></td><td>Append to default system prompt</td></tr>
48
- <tr><td><code>--continue, -c</code></td><td>Continue the most recent conversation</td></tr>
49
- <tr><td><code>--resume, -r [value]</code></td><td>Resume a conversation by session ID or picker</td></tr>
50
- <tr><td><code>--fork-session</code></td><td>When resuming, create a new session ID</td></tr>
51
- <tr><td><code>--session-id &lt;uuid&gt;</code></td><td>Use a specific session ID</td></tr>
52
- <tr><td><code>--name, -n &lt;name&gt;</code></td><td>Display name for this session</td></tr>
53
- <tr><td><code>--agents &lt;json&gt;</code></td><td>JSON defining custom agents</td></tr>
54
- <tr><td><code>--output-format &lt;format&gt;</code></td><td>text, json, or stream-json (with --print)</td></tr>
55
- <tr><td><code>--input-format &lt;format&gt;</code></td><td>text or stream-json (with --print)</td></tr>
56
- <tr><td><code>--json-schema &lt;schema&gt;</code></td><td>JSON Schema for structured output validation</td></tr>
57
- <tr><td><code>--thinking &lt;mode&gt;</code></td><td>Thinking mode: enabled, adaptive, disabled</td></tr>
58
- <tr><td><code>--max-turns &lt;turns&gt;</code></td><td>Max agentic turns in non-interactive mode</td></tr>
59
- <tr><td><code>--max-budget-usd &lt;amount&gt;</code></td><td>Max API spend (print mode only)</td></tr>
60
- <tr><td><code>--fallback-model &lt;model&gt;</code></td><td>Fallback when primary model is overloaded</td></tr>
61
- <tr><td><code>--betas &lt;betas...&gt;</code></td><td>Beta headers for API requests</td></tr>
62
- <tr><td><code>--ide</code></td><td>Auto-connect to IDE on startup</td></tr>
63
- <tr><td><code>--chrome / --no-chrome</code></td><td>Enable/disable Chrome integration</td></tr>
64
- <tr><td><code>--computer</code></td><td>Enable Computer Use tool (Windows only)</td></tr>
65
- <tr><td><code>--no-session-persistence</code></td><td>Disable session save to disk (print mode only)</td></tr>
66
- <tr><td><code>--disable-slash-commands</code></td><td>Disable all skills</td></tr>
67
- <tr><td><code>--prefill &lt;text&gt;</code></td><td>Pre-fill prompt input without submitting</td></tr>
68
- <tr><td><code>--file &lt;specs...&gt;</code></td><td>Download file resources at startup</td></tr>
69
- </table>
70
-
71
- <h2>Environment Variables</h2>
72
-
73
- <h3>Provider API Keys</h3>
74
- <p>29 providers set one or more. See <a href="providers.html">Providers page</a> for the full list.</p>
75
-
76
- <h3>Runtime &amp; Feature Flags</h3>
77
- <table>
78
- <tr><th>Variable</th><th>Purpose</th></tr>
79
- <tr><td><code>DEBUG</code></td><td>Debug logging with optional category filter</td></tr>
80
- <tr><td><code>NO_COLOR</code> / <code>FORCE_COLOR</code></td><td>Terminal color control</td></tr>
81
- <tr><td><code>BRIDGE_MODE=1</code></td><td>Enable WebSocket bridge for remote control</td></tr>
82
- <tr><td><code>VOICE_MODE=1</code></td><td>Enable voice mode</td></tr>
83
- <tr><td><code>KAIROS=1</code></td><td>Enable proactive/brief/assistant features</td></tr>
84
- <tr><td><code>ENABLE_LSP_TOOL=1</code></td><td>Enable LSP tool integration</td></tr>
85
- <tr><td><code>ENABLE_COMPUTER_USE=1</code></td><td>Enable Computer Use tool (Windows)</td></tr>
86
- <tr><td><code>CLEWCODE_NO_RESPAWN</code></td><td>Disable process respawn</td></tr>
87
- <tr><td><code>CODE_INDEX=1</code></td><td>Enable fuzzy code search tool</td></tr>
88
- <tr><td><code>AGENT_TRIGGERS=1</code></td><td>Enable autonomous scheduled task triggers</td></tr>
89
- <tr><td><code>SENTRY_DSN</code></td><td>Enable Sentry error reporting (opt-in)</td></tr>
90
- <tr><td><code>TAVILY_API_KEY</code></td><td>Tavily web search (highest priority)</td></tr>
91
- <tr><td><code>BRAVE_API_KEY</code></td><td>Brave web search</td></tr>
92
- <tr><td><code>SERPER_API_KEY</code></td><td>Serper web search</td></tr>
93
- <tr><td><code>SEARXNG_INSTANCE_URL</code></td><td>Self-hosted SearXNG URL</td></tr>
94
- </table>
95
-
96
- <h2>Settings File</h2>
97
- <p>Config file at <code>~/.clew/settings.json</code> (TypeBox-validated). Stores:</p>
98
- <ul>
99
- <li>Default provider and model</li>
100
- <li>Permission mode and rules</li>
101
- <li>Workspace directories</li>
102
- <li>Plugin and MCP server configs</li>
103
- <li>Theme and UI preferences</li>
104
- <li>Session persistence settings</li>
105
- </ul>
106
-
107
- <h2>Config Paths</h2>
108
- <table>
109
- <tr><th>Path</th><th>Content</th></tr>
110
- <tr><td><code>~/.clew/settings.json</code></td><td>Main configuration (TypeBox schema)</td></tr>
111
- <tr><td><code>~/.clew/credentials/</code></td><td>Stored credentials</td></tr>
112
- <tr><td><code>~/.clew/sessions/</code></td><td>Session persistence</td></tr>
113
- <tr><td><code>~/.clew/logs/</code></td><td>Debug and error logs</td></tr>
114
- <tr><td><code>~/.clew/skills/</code></td><td>User-installed skills</td></tr>
115
- <tr><td><code>.clew/skills/</code></td><td>Project-level skills</td></tr>
116
- </table>
117
-
118
- <h2>In-Session Configuration</h2>
119
- <pre><code>/config # Open config panel (aliases: settings)
120
- /theme # Change the theme
121
- /color # Set prompt bar color
122
- /keybindings # Edit keybindings
123
- /permissions # Manage permission rules</code></pre>
124
-
125
- <h2>Build Configuration</h2>
126
- <p>Build via <code>bun run build</code> with compile-time feature defines:</p>
127
- <pre><code># In src/main.tsx:
128
- --define.TRANSCRIPT_CLASSIFIER=true # Enables auto permission mode
129
- --define.CHICAGO_MCP=true # Enables Chicago MCP features
130
- --define.VOICE_MODE=true # Enables voice input support</code></pre>
131
-
132
- <footer class="footer">
133
- <span>Clew Code 0.2.14 — Open Source</span>
134
- <div class="footer-links">
135
- <a href="https://github.com/ClewCode/ClewCode">GitHub</a>
136
- <a href="https://github.com/ClewCode/ClewCode/issues">Issues</a>
137
- </div>
138
- </footer>
139
- </main>
140
- <nav class="toc-sidebar"></nav>
141
- </div>
142
- </div>
143
- <script src="js/main.js"></script>
144
- </body>
145
- </html>
146
-
147
-
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Configuration — Clew Code</title>
7
+ <meta name="description" href="Configure Clew Code via settings.json, environment variables, and CLI flags.">
8
+ <link rel="icon" type="image/svg+xml" href="assets/clew.svg">
9
+ <link rel="preconnect" href="https://fonts.googleapis.com">
10
+ <link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
11
+ <link rel="stylesheet" href="css/styles.css">
12
+ </head>
13
+ <body>
14
+ <header class="header"></header>
15
+ <div id="sidebarOverlay" class="sidebar-overlay"></div>
16
+ <aside id="sidebar" class="sidebar"></aside>
17
+
18
+ <div class="content-wrap">
19
+ <div class="content">
20
+
21
+ <div class="breadcrumbs"><a href="index.html">Home</a><span class="sep">/</span><span class="current">Configuration</span></div>
22
+
23
+ <h1>Configuration</h1>
24
+
25
+ <h2 id="settings">settings.json</h2>
26
+ <p>Shared settings live in <code>.clew/settings.json</code> (checked into the repo) and private settings live in <code>.clew/settings.local.json</code> (gitignored).</p>
27
+ <pre><code class="language-json">{
28
+ "permission": "default",
29
+ "provider": "openai",
30
+ "model": "gpt-5.5",
31
+ "theme": "dark",
32
+ "autoUpdate": true
33
+ }
34
+ </code></pre>
35
+
36
+ <h2 id="env">Environment Variables</h2>
37
+ <p>Set provider API keys as environment variables:</p>
38
+ <pre><code class="language-bash">export ANTHROPIC_API_KEY=sk-ant-...
39
+ export OPENAI_API_KEY=sk-...
40
+ export GOOGLE_API_KEY=...
41
+ export DEEPSEEK_API_KEY=sk-...
42
+ export GROQ_API_KEY=gsk_...
43
+ export MISTRAL_API_KEY=...
44
+ export OPENROUTER_API_KEY=...
45
+ export OLLAMA_HOST=http://localhost:11434
46
+ </code></pre>
47
+ <p>The app also reads from <code>.env</code> files in the project root.</p>
48
+
49
+ <h2 id="cli-flags">CLI Flags</h2>
50
+ <table>
51
+ <thead>
52
+ <tr><th>Flag</th><th>Description</th></tr>
53
+ </thead>
54
+ <tbody>
55
+ <tr><td><code>-p, --prompt</code></td><td>One-shot mode: run a prompt and exit</td></tr>
56
+ <tr><td><code>--resume &lt;id&gt;</code></td><td>Resume a previous session (use <code>last</code> for most recent)</td></tr>
57
+ <tr><td><code>--version</code></td><td>Print version and exit</td></tr>
58
+ </tbody>
59
+ </table>
60
+
61
+ <h2 id="permission">Permission Mode</h2>
62
+ <p>Set the permission mode in settings or switch at runtime:</p>
63
+ <pre><code class="language-bash">❯ /permissions plan # full-access planning mode
64
+ /permissions auto # auto-approve safe tools
65
+ </code></pre>
66
+ <p>See <a href="permission-model.html">Permission Model</a> for all modes.</p>
67
+
68
+ <h2 id="mcp">MCP Configuration</h2>
69
+ <p>MCP servers are configured in <code>.mcp.json</code> at the project root:</p>
70
+ <pre><code class="language-json">{
71
+ "mcpServers": {
72
+ "filesystem": {
73
+ "command": "npx",
74
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
75
+ }
76
+ }
77
+ }
78
+ </code></pre>
79
+ <p>See <a href="mcp.html">MCP docs</a> for details.</p>
80
+ </div>
81
+ </div>
82
+
83
+ <script src="js/main.js"></script>
84
+ </body>
85
+ </html>
@@ -0,0 +1,91 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Contributing — Clew Code</title>
7
+ <meta name="description" content="How to contribute to Clew Code.">
8
+ <link rel="icon" type="image/svg+xml" href="assets/clew.svg">
9
+ <link rel="preconnect" href="https://fonts.googleapis.com">
10
+ <link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
11
+ <link rel="stylesheet" href="css/styles.css">
12
+ </head>
13
+ <body>
14
+ <header class="header"></header>
15
+ <div id="sidebarOverlay" class="sidebar-overlay"></div>
16
+ <aside id="sidebar" class="sidebar"></aside>
17
+
18
+ <div class="content-wrap">
19
+ <div class="content">
20
+
21
+ <div class="breadcrumbs"><a href="index.html">Home</a><span class="sep">/</span><span class="current">Contributing</span></div>
22
+
23
+ <h1>Contributing</h1>
24
+ <p class="sub">Thank you for your interest in contributing to Clew Code.</p>
25
+
26
+ <h2 id="scope">Scope of Contributions</h2>
27
+ <p>Contributions should be limited to material you have the right to submit and license.</p>
28
+ <p><strong>Do not contribute:</strong></p>
29
+ <ul>
30
+ <li>Proprietary source code</li>
31
+ <li>Leaked or copied code</li>
32
+ <li>Private documentation</li>
33
+ <li>Credentials, API keys, tokens, or secrets</li>
34
+ <li>Material copied from Anthropic's proprietary products or private services</li>
35
+ <li>Code that violates third-party licenses or terms</li>
36
+ </ul>
37
+
38
+ <h2 id="good-first-issues">Good First Issues</h2>
39
+ <ul>
40
+ <li>Add a new provider adapter in <code>src/services/ai/</code></li>
41
+ <li>Write tests for untested tools</li>
42
+ <li>Fix docs, add examples</li>
43
+ <li>Build a plugin or MCP server</li>
44
+ <li>Improve Windows support</li>
45
+ </ul>
46
+
47
+ <h2 id="development">Development Setup</h2>
48
+ <h3>Prerequisites</h3>
49
+ <ul>
50
+ <li>Node.js >= 18.0.0</li>
51
+ <li>Bun >= 1.0.0</li>
52
+ <li>Git</li>
53
+ </ul>
54
+
55
+ <h3>Getting Started</h3>
56
+ <pre><code class="language-bash">git clone https://github.com/ClewCode/ClewCode.git
57
+ cd ClewCode
58
+ bun install
59
+ bun run build
60
+ bun run start
61
+ </code></pre>
62
+
63
+ <h3>Development Commands</h3>
64
+ <pre><code class="language-bash">bun run dev # Live reload with tsx
65
+ bun run build # Build to dist/
66
+ bun test # Run tests (Vitest)
67
+ bun x tsc --noEmit # Type-check
68
+ bun run check:ci # Full CI check (lint + test + typecheck)
69
+ </code></pre>
70
+
71
+ <h3>Code Style</h3>
72
+ <p>This project uses <strong>Biome</strong> for formatting and linting:</p>
73
+ <pre><code class="language-bash">bun run format # Format code
74
+ bun run lint # Lint code
75
+ bun run check # Full check with auto-fix
76
+ </code></pre>
77
+
78
+ <h2 id="ci">CI Pipeline</h2>
79
+ <ul>
80
+ <li>Pushing a <code>v*</code> tag triggers the release workflow</li>
81
+ <li>CI runs: typecheck → build → GitHub Release → npm publish</li>
82
+ </ul>
83
+
84
+ <h2 id="license">License</h2>
85
+ <p>Contributor-authored modifications and original additions may be licensed under the terms described in <code>LICENSE.md</code>. Read <code>LICENSE.md</code> and <code>SECURITY.md</code> before contributing.</p>
86
+ </div>
87
+ </div>
88
+
89
+ <script src="js/main.js"></script>
90
+ </body>
91
+ </html>