@kokorolx/ai-sandbox-wrapper 1.3.0 → 2.1.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.
Files changed (40) hide show
  1. package/README.md +166 -91
  2. package/bin/ai-run +456 -156
  3. package/bin/ai-run.bak +1212 -0
  4. package/bin/cli.js +804 -50
  5. package/lib/install-aider.sh +3 -3
  6. package/lib/install-amp.sh +3 -3
  7. package/lib/install-auggie.sh +3 -3
  8. package/lib/install-base.sh +52 -36
  9. package/lib/install-claude.sh +3 -3
  10. package/lib/install-codebuddy.sh +3 -3
  11. package/lib/install-codeserver.sh +3 -3
  12. package/lib/install-codex.sh +3 -3
  13. package/lib/install-droid.sh +3 -3
  14. package/lib/install-gemini.sh +3 -3
  15. package/lib/install-jules.sh +3 -3
  16. package/lib/install-kilo.sh +3 -3
  17. package/lib/install-opencode.sh +3 -3
  18. package/lib/install-qoder.sh +3 -3
  19. package/lib/install-qwen.sh +3 -3
  20. package/lib/install-shai.sh +3 -3
  21. package/lib/install-tool.sh +3 -3
  22. package/lib/install-vscode.sh +3 -3
  23. package/package.json +1 -1
  24. package/setup.sh +65 -46
  25. package/dockerfiles/AGENTS.md +0 -92
  26. package/dockerfiles/aider/Dockerfile +0 -5
  27. package/dockerfiles/amp/Dockerfile +0 -10
  28. package/dockerfiles/auggie/Dockerfile +0 -12
  29. package/dockerfiles/base/Dockerfile +0 -105
  30. package/dockerfiles/claude/Dockerfile +0 -11
  31. package/dockerfiles/codebuddy/Dockerfile +0 -12
  32. package/dockerfiles/codex/Dockerfile +0 -9
  33. package/dockerfiles/droid/Dockerfile +0 -8
  34. package/dockerfiles/gemini/Dockerfile +0 -9
  35. package/dockerfiles/jules/Dockerfile +0 -12
  36. package/dockerfiles/kilo/Dockerfile +0 -25
  37. package/dockerfiles/opencode/Dockerfile +0 -10
  38. package/dockerfiles/qoder/Dockerfile +0 -12
  39. package/dockerfiles/qwen/Dockerfile +0 -10
  40. package/dockerfiles/shai/Dockerfile +0 -9
package/README.md CHANGED
@@ -8,7 +8,26 @@ AI coding tools like Claude, Gemini, and Aider have full access to your filesyst
8
8
 
9
9
  **What you get:** Peace of mind using AI coding tools without risking your personal and system data.
10
10
 
11
- *Last updated: Thursday, January 22, 2026*
11
+ *Last updated: Tuesday, February 3, 2026*
12
+
13
+ ## ✨ New in v2.1.0: Stability & Native Persistence
14
+
15
+ The **v2.1.0 release** focuses on architectural stability and a more intuitive persistence model.
16
+
17
+ - ✅ **Stable Node 22 LTS**: Switched to a robust Node 22 base image for maximum compatibility and performance.
18
+ - ✅ **Direct Mount Persistence**: Changes made *inside* the container (logins, settings, sessions) now save directly to your host's native folders.
19
+ - ✅ **Cache Isolation**: Heavy caches (`node_modules`, `.npm`, `.cache`) are isolated using anonymous volumes to prevent "cache poisoning" and runtime conflicts.
20
+
21
+ ### Native Config Mapping
22
+ Your tool configurations are now directly linked from your Mac/PC:
23
+ - Host: `~/.config/opencode` ↔ Container: `/home/agent/.config/opencode`
24
+ - Host: `~/.local/share/opencode` ↔ Container: `/home/agent/.local/share/opencode`
25
+
26
+ ---
27
+
28
+ ## ⚠️ Breaking Change: v2.0.0 - Config Directory Reorganization
29
+
30
+ **Version 2.0.0** reorganized the directory structure to a tool-centric layout and introduced a unified `config.json`.
12
31
 
13
32
  ## 🛡️ Why Use This?
14
33
 
@@ -53,8 +72,15 @@ cd ai-sandbox-wrapper
53
72
  ./setup.sh
54
73
  ```
55
74
 
75
+ **Fresh build (no Docker cache):**
76
+ ```bash
77
+ npx @kokorolx/ai-sandbox-wrapper setup --no-cache
78
+ # or
79
+ ./setup.sh --no-cache
80
+ ```
81
+
56
82
  ### Step 3: Follow the Interactive Prompts
57
- 1. **Whitelist workspaces** - Enter the directories where you want AI tools to access (e.g., `~/projects,~/code`)
83
+ 1. **Whitelist workspaces (Optional)** - Enter directories AI tools can access, or just hit **Enter** to whitelist on-demand later.
58
84
  2. **Select tools** - Use arrow keys to move, space to select, Enter to confirm
59
85
  3. **Choose image source** - Select registry (faster) or build locally
60
86
 
@@ -64,7 +90,7 @@ cd ai-sandbox-wrapper
64
90
  source ~/.zshrc
65
91
 
66
92
  # Add your API keys (only if using tools that require them)
67
- nano ~/.ai-env # Add ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.
93
+ nano ~/.ai-sandbox/env # Add ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.
68
94
  ```
69
95
 
70
96
  ### Step 5: Run Your First Tool
@@ -105,16 +131,16 @@ claude --version
105
131
  If you want to give AI access to more project directories later:
106
132
  ```bash
107
133
  # Add a new workspace
108
- echo '/path/to/new/project' >> ~/.ai-workspaces
134
+ echo '/path/to/new/project' >> ~/.ai-sandbox/workspaces
109
135
 
110
136
  # View current allowed directories
111
- cat ~/.ai-workspaces
137
+ cat ~/.ai-sandbox/workspaces
112
138
  ```
113
139
 
114
140
  ### Configure API Keys (If Needed)
115
141
  Some tools require API keys to work properly:
116
142
  ```bash
117
- nano ~/.ai-env
143
+ nano ~/.ai-sandbox/env
118
144
  ```
119
145
  Then add your keys in the format: `KEY_NAME=your_actual_key_here`
120
146
  Examples:
@@ -136,7 +162,7 @@ docker pull registry.gitlab.com/kokorolee/ai-sandbox-wrapper/ai-aider:latest
136
162
  ```
137
163
 
138
164
  **Available pre-built images:**
139
- - `ai-base:latest` - Base image with Bun runtime
165
+ - `ai-base:latest` - Base image with Node.js 22 LTS runtime
140
166
  - `ai-amp:latest` - Sourcegraph Amp
141
167
  - `ai-claude:latest` - Claude Code CLI
142
168
  - `ai-droid:latest` - Factory CLI
@@ -165,22 +191,34 @@ docker pull registry.gitlab.com/kokorolee/ai-sandbox-wrapper/ai-aider:latest
165
191
  |------|--------|--------------|-------------|
166
192
  | **claude** | ✅ | Native binary | Anthropic Claude Code |
167
193
  | **opencode** | ✅ | Native Go | Open-source AI coding |
168
- | **gemini** | ✅ | npm/Bun | Google Gemini CLI (free tier) |
194
+ | **gemini** | ✅ | npm/Node | Google Gemini CLI (free tier) |
169
195
  | **aider** | ✅ | Python | AI pair programmer (Git-native) |
170
- | **kilo** | ✅ | npm/Bun | Kilo Code (500+ models) |
171
- | **codex** | ✅ | npm/Bun | OpenAI Codex agent |
172
- | **amp** | ✅ | npm/Bun | Sourcegraph Amp |
173
- | **qwen** | ✅ | npm/Bun | Alibaba Qwen CLI (1M context) |
196
+ | **kilo** | ✅ | npm/Node | Kilo Code (500+ models) |
197
+ | **codex** | ✅ | npm/Node | OpenAI Codex agent |
198
+ | **amp** | ✅ | npm/Node | Sourcegraph Amp |
199
+ | **qwen** | ✅ | npm/Node | Alibaba Qwen CLI (1M context) |
174
200
  | **droid** | ✅ | Custom | Factory CLI |
175
201
 
176
- ### GUI Tools (IDE/Editor)
202
+ > **Note:** GUI tools (VSCode, codeserver) have been removed in v2.0.1. Use your native IDE with AI tools running in the sandbox.
203
+
204
+ ## ⚠️ Known Issues
205
+
206
+ ### Native Tool Config Compatibility
207
+
208
+ In v2.1.0+, tool configurations are **directly bind-mounted** from your host. This ensures 100% compatibility with your native tool settings and authentications.
209
+
210
+ 1. **Host Config**: `~/.config/<tool>/` or `~/.<tool>/`
211
+ 2. **Container Mount**: `/home/agent/.config/<tool>` (Automatic)
177
212
 
178
- | Tool | Status | Description |
179
- |------|--------|-------------|
180
- | **codeserver** | | VSCode in browser (localhost:8080) |
181
- | **vscode** | ⚠️ Experimental | VSCode Desktop via X11 |
182
- | **cursor** | 🔜 Planned | Cursor IDE sandbox |
183
- | **antigravity** | 🔜 Planned | Antigravity IDE sandbox |
213
+ **Currently Supported for Direct Mount:**
214
+ - ✅ `claude`
215
+ -`opencode`
216
+ - `amp`
217
+ - `gemini`
218
+ - `aider`
219
+ - ... and all other supported tools.
220
+
221
+ Please [open an issue](https://github.com/kokorolx/ai-sandbox-wrapper/issues) if you encounter problems with specific tools.
184
222
 
185
223
  ## 🖥️ Platform Support
186
224
 
@@ -194,62 +232,82 @@ docker pull registry.gitlab.com/kokorolee/ai-sandbox-wrapper/ai-aider:latest
194
232
 
195
233
  ## 📁 Directory Structure
196
234
 
197
- AI Sandbox Wrapper creates and manages the following directories in your home folder:
235
+ AI Sandbox Wrapper creates and manages a single consolidated directory in your home folder:
198
236
 
199
237
  | Directory | Purpose | Contents |
200
238
  |-----------|---------|----------|
201
239
  | `~/bin/` | Executables | `ai-run` wrapper and symlinks to tool scripts |
202
- | `~/.ai-env` | API keys | Environment variables passed to containers (API keys) |
203
- | `~/.ai-workspaces` | Security | List of whitelisted directories AI can access |
204
- | `~/.ai-git-allowed` | Security | Workspaces where Git credentials are allowed |
205
- | `~/.ai-cache/` | Caching | Tool-specific cache directories (e.g., `~/.ai-cache/claude/`) |
206
- | `~/.ai-home/` | Config | Tool home directories with persistent configs |
240
+ | `~/.ai-sandbox/` | All config | Consolidated configuration directory (see structure below) |
207
241
  | `~/.ai-images/` | Local images | Locally built Docker images (if not using registry) |
208
242
 
243
+ ### Sandbox Structure
244
+
245
+ ```
246
+ ~/.ai-sandbox/
247
+ ├── config.json # Unified config (workspaces, git, networks)
248
+ ├── tools/ # Isolated sandbox environments
249
+ │ └── <tool>/
250
+ │ └── home/ # Sandbox home directory (excludes native configs)
251
+ ├── shared/ # Shared assets
252
+ │ └── git/ # Shared git config and keys
253
+ └── env # API keys (format: KEY=value)
254
+ ```
255
+
256
+ **Note:** Tools also bind-mount your **native** `~/.config/<tool>` directories for persistence.
257
+
209
258
  ### Key Files
210
259
 
211
260
  | File | Purpose |
212
261
  |------|---------|
213
- | `~/.ai-env` | API keys (format: `KEY=value`, one per line) |
214
- | `~/.ai-git-allowed` | Workspaces with persistent Git access (one path per line) |
215
- | `~/.ai-git-keys-*` | Saved SSH key selections for each workspace (md5-hashed) |
262
+ | `~/.ai-sandbox/config.json` | Unified config (workspaces, git access, networks) |
263
+ | `~/.ai-sandbox/env` | API keys (format: `KEY=value`, one per line) |
264
+ | `~/.ai-sandbox/workspaces` | Legacy workspace file (fallback) |
265
+ | `~/.ai-sandbox/git-allowed` | Legacy git-allowed file (fallback) |
216
266
 
217
- ### Cache Structure
267
+ ## ⚙️ Configuration
218
268
 
219
- ```
220
- ~/.ai-cache/
221
- ├── claude/ # Claude Code cache
222
- ├── gemini/ # Gemini CLI cache
223
- ├── aider/ # Aider cache
224
- ├── git/ # Git credentials cache (when enabled)
225
- │ └── ssh/ # SSH keys and config for allowed workspace
226
- ```
269
+ ### Tool-Specific Configuration
227
270
 
228
- ### Home Structure
271
+ Each tool has its own persistent home directory inside `~/.ai-sandbox/tools/<tool>/home/`.
229
272
 
230
- ```
231
- ~/.ai-home/
232
- ├── claude/ # .claude.json and settings
233
- ├── gemini/ # Gemini configuration
234
- ├── aider/ # Aider config and history
235
- └── .gitconfig # Git configuration (when Git access enabled)
236
- ```
273
+ ```bash
274
+ # View configuration paths for a specific tool (Recommended)
275
+ npx @kokorolx/ai-sandbox-wrapper config tool claude
237
276
 
238
- ## ⚙️ Configuration
277
+ # View configuration content
278
+ npx @kokorolx/ai-sandbox-wrapper config tool claude --show
279
+ ```
239
280
 
240
281
  ### API Keys
241
282
  ```bash
242
283
  # Edit environment file
243
- nano ~/.ai-env
284
+ nano ~/.ai-sandbox/env
244
285
  ```
245
286
 
246
287
  ### Workspace Management
247
288
  ```bash
248
- # Add workspace
249
- echo '/path/to/project' >> ~/.ai-workspaces
289
+ # CLI commands (recommended)
290
+ npx @kokorolx/ai-sandbox-wrapper workspace list
291
+ npx @kokorolx/ai-sandbox-wrapper workspace add ~/projects/my-new-app
292
+ npx @kokorolx/ai-sandbox-wrapper workspace remove ~/old-project
293
+
294
+ # Interactive menu
295
+ npx @kokorolx/ai-sandbox-wrapper update
250
296
 
251
- # List workspaces
252
- cat ~/.ai-workspaces
297
+ # Legacy (still works)
298
+ echo '/path/to/project' >> ~/.ai-sandbox/workspaces
299
+ cat ~/.ai-sandbox/workspaces
300
+ ```
301
+
302
+ ### Git Access Management
303
+ ```bash
304
+ # CLI commands
305
+ npx @kokorolx/ai-sandbox-wrapper git status
306
+ npx @kokorolx/ai-sandbox-wrapper git enable ~/projects/myrepo
307
+ npx @kokorolx/ai-sandbox-wrapper git disable ~/projects/myrepo
308
+
309
+ # Interactive menu
310
+ npx @kokorolx/ai-sandbox-wrapper update
253
311
  ```
254
312
 
255
313
  ### Network Configuration
@@ -274,12 +332,24 @@ Network selections are saved to `~/.ai-sandbox/config.json`:
274
332
  - **Global**: Default for all workspaces
275
333
 
276
334
  ```bash
335
+ # CLI commands
336
+ npx @kokorolx/ai-sandbox-wrapper network list
337
+ npx @kokorolx/ai-sandbox-wrapper network add mynetwork --global
338
+ npx @kokorolx/ai-sandbox-wrapper network add dev-network --workspace ~/projects/myapp
339
+ npx @kokorolx/ai-sandbox-wrapper network remove mynetwork --global
340
+
277
341
  # View current config
278
- cat ~/.ai-sandbox/config.json
342
+ npx @kokorolx/ai-sandbox-wrapper config show
343
+ npx @kokorolx/ai-sandbox-wrapper config show --json
279
344
 
280
- # Example config structure
345
+ # Example config.json structure (v2)
281
346
  {
282
- "version": 1,
347
+ "version": 2,
348
+ "workspaces": ["/Users/you/projects/my-app"],
349
+ "git": {
350
+ "allowedWorkspaces": ["/Users/you/projects/my-repo"],
351
+ "keySelections": {}
352
+ },
283
353
  "networks": {
284
354
  "global": ["shared-services"],
285
355
  "workspaces": {
@@ -298,13 +368,13 @@ When running without the flag, saved networks are used silently:
298
368
 
299
369
  ### Environment Variables
300
370
 
301
- All environment variables are configured in `~/.ai-env` or passed at runtime:
371
+ All environment variables are configured in `~/.ai-sandbox/env` or passed at runtime:
302
372
 
303
373
  #### Image Source
304
374
  Choose between locally built images or pre-built GitLab registry images:
305
375
 
306
376
  ```bash
307
- # Add to ~/.ai-env
377
+ # Add to ~/.ai-sandbox/env
308
378
 
309
379
  # Use locally built images (default)
310
380
  AI_IMAGE_SOURCE=local
@@ -373,7 +443,7 @@ rails server -b 0.0.0.0
373
443
  ```
374
444
 
375
445
  #### API Keys
376
- Configure in `~/.ai-env`:
446
+ Configure in `~/.ai-sandbox/env`:
377
447
 
378
448
  ```bash
379
449
  # Required for Claude tools
@@ -391,19 +461,19 @@ GOOGLE_API_KEY=AIza...
391
461
 
392
462
  ### Per-Project Config
393
463
 
394
- Each tool supports project-specific config files that override global settings:
464
+ Each tool supports project-specific config files that override global settings. These files are located in your workspace and are accessible to the tool:
395
465
 
396
- | Tool | Project Config | Global Config Location |
397
- |------|----------------|------------------------|
398
- | Claude | `.claude.json` | `~/.claude/` |
466
+ | Tool | Project Config | Native Global Config |
467
+ |------|----------------|----------------------|
468
+ | Claude | `.claude.json` | `~/.config/claude/` |
399
469
  | Gemini | `.gemini.json` | `~/.config/gemini/` |
400
470
  | Aider | `.aider.conf` | `~/.config/aider/` |
401
471
  | Opencode | `.opencode.json` | `~/.config/opencode/` |
402
- | Kilo | `.kilo.json` | `~/.config/kilo/` |
403
- | Codex | `.codex.json` | `~/.config/codex/` |
404
472
  | Amp | `.amp.json` | `~/.config/amp/` |
405
473
 
406
- **Priority:** Project config > Global config > Container defaults
474
+ **Persistence:** Since v2.1.0, changes to global settings *inside* the container are automatically saved back to your **Native Global Config** on the host.
475
+
476
+ **Priority:** Project config > Native Global config > Container defaults
407
477
 
408
478
  ```bash
409
479
  # Example: Project-specific Claude config
@@ -418,14 +488,15 @@ EOF
418
488
 
419
489
  ### Tool-Specific Config Locations
420
490
 
421
- When using global configs (not project-specific), they're stored in:
491
+ All tool configs are consolidated under `~/.ai-sandbox/home/{tool}/`:
422
492
 
423
493
  ```
424
- ~/.ai-home/{tool}/
494
+ ~/.ai-sandbox/home/{tool}/
425
495
  ├── .config/ # Tool configuration
426
496
  │ └── {tool}/ # Per-tool config directory
427
497
  ├── .local/share/ # Tool data (cache, sessions)
428
- └── .cache/ # Runtime cache
498
+ ├── .cache/ # Runtime cache
499
+ └── .claude/ # Claude-specific (for claude tool)
429
500
  ```
430
501
 
431
502
  Each tool's config is mounted to `/home/agent/` inside the container.
@@ -516,10 +587,10 @@ Allow AI tool to access Git credentials for this workspace?
516
587
  **Managing Git access:**
517
588
  ```bash
518
589
  # View allowed workspaces
519
- cat ~/.ai-git-allowed
590
+ cat ~/.ai-sandbox/git-allowed
520
591
 
521
592
  # Remove a workspace from allowed list
522
- nano ~/.ai-git-allowed # Delete the line
593
+ nano ~/.ai-sandbox/git-allowed # Delete the line
523
594
  ```
524
595
 
525
596
  **Why this is secure:**
@@ -562,20 +633,23 @@ nano ~/.ai-git-allowed # Delete the line
562
633
  - Reload your shell: `source ~/.zshrc`
563
634
  - Verify setup completed: check if `~/bin/ai-run` exists
564
635
 
565
- **"Workspaces not configured"**
566
- - Run setup again: `./setup.sh`
567
- - Make sure you entered workspace directories during setup
636
+ **"Workspaces not configured"** (Legacy)
637
+ - Note: This error is resolved in v2.1.0+.
638
+ - Run setup again: `./setup.sh` or simply run an AI tool in your project folder to trigger interactive whitelisting.
639
+
640
+ **"BunInstallFailedError"** (Resolved in v2.1.0)
641
+ - This was caused by stale caches. We now use **Cache Isolation** via anonymous volumes. If you still see this, run `./setup.sh --no-cache` to force a clean build.
568
642
 
569
643
  **Tool doesn't start**
570
644
  - Check if you selected the tool during setup
571
645
  - Look for the Docker image: `docker images | grep ai-`
572
646
 
573
647
  **"Outside whitelisted workspace" error**
574
- - Add your current directory: `echo "$(pwd)" >> ~/.ai-workspaces`
648
+ - Add your current directory: `echo "$(pwd)" >> ~/.ai-sandbox/workspaces`
575
649
  - Or navigate to a directory you whitelisted during setup
576
650
 
577
651
  **API key errors**
578
- - Check your keys in: `cat ~/.ai-env`
652
+ - Check your keys in: `cat ~/.ai-sandbox/env`
579
653
  - Make sure keys are in format: `KEY_NAME=actual_key_value`
580
654
 
581
655
  ### Getting Help
@@ -583,9 +657,9 @@ nano ~/.ai-git-allowed # Delete the line
583
657
  If you're still having issues:
584
658
  1. Check that Docker is running
585
659
  2. Re-run `./setup.sh` to reinstall
586
- 3. Look at the configuration files in your home directory:
587
- - `~/.ai-workspaces` - should contain your project directories
588
- - `~/.ai-env` - should contain your API keys (if needed)
660
+ 3. Look at the configuration files in `~/.ai-sandbox/`:
661
+ - `~/.ai-sandbox/workspaces` - should contain your project directories
662
+ - `~/.ai-sandbox/env` - should contain your API keys (if needed)
589
663
  4. View Docker images: `docker images` to see if tools built successfully
590
664
 
591
665
  ## 📚 Quick Reference
@@ -614,15 +688,15 @@ ai-run opencode --shell # or -s
614
688
  See [SHELL-MODE-USAGE.md](SHELL-MODE-USAGE.md) for detailed examples and use cases.
615
689
 
616
690
  ### Configuration Files
617
- - `~/.ai-env` - Store API keys here
618
- - `~/.ai-workspaces` - Whitelisted project directories
619
- - `~/.ai-cache/` - Tool cache (persistent)
620
- - `~/.ai-home/` - Tool configurations (persistent)
691
+ - `~/.ai-sandbox/env` - Store API keys here
692
+ - `~/.ai-sandbox/workspaces` - Whitelisted project directories
693
+ - `~/.ai-sandbox/cache/` - Tool cache (persistent)
694
+ - `~/.ai-sandbox/home/` - Tool configurations (persistent)
621
695
 
622
696
  ### Common Tasks
623
697
  ```bash
624
698
  # Add a new project directory to AI access
625
- echo '/path/to/my/new/project' >> ~/.ai-workspaces
699
+ echo '/path/to/my/new/project' >> ~/.ai-sandbox/workspaces
626
700
 
627
701
  # Check what tools are installed
628
702
  ls ~/bin/
@@ -654,23 +728,24 @@ npx @kokorolx/ai-sandbox-wrapper clean
654
728
  **Categories:**
655
729
  | Category | Contents | Risk |
656
730
  |----------|----------|------|
657
- | Tool caches | `~/.ai-cache/{tool}/` | 🟢 Safe to delete |
658
- | Tool configs | `~/.ai-home/{tool}/` | 🟡 Loses settings |
659
- | Global config | `~/.ai-sandbox/`, `~/.ai-workspaces`, `~/.ai-env`, etc. | 🟡🔴 Mixed |
731
+ | Tool caches | `~/.ai-sandbox/cache/{tool}/` | 🟢 Safe to delete |
732
+ | Tool configs | `~/.ai-sandbox/home/{tool}/` | 🟡 Loses settings |
733
+ | Global config | `~/.ai-sandbox/workspaces`, `~/.ai-sandbox/env`, etc. | 🟡🔴 Mixed |
734
+ | Everything | `~/.ai-sandbox/` | 🔴 Full reset |
660
735
 
661
736
  **Example:**
662
737
  ```
663
738
  🧹 AI Sandbox Cleanup
664
739
 
665
740
  What would you like to clean?
666
- 1. Tool caches (~/.ai-cache/) - Safe to delete
667
- 2. Tool configs (~/.ai-home/) - Loses settings
741
+ 1. Tool caches (~/.ai-sandbox/cache/) - Safe to delete
742
+ 2. Tool configs (~/.ai-sandbox/home/) - Loses settings
668
743
  3. Global config files - Loses preferences
669
- 4. All of the above
744
+ 4. Everything (~/.ai-sandbox/) - Full reset
670
745
 
671
746
  Enter selection (or 'q' to quit): 1
672
747
 
673
- 📁 Tool Caches (~/.ai-cache/)
748
+ 📁 Tool Caches (~/.ai-sandbox/cache/)
674
749
 
675
750
  Select tools to clear:
676
751
  1. claude/ (45.2 MB)
@@ -679,13 +754,13 @@ Select tools to clear:
679
754
  Enter selection (comma-separated, 'all', or 'b' to go back): 1
680
755
 
681
756
  You are about to delete:
682
- - ~/.ai-cache/claude/ (45.2 MB)
757
+ - ~/.ai-sandbox/cache/claude/ (45.2 MB)
683
758
 
684
759
  Total: 45.2 MB
685
760
 
686
761
  Type 'yes' to confirm: yes
687
762
 
688
- ✓ Deleted ~/.ai-cache/claude/
763
+ ✓ Deleted ~/.ai-sandbox/cache/claude/
689
764
 
690
765
  Deleted 1 items, freed 45.2 MB
691
766
  ```