claw-code 0.2.0__py3-none-any.whl
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.
- claw_code-0.2.0.dist-info/METADATA +560 -0
- claw_code-0.2.0.dist-info/RECORD +110 -0
- claw_code-0.2.0.dist-info/WHEEL +5 -0
- claw_code-0.2.0.dist-info/entry_points.txt +2 -0
- claw_code-0.2.0.dist-info/licenses/LICENSE +68 -0
- claw_code-0.2.0.dist-info/top_level.txt +1 -0
- src/QueryEngine.py +19 -0
- src/Tool.py +15 -0
- src/__init__.py +29 -0
- src/assistant/__init__.py +16 -0
- src/bootstrap/__init__.py +16 -0
- src/bootstrap_graph.py +27 -0
- src/bridge/__init__.py +16 -0
- src/buddy/__init__.py +16 -0
- src/cli/__init__.py +16 -0
- src/command_graph.py +34 -0
- src/commands.py +90 -0
- src/components/__init__.py +16 -0
- src/config.py +58 -0
- src/constants/__init__.py +16 -0
- src/context.py +47 -0
- src/coordinator/__init__.py +16 -0
- src/costHook.py +8 -0
- src/cost_tracker.py +13 -0
- src/deferred_init.py +31 -0
- src/dialogLaunchers.py +15 -0
- src/direct_modes.py +21 -0
- src/entrypoints/__init__.py +16 -0
- src/execution_registry.py +51 -0
- src/history.py +22 -0
- src/hooks/__init__.py +16 -0
- src/init_wizard.py +238 -0
- src/ink.py +6 -0
- src/interactiveHelpers.py +5 -0
- src/keybindings/__init__.py +16 -0
- src/main.py +274 -0
- src/memdir/__init__.py +16 -0
- src/migrations/__init__.py +16 -0
- src/model_detection.py +96 -0
- src/models.py +49 -0
- src/moreright/__init__.py +16 -0
- src/native_ts/__init__.py +16 -0
- src/outputStyles/__init__.py +16 -0
- src/parity_audit.py +138 -0
- src/permissions.py +20 -0
- src/plugins/__init__.py +16 -0
- src/port_manifest.py +52 -0
- src/prefetch.py +23 -0
- src/projectOnboardingState.py +10 -0
- src/query.py +13 -0
- src/query_engine.py +289 -0
- src/reference_data/__init__.py +1 -0
- src/reference_data/archive_surface_snapshot.json +63 -0
- src/reference_data/commands_snapshot.json +1037 -0
- src/reference_data/subsystems/assistant.json +8 -0
- src/reference_data/subsystems/bootstrap.json +8 -0
- src/reference_data/subsystems/bridge.json +32 -0
- src/reference_data/subsystems/buddy.json +13 -0
- src/reference_data/subsystems/cli.json +26 -0
- src/reference_data/subsystems/components.json +32 -0
- src/reference_data/subsystems/constants.json +28 -0
- src/reference_data/subsystems/coordinator.json +8 -0
- src/reference_data/subsystems/entrypoints.json +15 -0
- src/reference_data/subsystems/hooks.json +32 -0
- src/reference_data/subsystems/keybindings.json +21 -0
- src/reference_data/subsystems/memdir.json +15 -0
- src/reference_data/subsystems/migrations.json +18 -0
- src/reference_data/subsystems/moreright.json +8 -0
- src/reference_data/subsystems/native_ts.json +11 -0
- src/reference_data/subsystems/outputStyles.json +8 -0
- src/reference_data/subsystems/plugins.json +9 -0
- src/reference_data/subsystems/remote.json +11 -0
- src/reference_data/subsystems/schemas.json +8 -0
- src/reference_data/subsystems/screens.json +10 -0
- src/reference_data/subsystems/server.json +10 -0
- src/reference_data/subsystems/services.json +32 -0
- src/reference_data/subsystems/skills.json +27 -0
- src/reference_data/subsystems/state.json +13 -0
- src/reference_data/subsystems/types.json +18 -0
- src/reference_data/subsystems/upstreamproxy.json +9 -0
- src/reference_data/subsystems/utils.json +32 -0
- src/reference_data/subsystems/vim.json +12 -0
- src/reference_data/subsystems/voice.json +8 -0
- src/reference_data/tools_snapshot.json +922 -0
- src/remote/__init__.py +16 -0
- src/remote_runtime.py +25 -0
- src/repl.py +577 -0
- src/replLauncher.py +5 -0
- src/runtime.py +205 -0
- src/schemas/__init__.py +16 -0
- src/screens/__init__.py +16 -0
- src/server/__init__.py +16 -0
- src/services/__init__.py +16 -0
- src/services/ollama_adapter.py +251 -0
- src/services/ollama_setup.py +192 -0
- src/session_store.py +79 -0
- src/setup.py +77 -0
- src/skills/__init__.py +16 -0
- src/state/__init__.py +16 -0
- src/system_init.py +23 -0
- src/task.py +5 -0
- src/tasks.py +11 -0
- src/tool_pool.py +37 -0
- src/tools.py +96 -0
- src/transcript.py +23 -0
- src/types/__init__.py +16 -0
- src/upstreamproxy/__init__.py +16 -0
- src/utils/__init__.py +16 -0
- src/vim/__init__.py +16 -0
- src/voice/__init__.py +16 -0
|
@@ -0,0 +1,560 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: claw-code
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Local Claude Code alternative powered by Ollama - zero API costs
|
|
5
|
+
Author-email: Claw Code Contributors <instructkr@github.com>
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/instructkr/claw-code
|
|
8
|
+
Project-URL: Documentation, https://github.com/instructkr/claw-code#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/instructkr/claw-code.git
|
|
10
|
+
Project-URL: Issues, https://github.com/instructkr/claw-code/issues
|
|
11
|
+
Keywords: ai,claude,ollama,code-generation,local-llm
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
23
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
24
|
+
Requires-Python: >=3.9
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Requires-Dist: requests<3.0,>=2.28.0
|
|
28
|
+
Requires-Dist: psutil<6.0,>=5.9.0
|
|
29
|
+
Requires-Dist: prompt-toolkit<4.0,>=3.0.0
|
|
30
|
+
Requires-Dist: rich<14.0,>=12.0.0
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
34
|
+
Requires-Dist: black>=23.0; extra == "dev"
|
|
35
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
36
|
+
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
37
|
+
Dynamic: license-file
|
|
38
|
+
|
|
39
|
+
# 🚀 Claw Code — Local Claude Code Powered by Ollama
|
|
40
|
+
|
|
41
|
+
**Free. Offline. No API Keys. Works on Your Laptop.**
|
|
42
|
+
|
|
43
|
+
Experience Claude Code locally and offline, powered by open models like Qwen and Phi through Ollama. Zero API costs, zero data leakage, pure local execution.
|
|
44
|
+
|
|
45
|
+
<p align="center">
|
|
46
|
+
<strong>⭐ The fastest repo in history to surpass 50K stars, reaching the milestone in just 2 hours after publication ⭐</strong>
|
|
47
|
+
</p>
|
|
48
|
+
|
|
49
|
+
<p align="center">
|
|
50
|
+
<a href="https://star-history.com/#instructkr/claw-code&Date">
|
|
51
|
+
<picture>
|
|
52
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=instructkr/claw-code&type=Date&theme=dark" />
|
|
53
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=instructkr/claw-code&type=Date" />
|
|
54
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=instructkr/claw-code&type=Date" width="600" />
|
|
55
|
+
</picture>
|
|
56
|
+
</a>
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Quick Start (3 Minutes)
|
|
62
|
+
|
|
63
|
+
### Install
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pip install claw-code
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Setup (Auto-Detects Your Hardware)
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
claw-code init
|
|
73
|
+
# ✓ Detects your PC RAM
|
|
74
|
+
# ✓ Downloads perfect model for your system
|
|
75
|
+
# ✓ Creates ~/.claude.json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Start Coding
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
claw-code
|
|
82
|
+
|
|
83
|
+
claw> Write a Python function to merge sorted arrays
|
|
84
|
+
# Streams response real-time from local model...
|
|
85
|
+
|
|
86
|
+
claw> Refactor it to use less memory
|
|
87
|
+
# Continues the conversation locally
|
|
88
|
+
|
|
89
|
+
claw> /exit
|
|
90
|
+
# ✓ Session auto-saved to resume later
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Why Claw Code?
|
|
96
|
+
|
|
97
|
+
| Feature | Claw Code | Claude API | ChatGPT |
|
|
98
|
+
|---------|-----------|-----------|---------|
|
|
99
|
+
| **Cost** | ✅ Free | ❌ $0.003/1K tokens | ❌ $20/month |
|
|
100
|
+
| **Runs Offline** | ✅ 100% local | ❌ Requires internet | ❌ Cloud only |
|
|
101
|
+
| **Data Privacy** | ✅ On your machine | ⚠️ Anthropic stores | ❌ OpenAI stores |
|
|
102
|
+
| **Works on Laptop** | ✅ 8GB+ RAM | ❌ Requires account | ❌ Requires account |
|
|
103
|
+
| **Commands/Tools** | ✅ Full support | ✅ Full support | ❌ Limited |
|
|
104
|
+
| **Multi-Turn** | ✅ Stateful sessions | ✅ Stateful sessions | ✅ Stateful sessions |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Hardware Requirements
|
|
109
|
+
|
|
110
|
+
Choose your model based on available RAM:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
≤ 8GB VRAM → phi4-mini (3.8B) [M1 MacBook Air, budget laptops]
|
|
114
|
+
8-16GB VRAM → qwen2.5-coder:7b ⭐ [Most users, recommended]
|
|
115
|
+
16GB+ VRAM → qwen2.5-coder:14b [Complex tasks, power users]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
All models run locally with zero internet after download.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Features
|
|
123
|
+
|
|
124
|
+
✅ **Interactive REPL** — Slash commands for control
|
|
125
|
+
✅ **Code Generation** — Write, refactor, optimize, debug code
|
|
126
|
+
✅ **Multi-Turn Conversations** — Full context awareness
|
|
127
|
+
✅ **Session Persistence** — Resume conversations later
|
|
128
|
+
✅ **Local Execution** — No API, no costs, no tracking
|
|
129
|
+
✅ **Streaming Output** — Real-time token responses
|
|
130
|
+
✅ **Hardware Auto-Detection** — Picks best model for you
|
|
131
|
+
✅ **Command Routing** — Smart matching to operations
|
|
132
|
+
✅ **Tool System** — Permission-aware integrations
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Available Commands (in REPL)
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
/help — Show all commands
|
|
140
|
+
/model — Display current model and settings
|
|
141
|
+
/session — Show token usage and conversation stats
|
|
142
|
+
/resume — Resume a previous session
|
|
143
|
+
/clear — Clear conversation history
|
|
144
|
+
/exit — Exit (optionally save session)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Architecture
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
┌─────────────────────────────────────────────┐
|
|
153
|
+
│ Claw Code REPL │
|
|
154
|
+
│ (Your terminal, your machine) │
|
|
155
|
+
└────────────────┬────────────────────────────┘
|
|
156
|
+
│
|
|
157
|
+
┌────────────────▼────────────────────────────┐
|
|
158
|
+
│ Query Engine + Session Management │
|
|
159
|
+
│ (Multi-turn conversation, permissions) │
|
|
160
|
+
└────────────────┬────────────────────────────┘
|
|
161
|
+
│
|
|
162
|
+
┌────────────────▼────────────────────────────┐
|
|
163
|
+
│ Ollama Adapter │
|
|
164
|
+
│ (Local HTTP to Ollama server) │
|
|
165
|
+
└────────────────┬────────────────────────────┘
|
|
166
|
+
│
|
|
167
|
+
┌────────────────▼────────────────────────────┐
|
|
168
|
+
│ Local Ollama Server + Model │
|
|
169
|
+
│ (qwen2.5-coder:7b or similar) │
|
|
170
|
+
│ (Runs on localhost:11434) │
|
|
171
|
+
└─────────────────────────────────────────────┘
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**All processing happens locally. No data leaves your machine.**
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Getting Started
|
|
179
|
+
|
|
180
|
+
### Prerequisites
|
|
181
|
+
|
|
182
|
+
- **Python 3.9+**
|
|
183
|
+
- **Ollama** ([download here](https://ollama.ai))
|
|
184
|
+
- **5-10 GB** free disk space (for model download)
|
|
185
|
+
|
|
186
|
+
### Step 1: Install Python Package
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
pip install claw-code
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Step 2: Run Setup Wizard
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
claw-code init
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The wizard will:
|
|
199
|
+
1. ✅ Check Ollama installed
|
|
200
|
+
2. ✅ Detect your system RAM
|
|
201
|
+
3. ✅ Recommend best model
|
|
202
|
+
4. ✅ Pull model (first time: ~2-5 min)
|
|
203
|
+
5. ✅ Verify everything works
|
|
204
|
+
6. ✅ Create config (~/.claude.json)
|
|
205
|
+
|
|
206
|
+
### Step 3: Start Coding
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
claw-code
|
|
210
|
+
|
|
211
|
+
claw> your first prompt here
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Usage Examples
|
|
217
|
+
|
|
218
|
+
### Write Code
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
claw> Write a async Python function to fetch data from an API
|
|
222
|
+
|
|
223
|
+
[Receives well-structured async code with error handling]
|
|
224
|
+
|
|
225
|
+
claw> Add retry logic with exponential backoff
|
|
226
|
+
|
|
227
|
+
[Gets updated code with retry mechanism]
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Debug Code
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
claw> This function is slow. Why?
|
|
234
|
+
def find_duplicates(items):
|
|
235
|
+
result = []
|
|
236
|
+
for i in range(len(items)):
|
|
237
|
+
for j in range(i+1, len(items)):
|
|
238
|
+
if items[i] == items[j]:
|
|
239
|
+
result.append(items[i])
|
|
240
|
+
return result
|
|
241
|
+
|
|
242
|
+
[Gets analysis + optimized version]
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Learn Concepts
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
claw> Explain what a closure is in JavaScript
|
|
249
|
+
|
|
250
|
+
[Gets clear explanation with examples]
|
|
251
|
+
|
|
252
|
+
claw> Show me 3 practical uses in modern code
|
|
253
|
+
|
|
254
|
+
[Gets real-world examples]
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Configuration
|
|
260
|
+
|
|
261
|
+
Claw Code creates `~/.claude.json` with sensible defaults:
|
|
262
|
+
|
|
263
|
+
```json
|
|
264
|
+
{
|
|
265
|
+
"provider": "ollama",
|
|
266
|
+
"ollama_base_url": "http://localhost:11434",
|
|
267
|
+
"model": "qwen2.5-coder:7b",
|
|
268
|
+
"max_tokens": 4000,
|
|
269
|
+
"temperature": 0.7
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Edit manually to:**
|
|
274
|
+
- Change models: `"model": "phi4-mini"` or `"qwen2.5-coder:14b"`
|
|
275
|
+
- Point to remote Ollama: Edit `ollama_base_url`
|
|
276
|
+
- Adjust creativity: `"temperature": 0.5` (lower = more focused)
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Troubleshooting
|
|
281
|
+
|
|
282
|
+
### "ollama: command not found"
|
|
283
|
+
Download Ollama from https://ollama.ai
|
|
284
|
+
|
|
285
|
+
### "Connection refused" when initializing
|
|
286
|
+
Make sure Ollama is running:
|
|
287
|
+
```bash
|
|
288
|
+
ollama serve # In another terminal
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### "Not enough disk space"
|
|
292
|
+
Models are 3-14GB. Free up disk space or use smaller model:
|
|
293
|
+
```bash
|
|
294
|
+
claw-code config
|
|
295
|
+
# Edit ~/.claude.json to use "phi4-mini"
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Slow responses
|
|
299
|
+
- First response warms up model (1-2 min)
|
|
300
|
+
- Subsequent responses faster
|
|
301
|
+
- Smaller models (phi4-mini) are faster than larger ones
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Advanced: Extend Claw Code
|
|
306
|
+
|
|
307
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for:
|
|
308
|
+
- Adding new commands
|
|
309
|
+
- Integrating custom tools
|
|
310
|
+
- Building plugins
|
|
311
|
+
- Custom routing logic
|
|
312
|
+
- Local model integration
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Architecture & Technical Details
|
|
317
|
+
|
|
318
|
+
See [ARCHITECTURE.md](ARCHITECTURE.md) for deep dive on:
|
|
319
|
+
- System design
|
|
320
|
+
- Command/tool registry
|
|
321
|
+
- Permission model
|
|
322
|
+
- Session persistence
|
|
323
|
+
- Ollama integration
|
|
324
|
+
- Extension points
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Roadmap
|
|
329
|
+
|
|
330
|
+
### Phase 3: Tool Execution (Coming Soon)
|
|
331
|
+
Run actual shell/Python commands from the CLI
|
|
332
|
+
|
|
333
|
+
### Phase 4: GUI & VSCode Integration
|
|
334
|
+
Web UI and VSCode extension
|
|
335
|
+
|
|
336
|
+
### Phase 5: Advanced Features
|
|
337
|
+
Memory, file operations, plugins, custom models
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## Contributing
|
|
342
|
+
|
|
343
|
+
Want to help? See [CONTRIBUTING.md](CONTRIBUTING.md) for:
|
|
344
|
+
- How to set up dev environment
|
|
345
|
+
- Extension points (commands, tools, routing)
|
|
346
|
+
- PR process
|
|
347
|
+
- Code guidelines
|
|
348
|
+
|
|
349
|
+
**We welcome contributors!** All skill levels okay.
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## Community
|
|
354
|
+
|
|
355
|
+
Join our community to share ideas, ask questions, and collaborate:
|
|
356
|
+
|
|
357
|
+
[](https://instruct.kr/)
|
|
358
|
+
|
|
359
|
+
[GitHub Discussions](https://github.com/instructkr/claw-code/discussions) for Q&A and feature requests
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
## License
|
|
364
|
+
|
|
365
|
+
Apache License 2.0 — See [LICENSE](LICENSE)
|
|
366
|
+
|
|
367
|
+
**Summary:** You can use, modify, and distribute Claw Code freely. Great for commercial use. Attribution appreciated but not required.
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## Performance Comparison
|
|
372
|
+
|
|
373
|
+
| Metric | Claw Code | Claude Code (API) |
|
|
374
|
+
|--------|-----------|-------------------|
|
|
375
|
+
| Setup time | 3 min | 5 min (account + API key) |
|
|
376
|
+
| Cost | FREE | $$$$ |
|
|
377
|
+
| Privacy | 100% local | Sent to Anthropic |
|
|
378
|
+
| Offline | ✅ Yes | ❌ No |
|
|
379
|
+
| Speed (first response) | 1-2 min* | <1 sec |
|
|
380
|
+
| Speed (subsequent) | 15-40 tok/s | 50-100 tok/s |
|
|
381
|
+
| Model choice | 3 options | Latest Claude |
|
|
382
|
+
|
|
383
|
+
*First response includes model loading. Subsequent responses are much faster.
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## FAQ
|
|
388
|
+
|
|
389
|
+
**Q: Is this affiliated with Anthropic?**
|
|
390
|
+
A: No. This is an independent open-source project. We rebuild Claude Code's architecture using local Ollama models.
|
|
391
|
+
|
|
392
|
+
**Q: Can I use this commercially?**
|
|
393
|
+
A: Yes! Apache 2.0 license allows commercial use. See [LICENSE](LICENSE).
|
|
394
|
+
|
|
395
|
+
**Q: Will my code be tracked?**
|
|
396
|
+
A: No. Everything runs locally. Your code never leaves your computer.
|
|
397
|
+
|
|
398
|
+
**Q: How much does it cost?**
|
|
399
|
+
A: Free. One-time model download ($0). No subscriptions.
|
|
400
|
+
|
|
401
|
+
**Q: Can I use a different model?**
|
|
402
|
+
A: Yes! Edit `~/.claude.json` and use any Ollama model.
|
|
403
|
+
|
|
404
|
+
**Q: How do I update?**
|
|
405
|
+
A: `pip install --upgrade claw-code`
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## Backstory
|
|
410
|
+
|
|
411
|
+
At 4 AM on March 31, 2026, the Claude Code source leaked. Rather than panic, I spent the morning clean-room porting the essential architecture to Python, then integrated it with Ollama for zero-cost local execution. The entire effort was orchestrated using [oh-my-codex (OmX)](https://github.com/Yeachan-Heo/oh-my-codex).
|
|
412
|
+
|
|
413
|
+
**Result:** A functional Claude Code alternative that costs nothing and runs offline.
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Star History
|
|
418
|
+
|
|
419
|
+
See the chart at the top of this README.
|
|
420
|
+
|
|
421
|
+
> AI startup worker Sigrid Jin, who attended the Seoul dinner, single-handedly used 25 billion of Claude Code tokens last year. At the time, usage limits were looser, allowing early enthusiasts to reach tens of billions of tokens at a very low cost.
|
|
422
|
+
>
|
|
423
|
+
> Despite his countless hours with Claude Code, Jin isn't faithful to any one AI lab. The tools available have different strengths and weaknesses, he said. Codex is better at reasoning, while Claude Code generates cleaner, more shareable code.
|
|
424
|
+
>
|
|
425
|
+
> Jin flew to San Francisco in February for Claude Code's first birthday party, where attendees waited in line to compare notes with Cherny. The crowd included a practicing cardiologist from Belgium who had built an app to help patients navigate care, and a California lawyer who made a tool for automating building permit approvals using Claude Code.
|
|
426
|
+
>
|
|
427
|
+
> "It was basically like a sharing party," Jin said. "There were lawyers, there were doctors, there were dentists. They did not have software engineering backgrounds."
|
|
428
|
+
>
|
|
429
|
+
> — *The Wall Street Journal*, March 21, 2026, [*"The Trillion Dollar Race to Automate Our Entire Lives"*](https://lnkd.in/gs9td3qd)
|
|
430
|
+
|
|
431
|
+

|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## Porting Status
|
|
436
|
+
|
|
437
|
+
The main source tree is now Python-first.
|
|
438
|
+
|
|
439
|
+
- `src/` contains the active Python porting workspace
|
|
440
|
+
- `tests/` verifies the current Python workspace
|
|
441
|
+
- the exposed snapshot is no longer part of the tracked repository state
|
|
442
|
+
|
|
443
|
+
The current Python workspace is not yet a complete one-to-one replacement for the original system, but the primary implementation surface is now Python.
|
|
444
|
+
|
|
445
|
+
## Why this rewrite exists
|
|
446
|
+
|
|
447
|
+
I originally studied the exposed codebase to understand its harness, tool wiring, and agent workflow. After spending more time with the legal and ethical questions—and after reading the essay linked below—I did not want the exposed snapshot itself to remain the main tracked source tree.
|
|
448
|
+
|
|
449
|
+
This repository now focuses on Python porting work instead.
|
|
450
|
+
|
|
451
|
+
## Repository Layout
|
|
452
|
+
|
|
453
|
+
```text
|
|
454
|
+
.
|
|
455
|
+
├── src/ # Python porting workspace
|
|
456
|
+
│ ├── __init__.py
|
|
457
|
+
│ ├── commands.py
|
|
458
|
+
│ ├── main.py
|
|
459
|
+
│ ├── models.py
|
|
460
|
+
│ ├── port_manifest.py
|
|
461
|
+
│ ├── query_engine.py
|
|
462
|
+
│ ├── task.py
|
|
463
|
+
│ └── tools.py
|
|
464
|
+
├── tests/ # Python verification
|
|
465
|
+
├── assets/omx/ # OmX workflow screenshots
|
|
466
|
+
├── 2026-03-09-is-legal-the-same-as-legitimate-ai-reimplementation-and-the-erosion-of-copyleft.md
|
|
467
|
+
└── README.md
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
## Python Workspace Overview
|
|
471
|
+
|
|
472
|
+
The new Python `src/` tree currently provides:
|
|
473
|
+
|
|
474
|
+
- **`port_manifest.py`** — summarizes the current Python workspace structure
|
|
475
|
+
- **`models.py`** — dataclasses for subsystems, modules, and backlog state
|
|
476
|
+
- **`commands.py`** — Python-side command port metadata
|
|
477
|
+
- **`tools.py`** — Python-side tool port metadata
|
|
478
|
+
- **`query_engine.py`** — renders a Python porting summary from the active workspace
|
|
479
|
+
- **`main.py`** — a CLI entrypoint for manifest and summary output
|
|
480
|
+
|
|
481
|
+
## Quickstart
|
|
482
|
+
|
|
483
|
+
Render the Python porting summary:
|
|
484
|
+
|
|
485
|
+
```bash
|
|
486
|
+
python3 -m src.main summary
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
Print the current Python workspace manifest:
|
|
490
|
+
|
|
491
|
+
```bash
|
|
492
|
+
python3 -m src.main manifest
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
List the current Python modules:
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
python3 -m src.main subsystems --limit 16
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
Run verification:
|
|
502
|
+
|
|
503
|
+
```bash
|
|
504
|
+
python3 -m unittest discover -s tests -v
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
Run the parity audit against the local ignored archive (when present):
|
|
508
|
+
|
|
509
|
+
```bash
|
|
510
|
+
python3 -m src.main parity-audit
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
Inspect mirrored command/tool inventories:
|
|
514
|
+
|
|
515
|
+
```bash
|
|
516
|
+
python3 -m src.main commands --limit 10
|
|
517
|
+
python3 -m src.main tools --limit 10
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
## Current Parity Checkpoint
|
|
521
|
+
|
|
522
|
+
The port now mirrors the archived root-entry file surface, top-level subsystem names, and command/tool inventories much more closely than before. However, it is **not yet** a full runtime-equivalent replacement for the original TypeScript system; the Python tree still contains fewer executable runtime slices than the archived source.
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
## Built with `oh-my-codex`
|
|
526
|
+
|
|
527
|
+
The restructuring and documentation work on this repository was AI-assisted and orchestrated with Yeachan Heo's [oh-my-codex (OmX)](https://github.com/Yeachan-Heo/oh-my-codex), layered on top of Codex.
|
|
528
|
+
|
|
529
|
+
- **`$team` mode:** used for coordinated parallel review and architectural feedback
|
|
530
|
+
- **`$ralph` mode:** used for persistent execution, verification, and completion discipline
|
|
531
|
+
- **Codex-driven workflow:** used to turn the main `src/` tree into a Python-first porting workspace
|
|
532
|
+
|
|
533
|
+
### OmX workflow screenshots
|
|
534
|
+
|
|
535
|
+

|
|
536
|
+
|
|
537
|
+
*Ralph/team orchestration view while the README and essay context were being reviewed in terminal panes.*
|
|
538
|
+
|
|
539
|
+

|
|
540
|
+
|
|
541
|
+
*Split-pane review and verification flow during the final README wording pass.*
|
|
542
|
+
|
|
543
|
+
## Community
|
|
544
|
+
|
|
545
|
+
<p align="center">
|
|
546
|
+
<a href="https://instruct.kr/"><img src="assets/instructkr.png" alt="instructkr" width="400" /></a>
|
|
547
|
+
</p>
|
|
548
|
+
|
|
549
|
+
Join the [**instructkr Discord**](https://instruct.kr/) — the best Korean language model community. Come chat about LLMs, harness engineering, agent workflows, and everything in between.
|
|
550
|
+
|
|
551
|
+
[](https://instruct.kr/)
|
|
552
|
+
|
|
553
|
+
## Star History
|
|
554
|
+
|
|
555
|
+
See the chart at the top of this README.
|
|
556
|
+
|
|
557
|
+
## Ownership / Affiliation Disclaimer
|
|
558
|
+
|
|
559
|
+
- This repository does **not** claim ownership of the original Claude Code source material.
|
|
560
|
+
- This repository is **not affiliated with, endorsed by, or maintained by Anthropic**.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
claw_code-0.2.0.dist-info/licenses/LICENSE,sha256=Ekaa6dSfc_aG9AARWH-y6pTSusKn4W7ET4-j6NrCp1s,7104
|
|
2
|
+
src/QueryEngine.py,sha256=P_UGP55VZV3bZd1TNZ4UNaOSud6dZzpZcwXMGIwwz14,712
|
|
3
|
+
src/Tool.py,sha256=mIZfDRJAFoisrgivd61zI5FoUpLyvzRAISIcvOAak3E,326
|
|
4
|
+
src/__init__.py,sha256=gTyqefy5B_XSFJMqQnunlsazKHUr5uYIX1oDcz2o7aM,912
|
|
5
|
+
src/bootstrap_graph.py,sha256=Fu3uiUULIz7zfslc9xOTi7XqtNyzwjnfZWrHF7XGiP0,803
|
|
6
|
+
src/command_graph.py,sha256=soVoqq7pwt6rXRaw--AiMyS5IUGdRUlKwg_f7QrEQes,1247
|
|
7
|
+
src/commands.py,sha256=fD2HgVlJ8ddnklv33b-G84p2oF-oiu81WMrjd2r-piI,3053
|
|
8
|
+
src/config.py,sha256=J1yJmgxwPKYuyY-Il-DrkwHOvl1KD2Fcjz0fHd61Xq8,1773
|
|
9
|
+
src/context.py,sha256=5nccLvjTPNaim4oGaRFrW3dWs-5Ap5Ub9RDVY0TxZJA,1580
|
|
10
|
+
src/costHook.py,sha256=A2-X8O4Y5A_1C_rHiE9fW5toYVH8zTQ8Nt241miAf3I,210
|
|
11
|
+
src/cost_tracker.py,sha256=j29IQr_a_z4PuDMCopgB5iyLv9x9HpUk85sQtO0gQK4,322
|
|
12
|
+
src/deferred_init.py,sha256=kFhpYGjE-HzWR4H19tes6TQo_6hrYzFtHMZsLpJnghU,771
|
|
13
|
+
src/dialogLaunchers.py,sha256=KHXWxgDRyZdQpSd2tV9zk_kN9NVkcABaTkqrKOiWiSE,312
|
|
14
|
+
src/direct_modes.py,sha256=gHVAdMa3yDb3ofPH6kYicd24u7FSZs9D44uJTsd_ijY,543
|
|
15
|
+
src/execution_registry.py,sha256=OrFrMPde-mCJOpDlxFJu4TvnSKoI3yECb1jvzK23-AA,1399
|
|
16
|
+
src/history.py,sha256=lmZdWyM2hKVFE3tdGQLnzQTSQppyH3nCyDEIIlMj6Y0,559
|
|
17
|
+
src/init_wizard.py,sha256=kR_GiHUEjLnfL_7zXenmmz0ETcfcUiF9G3cfi1JXilo,7163
|
|
18
|
+
src/ink.py,sha256=wMBHx1-GWAN3QPJmHSdw_exUvxuGFLg8avjO1aGUDv0,145
|
|
19
|
+
src/interactiveHelpers.py,sha256=Hy6lu9AA4QO3QrJrKErWoLltLj5q3kBzzjTxbeLUxtU,129
|
|
20
|
+
src/main.py,sha256=PpEt6O7_fmUEx8Oj3XTRmgUCrK4dyLZSq_q1U5DOkUw,12710
|
|
21
|
+
src/model_detection.py,sha256=iskkqdb5NdU4UUP3lpK9SLchtj09aToIEr9E-jkxlE0,2715
|
|
22
|
+
src/models.py,sha256=IevUkCTy8l8nTBetM3cv5f6mDXgiaFtz6qWMBMN-_yE,1070
|
|
23
|
+
src/parity_audit.py,sha256=086g6Z6sx1NadLTnshjhTKhEqyfn4FvE8Xo_ersuOHM,5268
|
|
24
|
+
src/permissions.py,sha256=h9_cLFeaGpP73m0p2F70_GVE2OnNrfQXj3WdNGoeUT0,776
|
|
25
|
+
src/port_manifest.py,sha256=lHWziF_kD98-1Yx3E8JwYvH5Zoh8XegufGmrH7tVF9o,1836
|
|
26
|
+
src/prefetch.py,sha256=ix2VcBmJ7FjHKjJluW9GMXkMYL5eKAqFQC3J1AsS4OY,640
|
|
27
|
+
src/projectOnboardingState.py,sha256=Dd_7HBC_19PfTa6oCWtz9thw9bkseW4huAaioGla1uU,184
|
|
28
|
+
src/query.py,sha256=DA2rFECs58TxFz6PUloVyy3bVqvXRIGKNrRAaEPhf0U,193
|
|
29
|
+
src/query_engine.py,sha256=Xz9CogrZiC1CXdTTiigfNu7U6esLnMbcRbXBYGdLyuc,11510
|
|
30
|
+
src/remote_runtime.py,sha256=hhtir9M-5-t0oEJnu6yA3jbW3sbhbnBajQ-hgJcXYFY,753
|
|
31
|
+
src/repl.py,sha256=VTI74by65f_LZpqKmrzo3EfzvDHdQAZG9DLmpea7lS4,23496
|
|
32
|
+
src/replLauncher.py,sha256=jU-MmUPPuvDAwOmPN5WsdiY2GIdarry_o5WMpyDitm4,169
|
|
33
|
+
src/runtime.py,sha256=-J-0F8rSM6XGigsOSXPQ_5AuPVFRogsWIrYSxKhhOV4,9049
|
|
34
|
+
src/session_store.py,sha256=L113gDhfqOX14D4ofLm_YDJT8QDlbJD_uq5JjjFAq1k,2406
|
|
35
|
+
src/setup.py,sha256=BdX-swJl82Wl_RR4Y1cPOFWcAQ88MD3R5kxvOs2_RRA,2315
|
|
36
|
+
src/system_init.py,sha256=nbztZ7yt8int8uusl_sN95oRBuA9poDawouGH3Da7t8,698
|
|
37
|
+
src/task.py,sha256=T5oUEsxpBPM2-xkqRtfO7e9DpPrLNv1zITnUPaq5ODo,93
|
|
38
|
+
src/tasks.py,sha256=tDYKjHzMj-Py_fF2S7rUXjjCgIjNXoiVZPPrmNVubt0,421
|
|
39
|
+
src/tool_pool.py,sha256=D_HtOWRXlQ8nM6WQ3pR3Z3-sYSZQtWkh2jG1lia_7RM,1044
|
|
40
|
+
src/tools.py,sha256=kYnjEEifIWAQs-n07RWhLazAqutIginOvPJptkizhSg,3285
|
|
41
|
+
src/transcript.py,sha256=_4F2iHkH4AvNZ3_EASq-WVWPXhleRq6JbYx-PF-RXAE,585
|
|
42
|
+
src/assistant/__init__.py,sha256=Gdr578WDcoloBohR49m_BKZ21nYN8GH8l7oLBQUYrKo,627
|
|
43
|
+
src/bootstrap/__init__.py,sha256=3_HXEzntGLm-PFRt4H1Vr-BOy9mpHGijsX07GnVWUHE,627
|
|
44
|
+
src/bridge/__init__.py,sha256=4NVAdTJ-05GpMQL6ZMRG6cVHPMqIPQrhpHGGrosUOUo,621
|
|
45
|
+
src/buddy/__init__.py,sha256=sghu94p5dDrNI9wwoGUag-Ewowt-vPvUqGvSZbmApJU,619
|
|
46
|
+
src/cli/__init__.py,sha256=_I_-FjWMMn53wSaqE2wBp_-bbxN5e1Pi4vg7OP_wlxA,615
|
|
47
|
+
src/components/__init__.py,sha256=hknmb1jBjpn6G9bvPbIraDdTvjqMEQLDnLGw9Tme9FY,629
|
|
48
|
+
src/constants/__init__.py,sha256=r05wXxO7jkrgrqOBskSt8_qWBsp9b86eW4I3vH43KGc,627
|
|
49
|
+
src/coordinator/__init__.py,sha256=lFZiJWkJXk3fUHffL813iyEgAxHK4UahDyy-XD5e6CM,631
|
|
50
|
+
src/entrypoints/__init__.py,sha256=Cdnubzk065n_-x19uEMkAHmBDX9K3rJM0UM7-U8f19o,631
|
|
51
|
+
src/hooks/__init__.py,sha256=9bxa9ZuT8FH7lXRHWOBXjnmjAsRCFMsh_NXWHpe9fek,619
|
|
52
|
+
src/keybindings/__init__.py,sha256=AXJokuC19jwp3OjyBffuceuyS3p7Iin76SrjVh3hLdE,631
|
|
53
|
+
src/memdir/__init__.py,sha256=2uY_sie2W5DicZDWpzZZ0B7_yPAoOOWZ6Tz8C7yTtfw,621
|
|
54
|
+
src/migrations/__init__.py,sha256=TnMxJEtYh9ByhXpndZf6mdo6pjBxD-VlTFVt09Q2V14,629
|
|
55
|
+
src/moreright/__init__.py,sha256=XWpCe_M_Jvjc_k2ofsP_rwEMi5tBSIUWLe2_tey0jsM,627
|
|
56
|
+
src/native_ts/__init__.py,sha256=zfCuzRYh0mpmPwrkvZzajwl4mxnxGvxSo4veV7qkFBM,627
|
|
57
|
+
src/outputStyles/__init__.py,sha256=mlTdjDNkI2dXzPbMi4MRaWvMYP3CsCd2PLQmWxsV1PM,633
|
|
58
|
+
src/plugins/__init__.py,sha256=MyS5BqUs0qaYioxZGWeiVEEpdzpjBEYYN1qz1g4Vj9Q,623
|
|
59
|
+
src/reference_data/__init__.py,sha256=hj7Ezkvg8RgbPp_W2k7Q-VKY-ENs495hyi4igA0bCAc,77
|
|
60
|
+
src/reference_data/archive_surface_snapshot.json,sha256=lAFW6H6AMPJfrvGBblzHsxzlqgLR51fxMe5mEsew04Y,1078
|
|
61
|
+
src/reference_data/commands_snapshot.json,sha256=iu8JI7Hv99zGVgtUjSonMv-pUUVAm02248Yzamn7Hh4,40169
|
|
62
|
+
src/reference_data/tools_snapshot.json,sha256=pyjZXQjLKh_Uwhfvk8pUkmpm2pkZuNckGsMTiLtwwx4,36444
|
|
63
|
+
src/reference_data/subsystems/assistant.json,sha256=bv3rr8LZoZBXHjjilmE3h6QptQ0pX3IkCMvhiwDFNLQ,144
|
|
64
|
+
src/reference_data/subsystems/bootstrap.json,sha256=79m7XHRxCpwWbJMvlz0b2CyESmyxXc9jmEJuA2O7vNA,135
|
|
65
|
+
src/reference_data/subsystems/bridge.json,sha256=nYQVi3oim4sud7KJl2VivJVneAXfCmWWVTPOx6m_LGg,888
|
|
66
|
+
src/reference_data/subsystems/buddy.json,sha256=4_T4rtXMVNEG6JPhSUBkuXpRcmg5d4aLVMrx0b48RzU,267
|
|
67
|
+
src/reference_data/subsystems/cli.json,sha256=LwPeQrqq24qqDD8e2JZAiw1YYKHtwH7CO4XZSrttGcU,713
|
|
68
|
+
src/reference_data/subsystems/components.json,sha256=hbMgVROwY3YjBhVH4A-s3e7Wgea5tPu18Qi5BQgTgB8,1145
|
|
69
|
+
src/reference_data/subsystems/constants.json,sha256=jCeI_gaPcgfpdt1bYDaBLLaSgOyNtyDsVFZew71Ox-E,739
|
|
70
|
+
src/reference_data/subsystems/coordinator.json,sha256=dcM9ZD2Ht44nXECEJLNl75aOkSLmPsISVuWGrHWIoD0,151
|
|
71
|
+
src/reference_data/subsystems/entrypoints.json,sha256=TWUM7MW8HSJj15LDx3tSDUQny-TwXldXqdfFE2Mqs68,379
|
|
72
|
+
src/reference_data/subsystems/hooks.json,sha256=mmmlGnpTdHfEcu_Dbg3S1wraoFZXJpzvPcSB3eVKCWs,1349
|
|
73
|
+
src/reference_data/subsystems/keybindings.json,sha256=n3pbq9q8PNrFBfqWuXws7KToF16J_r64OaLbSkKzqKk,612
|
|
74
|
+
src/reference_data/subsystems/memdir.json,sha256=UQNF8ZyYeu6prKMAaWkLmj6hvm2HkVWb8DAzzAIBp-I,334
|
|
75
|
+
src/reference_data/subsystems/migrations.json,sha256=Okb7hcD8kqsH9kgDAZETQWCT5zmG28Bksjy9WxbWnGo,683
|
|
76
|
+
src/reference_data/subsystems/moreright.json,sha256=f7BbXsAhVOgFfs-XHRLw98mgYJoZfZGa8dXWKrW4SLc,143
|
|
77
|
+
src/reference_data/subsystems/native_ts.json,sha256=in26d4JN3aklDeZvntxKY_irW-InElPnZxBCI5uAuY4,259
|
|
78
|
+
src/reference_data/subsystems/outputStyles.json,sha256=7XusNmxKHQLgK5eJ-4qfNaaWzGsy0IPL66X4WEaRqls,158
|
|
79
|
+
src/reference_data/subsystems/plugins.json,sha256=alWyQ457WQWkPUlPM9EVQ_mEr_tx6Y-oYxOH7N7OhUw,170
|
|
80
|
+
src/reference_data/subsystems/remote.json,sha256=O1L8Y0Tmi7V2nRB1IrpSLIXyvWPO3P3EX6sLEnCP2TU,251
|
|
81
|
+
src/reference_data/subsystems/schemas.json,sha256=3tQg6q66cWHh8ZmLgkkTSpaMg9uQKL9KiuB40VuNgR4,129
|
|
82
|
+
src/reference_data/subsystems/screens.json,sha256=AHFUFdZma_psUPnuMTdJlj6s-Tc9DesuK0ZUXe6wb3g,193
|
|
83
|
+
src/reference_data/subsystems/server.json,sha256=BkCS2U1JqGOAswzRynuVjVBrQUEdnmZhNqChLYuUP2I,208
|
|
84
|
+
src/reference_data/subsystems/services.json,sha256=AgM_0D6M7NcpEq6aq9LE3TEqJSKEaKhg7ypG7Yn0Pps,1109
|
|
85
|
+
src/reference_data/subsystems/skills.json,sha256=iYpdIfTulBgv7thdjYs0Thhb4PmHYlWv_e0zMinHlW8,801
|
|
86
|
+
src/reference_data/subsystems/state.json,sha256=zVXqStnF9Xb773o3RVhJNeWF3mlPryyU4o6Vby6rz9E,274
|
|
87
|
+
src/reference_data/subsystems/types.json,sha256=XvSFZ9-xWIEqW5ilK3OwDeOtJX_oVgGZ1IPTz5_Ws9k,536
|
|
88
|
+
src/reference_data/subsystems/upstreamproxy.json,sha256=v5GnkOQ7CWO03q1Ll4GtaVhWXHhjJLBd3GEaLrfOCaU,185
|
|
89
|
+
src/reference_data/subsystems/utils.json,sha256=w-jw9e466fo21Hh2J8ZbyUbZfKF7Gvilydv37PA5x4E,814
|
|
90
|
+
src/reference_data/subsystems/vim.json,sha256=xFeEXltYNUdSGO3-oJ-lmzjyHPwXBQRmpQjIKN6D41Q,215
|
|
91
|
+
src/reference_data/subsystems/voice.json,sha256=ijlbqeBqWq2-RAQGtMYuJ_eikTI8huFZXvRVSX_SGrc,134
|
|
92
|
+
src/remote/__init__.py,sha256=lWOKG0aUDCd63zdkRVJEFo61NCAdK14wVWzUiS3bjTE,621
|
|
93
|
+
src/schemas/__init__.py,sha256=w19Ji6ehEgUKSRJudVh6Xg3sORyV8XxBI34SVb7RzMA,623
|
|
94
|
+
src/screens/__init__.py,sha256=tbK2H-pJVQCZK2TUISuFL2fi1uOPdiGdpd7DMLuOo10,623
|
|
95
|
+
src/server/__init__.py,sha256=bN1ZHP_ttuBs-dkuTdTdP3Bj1lho3ZGGJ-fhY1I-kPw,621
|
|
96
|
+
src/services/__init__.py,sha256=JgNIPH1azoXRyoVc5TTNhUi8krHNe-u8YTjNi_e4nJ4,625
|
|
97
|
+
src/services/ollama_adapter.py,sha256=-MD9TBjAVW9LJnzoz0eSVMUSJvNOcYvFS-VyrcR9MKc,8181
|
|
98
|
+
src/services/ollama_setup.py,sha256=YGDHe6ZCh-9KLF3HAv5fKTisXRTS56n8sPUCX-JvTKY,5682
|
|
99
|
+
src/skills/__init__.py,sha256=gAKL2RKFoasSBp7Bfo_dbV_Umu-ItuJdxCu5DjWm7HI,621
|
|
100
|
+
src/state/__init__.py,sha256=iU4zhSPJB47iP4Ld6aiv5_V0UV409DxW3OnD5k3I464,619
|
|
101
|
+
src/types/__init__.py,sha256=YIBQRlIHoCv8RfMq_16pxtpgDdZAVh0tapKpGb-EgWY,619
|
|
102
|
+
src/upstreamproxy/__init__.py,sha256=nx9OnPAS2FDAvrrPfTlq3YaAc3IqsHV2PP9Gxvg6UTM,635
|
|
103
|
+
src/utils/__init__.py,sha256=Jz9eos_ZImkCJA5lRzI5fQxEdgOOSwdolgQqJbouWlI,619
|
|
104
|
+
src/vim/__init__.py,sha256=9leH3xBruk4hBOboUQS5Y2otefqDPJJ5xv1HvQGIVAw,615
|
|
105
|
+
src/voice/__init__.py,sha256=aSAQ4N3CiHKkJcRjB9L3wql30gGlssk9BGPx8uShaSg,619
|
|
106
|
+
claw_code-0.2.0.dist-info/METADATA,sha256=Nz6pGlz4kngegxeGn9MGutpLeuTfsVti7pUzcIQFJyk,18302
|
|
107
|
+
claw_code-0.2.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
108
|
+
claw_code-0.2.0.dist-info/entry_points.txt,sha256=UGrNg4nJTiH80Z3hfXKRHzye7AWuG1Rk41v7bNG6nSc,49
|
|
109
|
+
claw_code-0.2.0.dist-info/top_level.txt,sha256=74rtVfumQlgAPzR5_2CgYN24MB0XARCg0t-gzk6gTrM,4
|
|
110
|
+
claw_code-0.2.0.dist-info/RECORD,,
|