claude-multi 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/README.md +242 -0
- package/ROADMAP.md +104 -0
- package/bun.lock +77 -0
- package/dist/cli.js +8292 -0
- package/package.json +50 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.2.0] - 2025-01-XX
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Windows Support**: Full cross-platform support for Windows
|
|
12
|
+
- Generates `.cmd` batch wrapper scripts on Windows
|
|
13
|
+
- Uses `where` command instead of `which` on Windows
|
|
14
|
+
- Default binary path set to `%APPDATA%\npm` on Windows
|
|
15
|
+
- Skips Unix-specific `chmod` operations on Windows
|
|
16
|
+
- **Cross-platform CI**: GitHub Actions now tests on Ubuntu, Windows, and macOS
|
|
17
|
+
- **Platform Documentation**: Added platform-specific notes and Windows PATH setup guide
|
|
18
|
+
- **Test Suite**: Added comprehensive tests for wrapper script generation on all platforms
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- Binary naming convention: Windows wrappers now use `.cmd` extension (e.g., `claude-test.cmd`)
|
|
22
|
+
- Improved `getClaudePath()` to handle platform-specific path detection
|
|
23
|
+
- Enhanced wrapper generation to create appropriate script types per platform
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
- TypeScript strict null checks in config.ts
|
|
27
|
+
- Windows compatibility issues with shebang and chmod operations
|
|
28
|
+
|
|
29
|
+
## [0.1.0] - 2025-01-XX
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
- Initial release
|
|
33
|
+
- Basic instance management (add, remove, list, info)
|
|
34
|
+
- Wrapper script generation for multiple Claude Code instances
|
|
35
|
+
- Interactive and non-interactive modes for creating instances
|
|
36
|
+
- Settings and config copying from default Claude installation
|
|
37
|
+
- MCP (Model Context Protocol) server configuration support
|
|
38
|
+
- Version checking and update commands
|
|
39
|
+
- CI/CD workflows for automated testing and npm publishing
|
|
40
|
+
|
|
41
|
+
### Features
|
|
42
|
+
- Create isolated Claude Code instances with custom aliases
|
|
43
|
+
- Copy settings, plugins, and MCP configurations between instances
|
|
44
|
+
- Manage multiple instances simultaneously
|
|
45
|
+
- Support for custom config and binary paths
|
|
46
|
+
- Command-line interface built with Commander.js
|
|
47
|
+
|
|
48
|
+
[0.2.0]: https://github.com/hmziqrs/claude-multi/compare/v0.1.0...v0.2.0
|
|
49
|
+
[0.1.0]: https://github.com/hmziqrs/claude-multi/releases/tag/v0.1.0
|
package/README.md
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# claude-multi
|
|
2
|
+
|
|
3
|
+
> Manage multiple Claude Code instances with different aliases and configurations
|
|
4
|
+
|
|
5
|
+
## Why?
|
|
6
|
+
|
|
7
|
+
Claude Code supports multiple AI providers (Anthropic, GLM, Minimax), but switching between them requires manually editing config files. **claude-multi** solves this by creating isolated instances with different aliases and config paths.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- 🔄 **Multiple Instances**: Run different Claude Code configs simultaneously
|
|
12
|
+
- 🎯 **Simple CLI**: Easy-to-use commands for managing instances
|
|
13
|
+
- 🔒 **Isolated Configs**: Each instance has its own settings and history
|
|
14
|
+
- ✅ **Legal**: Uses wrapper scripts, no code modification
|
|
15
|
+
- 🚀 **Auto-sync**: Always uses the latest official Claude Code
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Install dependencies
|
|
21
|
+
bun install
|
|
22
|
+
|
|
23
|
+
# Build the project
|
|
24
|
+
bun run build
|
|
25
|
+
|
|
26
|
+
# Install globally (optional)
|
|
27
|
+
npm link
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Windows Setup
|
|
31
|
+
|
|
32
|
+
On Windows, ensure `%APPDATA%\npm` is in your PATH to use the wrapper commands:
|
|
33
|
+
|
|
34
|
+
```cmd
|
|
35
|
+
# Check if npm directory is in PATH
|
|
36
|
+
echo %PATH%
|
|
37
|
+
|
|
38
|
+
# Add to PATH if needed (PowerShell as Administrator)
|
|
39
|
+
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:APPDATA\npm", "User")
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
After adding to PATH, restart your terminal for changes to take effect.
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
### Create instances
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Create instance (interactive - prompts for copying settings)
|
|
50
|
+
claude-multi add glm
|
|
51
|
+
|
|
52
|
+
# Create instance with custom config path
|
|
53
|
+
claude-multi add work --config ~/configs/claude-work
|
|
54
|
+
|
|
55
|
+
# Create instance with custom binary path
|
|
56
|
+
claude-multi add minimax --binary ~/.local/bin/claude-minimax
|
|
57
|
+
|
|
58
|
+
# Non-interactive modes
|
|
59
|
+
claude-multi add glm --copy-settings # Copy only settings.json
|
|
60
|
+
claude-multi add glm --copy-all # Copy all files (settings, CLAUDE.md, plugins)
|
|
61
|
+
claude-multi add glm --skip-prompts # Start fresh, no prompts
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Interactive prompt options:**
|
|
65
|
+
- **Nothing - start fresh**: Empty config directory
|
|
66
|
+
- **Only settings.json**: Copy your settings (API keys, preferences)
|
|
67
|
+
- **All files**: Copy settings, CLAUDE.md, plugins, etc. (excludes history, debug logs)
|
|
68
|
+
|
|
69
|
+
### Use instances
|
|
70
|
+
|
|
71
|
+
Each instance gets its own command:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
claude-glm # Uses ~/.claude-glm config
|
|
75
|
+
claude-work # Uses ~/configs/claude-work
|
|
76
|
+
claude-minimax # Uses ~/.claude-minimax config
|
|
77
|
+
claude # Original command, uses ~/.claude
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Manage instances
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# List all instances
|
|
84
|
+
claude-multi list
|
|
85
|
+
|
|
86
|
+
# Show instance details
|
|
87
|
+
claude-multi info glm
|
|
88
|
+
|
|
89
|
+
# Remove instance
|
|
90
|
+
claude-multi remove glm
|
|
91
|
+
|
|
92
|
+
# Remove without confirmation
|
|
93
|
+
claude-multi remove glm --force
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Version management
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Check for updates
|
|
100
|
+
claude-multi version
|
|
101
|
+
|
|
102
|
+
# Update Claude Code to latest
|
|
103
|
+
claude-multi update
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## How It Works
|
|
107
|
+
|
|
108
|
+
`claude-multi` creates wrapper scripts that set the `CLAUDE_CONFIG_DIR` environment variable before calling the original `claude` binary:
|
|
109
|
+
|
|
110
|
+
```javascript
|
|
111
|
+
#!/usr/bin/env node
|
|
112
|
+
process.env.CLAUDE_CONFIG_DIR = "/Users/you/.claude-glm"
|
|
113
|
+
import("/usr/local/bin/claude")
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
This approach:
|
|
117
|
+
- ✅ Doesn't modify Anthropic's code (legal)
|
|
118
|
+
- ✅ Uses official Claude Code (no forking)
|
|
119
|
+
- ✅ Auto-syncs with upstream (no version tracking needed)
|
|
120
|
+
- ✅ Simple and maintainable
|
|
121
|
+
|
|
122
|
+
## Use Cases
|
|
123
|
+
|
|
124
|
+
### Personal + Work
|
|
125
|
+
```bash
|
|
126
|
+
claude-multi add personal
|
|
127
|
+
claude-multi add work
|
|
128
|
+
|
|
129
|
+
claude-personal # Personal projects
|
|
130
|
+
claude-work # Work projects
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Paid + Free Providers
|
|
134
|
+
```bash
|
|
135
|
+
claude-multi add anthropic # Paid subscription
|
|
136
|
+
claude-multi add glm # Free GLM API
|
|
137
|
+
|
|
138
|
+
claude-anthropic # High-quality, paid
|
|
139
|
+
claude-glm # Free tier
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Multiple Environments
|
|
143
|
+
```bash
|
|
144
|
+
claude-multi add prod
|
|
145
|
+
claude-multi add staging
|
|
146
|
+
claude-multi add dev
|
|
147
|
+
|
|
148
|
+
# Different configs for each
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Development
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Install dependencies
|
|
155
|
+
bun install
|
|
156
|
+
|
|
157
|
+
# Run in dev mode
|
|
158
|
+
bun run dev
|
|
159
|
+
|
|
160
|
+
# Build
|
|
161
|
+
bun run build
|
|
162
|
+
|
|
163
|
+
# Test
|
|
164
|
+
bun run dev add test --binary ./test-bin/claude-test
|
|
165
|
+
bun run dev list
|
|
166
|
+
bun run dev remove test --force
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Requirements
|
|
170
|
+
|
|
171
|
+
- Node.js >= 18
|
|
172
|
+
- Bun (for development)
|
|
173
|
+
- `@anthropic-ai/claude-code` installed globally
|
|
174
|
+
|
|
175
|
+
## Platform Support
|
|
176
|
+
|
|
177
|
+
**claude-multi** supports all major operating systems:
|
|
178
|
+
|
|
179
|
+
- ✅ **Linux**: Fully supported
|
|
180
|
+
- ✅ **macOS**: Fully supported
|
|
181
|
+
- ✅ **Windows**: Fully supported
|
|
182
|
+
|
|
183
|
+
### Platform-Specific Notes
|
|
184
|
+
|
|
185
|
+
**Windows:**
|
|
186
|
+
- Wrapper scripts are created as `.cmd` batch files
|
|
187
|
+
- Binary path defaults to `%APPDATA%\npm`
|
|
188
|
+
- Example: `claude-glm.cmd` instead of `claude-glm`
|
|
189
|
+
|
|
190
|
+
**Unix/Linux/macOS:**
|
|
191
|
+
- Wrapper scripts are Node.js scripts with shebangs
|
|
192
|
+
- Binary path defaults to `~/.local/bin`
|
|
193
|
+
- Scripts are automatically marked as executable
|
|
194
|
+
|
|
195
|
+
## Project Structure
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
claude-multi/
|
|
199
|
+
├── src/
|
|
200
|
+
│ ├── cli.ts # Main CLI interface
|
|
201
|
+
│ ├── config.ts # Instance config management
|
|
202
|
+
│ ├── wrapper.ts # Wrapper script generation
|
|
203
|
+
│ └── version.ts # Version checking
|
|
204
|
+
├── docs/
|
|
205
|
+
│ └── raw-plan.md # Detailed implementation plan
|
|
206
|
+
├── package.json
|
|
207
|
+
└── README.md
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Configuration
|
|
211
|
+
|
|
212
|
+
Instance metadata is stored in `~/.claude-multi/config.json`:
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"instances": [
|
|
217
|
+
{
|
|
218
|
+
"name": "glm",
|
|
219
|
+
"configDir": "/Users/you/.claude-glm",
|
|
220
|
+
"binaryPath": "/usr/local/bin/claude-glm",
|
|
221
|
+
"createdAt": "2025-11-02T03:57:41.000Z"
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"version": "1.0.0"
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## CI/CD
|
|
229
|
+
|
|
230
|
+
- **CI**: Runs on PRs and pushes to master (Node 20.x)
|
|
231
|
+
- **Publish**: Auto-publishes to npm when version tags are pushed
|
|
232
|
+
- **Requirements**: `NPM_TOKEN` secret configured in GitHub
|
|
233
|
+
|
|
234
|
+
## License
|
|
235
|
+
|
|
236
|
+
MIT
|
|
237
|
+
|
|
238
|
+
## Credits
|
|
239
|
+
|
|
240
|
+
Built with [Bun](https://bun.sh) and [Commander.js](https://github.com/tj/commander.js)
|
|
241
|
+
|
|
242
|
+
Wrapper for [@anthropic-ai/claude-code](https://www.npmjs.com/package/@anthropic-ai/claude-code)
|
package/ROADMAP.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Claude Multi - Project Roadmap
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Claude Multi is a CLI tool for managing multiple Claude Code instances with different aliases and configurations. This roadmap outlines planned features and improvements.
|
|
5
|
+
|
|
6
|
+
## ✅ Completed Features
|
|
7
|
+
|
|
8
|
+
### Cross-Platform Support (v0.2.0)
|
|
9
|
+
**Status**: ✅ Completed
|
|
10
|
+
|
|
11
|
+
- **Windows Support**: Full support for Windows platform
|
|
12
|
+
- `.cmd` batch wrapper generation
|
|
13
|
+
- Platform-specific path detection (`where` vs `which`)
|
|
14
|
+
- Proper handling of Windows-specific paths (`%APPDATA%\npm`)
|
|
15
|
+
- Skip Unix-specific operations (chmod) on Windows
|
|
16
|
+
|
|
17
|
+
- **macOS Support**: Full support for macOS platform
|
|
18
|
+
- Native shebang-based wrapper scripts
|
|
19
|
+
- `~/.local/bin` default path
|
|
20
|
+
|
|
21
|
+
- **Linux Support**: Full support for Linux distributions
|
|
22
|
+
- Native shebang-based wrapper scripts
|
|
23
|
+
- `~/.local/bin` default path
|
|
24
|
+
|
|
25
|
+
- **Cross-Platform CI**: GitHub Actions testing on all three platforms
|
|
26
|
+
- **Test Coverage**: Comprehensive unit tests for platform-specific behavior
|
|
27
|
+
|
|
28
|
+
## 🚀 Priority Features
|
|
29
|
+
|
|
30
|
+
### 1. Basic Backup & Restore
|
|
31
|
+
**Goal**: Simple way to export/import configs without ongoing sync maintenance
|
|
32
|
+
|
|
33
|
+
#### Features:
|
|
34
|
+
- **Archive Export/Import**:
|
|
35
|
+
```bash
|
|
36
|
+
claude-multi backup export <file.tar.gz> # Archive selected instances + metadata
|
|
37
|
+
claude-multi backup import <file.tar.gz> # Restore into local config dirs
|
|
38
|
+
```
|
|
39
|
+
- **Scope**: Local archives only; no cloud providers, encryption, or auto-sync
|
|
40
|
+
- **Manifest**: Include a small JSON manifest describing included instances
|
|
41
|
+
|
|
42
|
+
### 2. Enhanced Interactive Mode
|
|
43
|
+
**Goal**: More powerful and user-friendly interactive interface
|
|
44
|
+
|
|
45
|
+
#### Features:
|
|
46
|
+
- **Simplified Interface**:
|
|
47
|
+
- Clean list view of all instances
|
|
48
|
+
- Basic status indicators
|
|
49
|
+
- Easy navigation without complex filtering
|
|
50
|
+
|
|
51
|
+
## 🔧 Quality of Life Improvements
|
|
52
|
+
|
|
53
|
+
### 3. Shell Integration
|
|
54
|
+
**Goal**: Seamless terminal experience
|
|
55
|
+
|
|
56
|
+
#### Features:
|
|
57
|
+
- **Auto-completion**:
|
|
58
|
+
- Bash/Zsh completion scripts
|
|
59
|
+
- Context-aware suggestions
|
|
60
|
+
- Instance name completion
|
|
61
|
+
|
|
62
|
+
- **Shell Aliases**:
|
|
63
|
+
- Quick access to favorite instances
|
|
64
|
+
- Custom shortcuts for common operations
|
|
65
|
+
- Environment-specific configurations
|
|
66
|
+
|
|
67
|
+
- **Prompt Integration**:
|
|
68
|
+
- (Future consideration) Optional prompt snippet showing last used instance
|
|
69
|
+
|
|
70
|
+
### 4. Configuration Management
|
|
71
|
+
**Goal**: Advanced configuration handling
|
|
72
|
+
|
|
73
|
+
#### Features:
|
|
74
|
+
- **Global Defaults**:
|
|
75
|
+
- Preferred paths and settings
|
|
76
|
+
- Environment-specific overrides
|
|
77
|
+
|
|
78
|
+
- **Validation**:
|
|
79
|
+
- Configuration schema validation
|
|
80
|
+
- Cross-instance consistency checks
|
|
81
|
+
- Migration guides for breaking changes
|
|
82
|
+
|
|
83
|
+
- **Settings Inheritance**:
|
|
84
|
+
- Global settings inheritance
|
|
85
|
+
- Instance-specific customizations
|
|
86
|
+
|
|
87
|
+
## 🔧 Technical Considerations
|
|
88
|
+
|
|
89
|
+
### Configuration Storage
|
|
90
|
+
- Keep config JSON lean; validate shape before save
|
|
91
|
+
- Use atomic writes when updating config metadata
|
|
92
|
+
|
|
93
|
+
### Performance
|
|
94
|
+
- Keep operations synchronous and fast; avoid premature abstractions
|
|
95
|
+
- Only load instance details when needed in interactive mode
|
|
96
|
+
|
|
97
|
+
### Error Handling
|
|
98
|
+
- Graceful degradation for missing dependencies
|
|
99
|
+
- Clear error messages with suggested fixes
|
|
100
|
+
- Prefer manual fixes over automatic mutation of user files
|
|
101
|
+
|
|
102
|
+
### Security
|
|
103
|
+
- Respect CLAUDE_CONFIG_DIR permissions; do not handle secrets directly
|
|
104
|
+
- Leave credential storage to Claude Code
|
package/bun.lock
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"configVersion": 0,
|
|
4
|
+
"workspaces": {
|
|
5
|
+
"": {
|
|
6
|
+
"name": "cc-forks",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"chalk": "^5.3.0",
|
|
9
|
+
"commander": "^12.0.0",
|
|
10
|
+
"prompts": "^2.4.2",
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@types/node": "^20.0.0",
|
|
14
|
+
"@types/prompts": "^2.4.9",
|
|
15
|
+
"bun-types": "latest",
|
|
16
|
+
},
|
|
17
|
+
"peerDependencies": {
|
|
18
|
+
"@anthropic-ai/claude-code": ">=2.0.0",
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
"packages": {
|
|
23
|
+
"@anthropic-ai/claude-code": ["@anthropic-ai/claude-code@2.0.31", "", { "optionalDependencies": { "@img/sharp-darwin-arm64": "^0.33.5", "@img/sharp-darwin-x64": "^0.33.5", "@img/sharp-linux-arm": "^0.33.5", "@img/sharp-linux-arm64": "^0.33.5", "@img/sharp-linux-x64": "^0.33.5", "@img/sharp-win32-x64": "^0.33.5" }, "bin": { "claude": "cli.js" } }, "sha512-UiWopkOqZD5EHoDa8jmkT4AOVtvGWjfCOZ+hGlDqbBY5D0hia6kRDgizLsIvMRqnQr1pBAPCpyeWhH/WndaT/A=="],
|
|
24
|
+
|
|
25
|
+
"@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="],
|
|
26
|
+
|
|
27
|
+
"@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="],
|
|
28
|
+
|
|
29
|
+
"@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="],
|
|
30
|
+
|
|
31
|
+
"@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="],
|
|
32
|
+
|
|
33
|
+
"@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="],
|
|
34
|
+
|
|
35
|
+
"@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="],
|
|
36
|
+
|
|
37
|
+
"@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="],
|
|
38
|
+
|
|
39
|
+
"@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="],
|
|
40
|
+
|
|
41
|
+
"@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="],
|
|
42
|
+
|
|
43
|
+
"@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="],
|
|
44
|
+
|
|
45
|
+
"@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="],
|
|
46
|
+
|
|
47
|
+
"@types/node": ["@types/node@20.19.24", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA=="],
|
|
48
|
+
|
|
49
|
+
"@types/prompts": ["@types/prompts@2.4.9", "", { "dependencies": { "@types/node": "*", "kleur": "^3.0.3" } }, "sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA=="],
|
|
50
|
+
|
|
51
|
+
"@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="],
|
|
52
|
+
|
|
53
|
+
"bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="],
|
|
54
|
+
|
|
55
|
+
"chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
|
|
56
|
+
|
|
57
|
+
"commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="],
|
|
58
|
+
|
|
59
|
+
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
|
|
60
|
+
|
|
61
|
+
"kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="],
|
|
62
|
+
|
|
63
|
+
"prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="],
|
|
64
|
+
|
|
65
|
+
"sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
|
|
66
|
+
|
|
67
|
+
"undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
|
|
68
|
+
|
|
69
|
+
"@types/prompts/@types/node": ["@types/node@24.9.2", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA=="],
|
|
70
|
+
|
|
71
|
+
"bun-types/@types/node": ["@types/node@24.9.2", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA=="],
|
|
72
|
+
|
|
73
|
+
"@types/prompts/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
|
74
|
+
|
|
75
|
+
"bun-types/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
|
76
|
+
}
|
|
77
|
+
}
|