cc-mirror 1.4.1 → 1.5.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/README.md +221 -179
- package/dist/cc-mirror.mjs +71 -59
- package/dist/skills/task-manager/SKILL.md +15 -15
- package/dist/tui.mjs +44 -46
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -10,282 +10,324 @@
|
|
|
10
10
|
<a href="https://twitter.com/nummanali"><img src="https://img.shields.io/twitter/follow/nummanali?style=social" alt="Twitter Follow"></a>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
13
|
+
<h2 align="center">Claude Code, Unshackled</h2>
|
|
14
|
+
|
|
13
15
|
<p align="center">
|
|
14
|
-
|
|
16
|
+
Pre-configured Claude Code variants with multi-agent orchestration,<br>
|
|
17
|
+
custom providers, and battle-tested enhancements.<br><br>
|
|
18
|
+
<strong>One command. Instant power-up.</strong>
|
|
15
19
|
</p>
|
|
16
20
|
|
|
17
21
|
---
|
|
18
22
|
|
|
19
|
-
##
|
|
23
|
+
## The Unlock
|
|
24
|
+
|
|
25
|
+
Claude Code has a hidden multi-agent capability. CC-MIRROR enables it.
|
|
20
26
|
|
|
21
27
|
```
|
|
22
|
-
|
|
23
|
-
│
|
|
24
|
-
│
|
|
25
|
-
│
|
|
26
|
-
│
|
|
27
|
-
│
|
|
28
|
-
│ │
|
|
29
|
-
│
|
|
30
|
-
│
|
|
31
|
-
│
|
|
32
|
-
│
|
|
33
|
-
│
|
|
34
|
-
│
|
|
35
|
-
│
|
|
36
|
-
│
|
|
37
|
-
|
|
38
|
-
└────────────────────────────────────────────────────────────────────────────────┘
|
|
28
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
29
|
+
│ │
|
|
30
|
+
│ BEFORE AFTER │
|
|
31
|
+
│ ══════ ═════ │
|
|
32
|
+
│ │
|
|
33
|
+
│ ┌─────────────────┐ ┌─────────────────────────────────┐ │
|
|
34
|
+
│ │ Claude Code │ │ YOUR Claude Code │ │
|
|
35
|
+
│ │ │ CC-MIRROR │ │ │
|
|
36
|
+
│ │ • Single │ ─────────► │ ✓ Multi-Agent Orchestration │ │
|
|
37
|
+
│ │ config │ │ ✓ Task-based Coordination │ │
|
|
38
|
+
│ │ • No team │ │ ✓ Background Agent Spawning │ │
|
|
39
|
+
│ │ mode │ │ ✓ Battle-tested Skill │ │
|
|
40
|
+
│ │ │ │ ✓ Isolated Config │ │
|
|
41
|
+
│ └─────────────────┘ └─────────────────────────────────┘ │
|
|
42
|
+
│ │
|
|
43
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
39
44
|
```
|
|
40
45
|
|
|
41
|
-
|
|
46
|
+
**What gets unlocked:**
|
|
47
|
+
|
|
48
|
+
| Tool | Purpose |
|
|
49
|
+
|------|---------|
|
|
50
|
+
| `TaskCreate` | Create tasks with subject, description, and dependencies |
|
|
51
|
+
| `TaskGet` | Retrieve full task details by ID |
|
|
52
|
+
| `TaskUpdate` | Update status, add comments, set blockers |
|
|
53
|
+
| `TaskList` | List all tasks with summary info |
|
|
54
|
+
|
|
55
|
+
Plus a **battle-tested orchestrator skill** — refined through millions of tokens of iteration — that teaches Claude how to effectively coordinate multiple agents working in parallel.
|
|
42
56
|
|
|
43
57
|
---
|
|
44
58
|
|
|
45
|
-
##
|
|
59
|
+
## Quick Start
|
|
46
60
|
|
|
47
61
|
```bash
|
|
48
|
-
#
|
|
49
|
-
npx cc-mirror
|
|
62
|
+
# Fastest path to multi-agent Claude Code
|
|
63
|
+
npx cc-mirror quick --provider mirror --name mclaude
|
|
50
64
|
|
|
51
|
-
#
|
|
52
|
-
|
|
65
|
+
# Run it
|
|
66
|
+
mclaude
|
|
53
67
|
```
|
|
54
68
|
|
|
69
|
+
That's it. You now have Claude Code with team mode enabled.
|
|
70
|
+
|
|
55
71
|
<p align="center">
|
|
56
72
|
<img src="./assets/cc-mirror-home.png" alt="CC-MIRROR Home Screen" width="600">
|
|
57
73
|
</p>
|
|
58
74
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
## 🔌 Supported Providers
|
|
62
|
-
|
|
63
|
-
| Provider | Models | Auth | Best For |
|
|
64
|
-
| -------------- | ---------------------- | ---------- | ------------------------------- |
|
|
65
|
-
| **Z.ai** | GLM-4.7, GLM-4.5-Air | API Key | Heavy coding with GLM reasoning |
|
|
66
|
-
| **MiniMax** | MiniMax-M2.1 | API Key | Unified model experience |
|
|
67
|
-
| **OpenRouter** | 100+ models | Auth Token | Model flexibility, pay-per-use |
|
|
68
|
-
| **CCRouter** | Ollama, DeepSeek, etc. | Optional | Local-first development |
|
|
69
|
-
| **Mirror** | Claude (native) | OAuth/Key | Pure Claude with team mode |
|
|
75
|
+
### Or use the interactive wizard
|
|
70
76
|
|
|
71
77
|
```bash
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
# MiniMax (MiniMax-M2.1)
|
|
76
|
-
npx cc-mirror quick --provider minimax --api-key "$MINIMAX_API_KEY"
|
|
78
|
+
npx cc-mirror
|
|
79
|
+
```
|
|
77
80
|
|
|
78
|
-
|
|
79
|
-
npx cc-mirror quick --provider openrouter --api-key "$OPENROUTER_API_KEY" \
|
|
80
|
-
--model-sonnet "anthropic/claude-3.5-sonnet"
|
|
81
|
+
---
|
|
81
82
|
|
|
82
|
-
|
|
83
|
-
npx cc-mirror quick --provider ccrouter
|
|
83
|
+
## What is CC-MIRROR?
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
npx cc-mirror quick --provider mirror --name mclaude
|
|
87
|
-
```
|
|
85
|
+
CC-MIRROR is an **opinionated Claude Code distribution**. We did the hacking — you get the superpowers.
|
|
88
86
|
|
|
89
|
-
|
|
87
|
+
At its core, CC-MIRROR:
|
|
90
88
|
|
|
91
|
-
|
|
89
|
+
1. **Clones** Claude Code into isolated instances
|
|
90
|
+
2. **Patches** the CLI to enable hidden features (team mode)
|
|
91
|
+
3. **Installs** battle-tested skills (orchestrator, browser automation)
|
|
92
|
+
4. **Configures** provider-specific enhancements
|
|
93
|
+
5. **Packages** everything into a single command
|
|
92
94
|
|
|
93
|
-
Each variant
|
|
95
|
+
Each variant is completely isolated — its own config, sessions, MCP servers, and credentials. Your main Claude Code installation stays untouched.
|
|
94
96
|
|
|
95
97
|
```
|
|
96
98
|
┌─────────────────────────────────────────────────────────────────────────┐
|
|
97
99
|
│ ~/.cc-mirror/ │
|
|
98
100
|
│ │
|
|
99
|
-
│ ├──
|
|
100
|
-
│ │ ├── npm/
|
|
101
|
-
│ │ ├── config/
|
|
102
|
-
│ │ ├──
|
|
103
|
-
│ │ └──
|
|
101
|
+
│ ├── mclaude/ ← Mirror Claude (team mode) │
|
|
102
|
+
│ │ ├── npm/ Claude Code installation │
|
|
103
|
+
│ │ ├── config/ API keys, sessions, MCP servers │
|
|
104
|
+
│ │ │ ├── tasks/<team>/ Team task storage │
|
|
105
|
+
│ │ │ └── skills/orchestration/ Orchestrator skill │
|
|
106
|
+
│ │ ├── tweakcc/ Theme customization │
|
|
107
|
+
│ │ └── variant.json Metadata │
|
|
104
108
|
│ │ │
|
|
105
|
-
│ ├──
|
|
106
|
-
│
|
|
107
|
-
│ │ │
|
|
108
|
-
│ └── mclaude/ ← Your Mirror Claude variant │
|
|
109
|
-
│ └── ... │
|
|
110
|
-
│ │
|
|
111
|
-
│ Wrappers: ~/.local/bin/zai, ~/.local/bin/minimax, ~/.local/bin/mclaude │
|
|
109
|
+
│ ├── zai/ ← Z.ai variant (GLM models) │
|
|
110
|
+
│ └── minimax/ ← MiniMax variant (M2.1) │
|
|
112
111
|
│ │
|
|
112
|
+
│ Wrappers: ~/.local/bin/mclaude, ~/.local/bin/zai, ... │
|
|
113
113
|
└─────────────────────────────────────────────────────────────────────────┘
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Providers
|
|
119
|
+
|
|
120
|
+
### Mirror Claude (Recommended)
|
|
121
|
+
|
|
122
|
+
The purest path to multi-agent Claude Code. No proxy, no model changes — just Claude with superpowers.
|
|
117
123
|
|
|
118
124
|
```bash
|
|
119
|
-
|
|
120
|
-
minimax # Launch MiniMax variant
|
|
121
|
-
mclaude # Launch Mirror Claude variant
|
|
125
|
+
npx cc-mirror quick --provider mirror --name mclaude
|
|
122
126
|
```
|
|
123
127
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
- **Direct Anthropic API** — No proxy, authenticate normally (OAuth or API key)
|
|
129
|
+
- **Team mode enabled** — The hidden tools, unlocked
|
|
130
|
+
- **Orchestrator skill** — Battle-tested multi-agent coordination
|
|
131
|
+
- **Isolated config** — Experiment without affecting your main setup
|
|
127
132
|
|
|
128
|
-
|
|
129
|
-
| -------------------------- | -------------------------------------------------------------------------------------- |
|
|
130
|
-
| **🔌 Multiple Providers** | Z.ai, MiniMax, OpenRouter, CCRouter, Mirror, or custom endpoints |
|
|
131
|
-
| **📁 Complete Isolation** | Each variant has its own config, sessions, and credentials |
|
|
132
|
-
| **🎨 Brand Themes** | Custom color schemes per provider via [tweakcc](https://github.com/Piebald-AI/tweakcc) |
|
|
133
|
-
| **📝 Prompt Packs** | Enhanced system prompts for Z.ai and MiniMax |
|
|
134
|
-
| **🤖 Team Mode** | Multi-agent collaboration with shared task management |
|
|
135
|
-
| **📋 Tasks CLI** | Manage, archive, and visualize task dependencies from command line |
|
|
136
|
-
| **🔄 One-Command Updates** | Update all variants when Claude Code releases |
|
|
133
|
+
### Alternative Providers
|
|
137
134
|
|
|
138
|
-
|
|
135
|
+
Want to use different models? CC-MIRROR supports multiple providers, all with team mode:
|
|
139
136
|
|
|
140
|
-
|
|
137
|
+
| Provider | Models | Auth | Best For |
|
|
138
|
+
|----------|--------|------|----------|
|
|
139
|
+
| **Z.ai** | GLM-4.7, GLM-4.5-Air | API Key | Heavy coding with GLM reasoning |
|
|
140
|
+
| **MiniMax** | MiniMax-M2.1 | API Key | Unified model experience |
|
|
141
|
+
| **OpenRouter** | 100+ models | Auth Token | Model flexibility, pay-per-use |
|
|
142
|
+
| **CCRouter** | Ollama, DeepSeek, etc. | Optional | Local-first development |
|
|
141
143
|
|
|
142
144
|
```bash
|
|
143
|
-
#
|
|
144
|
-
cc-mirror
|
|
145
|
-
cc-mirror quick [options] # Fast setup with defaults
|
|
146
|
-
cc-mirror list # List all variants
|
|
147
|
-
cc-mirror update [name] # Update one or all variants
|
|
148
|
-
cc-mirror remove <name> # Delete a variant
|
|
149
|
-
cc-mirror doctor # Health check all variants
|
|
150
|
-
|
|
151
|
-
# Task management (team mode)
|
|
152
|
-
cc-mirror tasks # List open tasks
|
|
153
|
-
cc-mirror tasks show <id> # Show task details
|
|
154
|
-
cc-mirror tasks create # Create new task
|
|
155
|
-
cc-mirror tasks update <id> # Update task
|
|
156
|
-
cc-mirror tasks delete <id> # Delete task
|
|
157
|
-
cc-mirror tasks archive <id> # Archive task
|
|
158
|
-
cc-mirror tasks clean # Bulk cleanup
|
|
159
|
-
cc-mirror tasks graph # Visualize dependencies
|
|
145
|
+
# Z.ai (GLM Coding Plan)
|
|
146
|
+
npx cc-mirror quick --provider zai --api-key "$Z_AI_API_KEY"
|
|
160
147
|
|
|
161
|
-
#
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
148
|
+
# MiniMax (MiniMax-M2.1)
|
|
149
|
+
npx cc-mirror quick --provider minimax --api-key "$MINIMAX_API_KEY"
|
|
150
|
+
|
|
151
|
+
# OpenRouter (100+ models)
|
|
152
|
+
npx cc-mirror quick --provider openrouter --api-key "$OPENROUTER_API_KEY" \
|
|
153
|
+
--model-sonnet "anthropic/claude-sonnet-4-20250514"
|
|
154
|
+
|
|
155
|
+
# Claude Code Router (local LLMs)
|
|
156
|
+
npx cc-mirror quick --provider ccrouter
|
|
165
157
|
```
|
|
166
158
|
|
|
167
159
|
---
|
|
168
160
|
|
|
169
|
-
##
|
|
161
|
+
## The Orchestrator Skill
|
|
162
|
+
|
|
163
|
+
When team mode is enabled, CC-MIRROR installs an **orchestrator skill** that teaches Claude how to coordinate work effectively.
|
|
164
|
+
|
|
165
|
+
### The Conductor Identity
|
|
166
|
+
|
|
167
|
+
Claude becomes "The Conductor" — a warm, capable orchestrator who transforms ambitious requests into elegant execution:
|
|
170
168
|
|
|
171
169
|
```
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
--no-tweak Skip tweakcc theme
|
|
182
|
-
--no-prompt-pack Skip prompt pack
|
|
170
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
171
|
+
│ │
|
|
172
|
+
│ You are the Conductor. Users bring the vision. │
|
|
173
|
+
│ You orchestrate the symphony of agents that makes it real. │
|
|
174
|
+
│ │
|
|
175
|
+
│ Complex work should feel effortless. │
|
|
176
|
+
│ That's your gift to every user. │
|
|
177
|
+
│ │
|
|
178
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
183
179
|
```
|
|
184
180
|
|
|
185
|
-
|
|
181
|
+
### What It Provides
|
|
186
182
|
|
|
187
|
-
|
|
183
|
+
| Aspect | What Claude Learns |
|
|
184
|
+
|--------|-------------------|
|
|
185
|
+
| **Task Graph** | Decompose work into tasks with dependencies |
|
|
186
|
+
| **Parallel Execution** | Fan-out, pipeline, map-reduce patterns |
|
|
187
|
+
| **Background Agents** | Spawn agents that work while you continue |
|
|
188
|
+
| **Smart Prompting** | Context, scope, constraints, output expectations |
|
|
189
|
+
| **Progress Updates** | Milestone celebrations, warm professional tone |
|
|
188
190
|
|
|
189
|
-
|
|
191
|
+
### Example Flow
|
|
190
192
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
193
|
+
```
|
|
194
|
+
User: "Build me a REST API for todo management with tests"
|
|
195
|
+
|
|
196
|
+
Claude (The Conductor):
|
|
197
|
+
├── Clarifies requirements (AskUserQuestion with rich options)
|
|
198
|
+
├── Creates task graph with dependencies
|
|
199
|
+
├── Spawns background agents for parallel work:
|
|
200
|
+
│ ├── Agent 1: Database schema
|
|
201
|
+
│ ├── Agent 2: API routes (blocked by schema)
|
|
202
|
+
│ └── Agent 3: Test setup
|
|
203
|
+
├── Continues working while agents execute
|
|
204
|
+
├── Synthesizes results
|
|
205
|
+
└── Delivers unified output
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
> [Full Team Mode Documentation](docs/features/team-mode.md)
|
|
198
209
|
|
|
199
210
|
---
|
|
200
211
|
|
|
201
|
-
##
|
|
212
|
+
## Project-Scoped Tasks
|
|
202
213
|
|
|
203
|
-
|
|
214
|
+
Tasks are automatically isolated by project folder — no cross-project pollution:
|
|
204
215
|
|
|
205
216
|
```bash
|
|
206
|
-
|
|
207
|
-
|
|
217
|
+
cd ~/projects/api && mclaude # Team: mclaude-api
|
|
218
|
+
cd ~/projects/frontend && mclaude # Team: mclaude-frontend
|
|
208
219
|
|
|
209
|
-
#
|
|
210
|
-
|
|
220
|
+
# Multiple teams in the same project
|
|
221
|
+
TEAM=backend mclaude # Team: mclaude-myproject-backend
|
|
222
|
+
TEAM=frontend mclaude # Team: mclaude-myproject-frontend
|
|
211
223
|
```
|
|
212
224
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
### Tasks CLI (v1.4.0+)
|
|
225
|
+
### CLI Task Management
|
|
216
226
|
|
|
217
227
|
Manage team tasks from the command line:
|
|
218
228
|
|
|
219
229
|
```bash
|
|
220
|
-
# List open tasks
|
|
221
|
-
cc-mirror tasks
|
|
230
|
+
npx cc-mirror tasks # List open tasks
|
|
231
|
+
npx cc-mirror tasks show 18 # Show task details
|
|
232
|
+
npx cc-mirror tasks create # Create new task
|
|
233
|
+
npx cc-mirror tasks update 5 --status resolved
|
|
234
|
+
npx cc-mirror tasks graph # Visualize dependencies
|
|
235
|
+
npx cc-mirror tasks clean --resolved # Cleanup done tasks
|
|
236
|
+
```
|
|
222
237
|
|
|
223
|
-
|
|
224
|
-
cc-mirror tasks --all
|
|
238
|
+
---
|
|
225
239
|
|
|
226
|
-
|
|
227
|
-
cc-mirror tasks create --subject "Add auth" --description "JWT implementation"
|
|
228
|
-
cc-mirror tasks update 5 --status resolved --add-comment "Done"
|
|
240
|
+
## Disabling Team Mode
|
|
229
241
|
|
|
230
|
-
|
|
231
|
-
cc-mirror tasks clean --resolved --dry-run
|
|
232
|
-
cc-mirror tasks clean --resolved --force
|
|
242
|
+
Team mode is enabled by default on all variants. If you want vanilla Claude Code behavior:
|
|
233
243
|
|
|
234
|
-
|
|
235
|
-
|
|
244
|
+
```bash
|
|
245
|
+
# Create without team mode
|
|
246
|
+
npx cc-mirror create --provider mirror --name vanilla --no-team-mode
|
|
236
247
|
|
|
237
|
-
#
|
|
238
|
-
cc-mirror
|
|
248
|
+
# Disable on existing variant
|
|
249
|
+
npx cc-mirror update myvariant --disable-team-mode
|
|
239
250
|
```
|
|
240
251
|
|
|
241
|
-
|
|
252
|
+
Or toggle via the TUI: **Manage Variants → Toggle Team Mode**
|
|
253
|
+
|
|
254
|
+
---
|
|
242
255
|
|
|
243
|
-
|
|
256
|
+
## All Commands
|
|
244
257
|
|
|
245
258
|
```bash
|
|
246
|
-
#
|
|
247
|
-
|
|
248
|
-
|
|
259
|
+
# Create & manage variants
|
|
260
|
+
npx cc-mirror # Interactive TUI
|
|
261
|
+
npx cc-mirror quick [options] # Fast setup with defaults
|
|
262
|
+
npx cc-mirror create [options] # Full configuration wizard
|
|
263
|
+
npx cc-mirror list # List all variants
|
|
264
|
+
npx cc-mirror update [name] # Update one or all variants
|
|
265
|
+
npx cc-mirror remove <name> # Delete a variant
|
|
266
|
+
npx cc-mirror doctor # Health check all variants
|
|
267
|
+
npx cc-mirror tweak <name> # Launch tweakcc customization
|
|
268
|
+
|
|
269
|
+
# Task management
|
|
270
|
+
npx cc-mirror tasks # List open tasks
|
|
271
|
+
npx cc-mirror tasks show <id> # Show task details
|
|
272
|
+
npx cc-mirror tasks create # Create new task
|
|
273
|
+
npx cc-mirror tasks update <id> # Update task
|
|
274
|
+
npx cc-mirror tasks delete <id> # Delete task
|
|
275
|
+
npx cc-mirror tasks archive <id> # Archive task
|
|
276
|
+
npx cc-mirror tasks clean # Bulk cleanup
|
|
277
|
+
npx cc-mirror tasks graph # Visualize dependencies
|
|
249
278
|
|
|
250
|
-
#
|
|
251
|
-
|
|
252
|
-
|
|
279
|
+
# Launch your variant
|
|
280
|
+
mclaude # Run Mirror Claude
|
|
281
|
+
zai # Run Z.ai variant
|
|
282
|
+
minimax # Run MiniMax variant
|
|
253
283
|
```
|
|
254
284
|
|
|
255
|
-
→ [Team Mode Documentation](docs/features/team-mode.md)
|
|
256
|
-
|
|
257
285
|
---
|
|
258
286
|
|
|
259
|
-
##
|
|
287
|
+
## CLI Options
|
|
260
288
|
|
|
261
|
-
|
|
289
|
+
```
|
|
290
|
+
--provider <name> mirror | zai | minimax | openrouter | ccrouter | custom
|
|
291
|
+
--name <name> Variant name (becomes the CLI command)
|
|
292
|
+
--api-key <key> Provider API key
|
|
293
|
+
--base-url <url> Custom API endpoint
|
|
294
|
+
--model-sonnet <name> Map to sonnet model
|
|
295
|
+
--model-opus <name> Map to opus model
|
|
296
|
+
--model-haiku <name> Map to haiku model
|
|
297
|
+
--brand <preset> Theme: auto | zai | minimax | openrouter | ccrouter | mirror
|
|
298
|
+
--no-team-mode Disable team mode (not recommended)
|
|
299
|
+
--no-tweak Skip tweakcc theme
|
|
300
|
+
--no-prompt-pack Skip provider prompt pack
|
|
301
|
+
```
|
|
262
302
|
|
|
263
|
-
|
|
264
|
-
- **Team mode** — Enabled by default
|
|
265
|
-
- **Isolated config** — Experiment without affecting your main setup
|
|
266
|
-
- **Custom theme** — Silver/chrome aesthetic
|
|
303
|
+
---
|
|
267
304
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
```
|
|
305
|
+
## Brand Themes
|
|
306
|
+
|
|
307
|
+
Each provider includes a custom color theme via [tweakcc](https://github.com/Piebald-AI/tweakcc):
|
|
272
308
|
|
|
273
|
-
|
|
309
|
+
| Brand | Style |
|
|
310
|
+
|-------|-------|
|
|
311
|
+
| **mirror** | Silver/chrome with electric blue |
|
|
312
|
+
| **zai** | Dark carbon with gold accents |
|
|
313
|
+
| **minimax** | Coral/red/orange spectrum |
|
|
314
|
+
| **openrouter** | Teal/cyan gradient |
|
|
315
|
+
| **ccrouter** | Sky blue accents |
|
|
274
316
|
|
|
275
317
|
---
|
|
276
318
|
|
|
277
|
-
##
|
|
319
|
+
## Documentation
|
|
278
320
|
|
|
279
|
-
| Document
|
|
280
|
-
|
|
281
|
-
| [Team Mode](docs/features/team-mode.md)
|
|
282
|
-
| [Mirror Claude](docs/features/mirror-claude.md) | Pure Claude Code with
|
|
283
|
-
| [Architecture](docs/architecture/overview.md)
|
|
284
|
-
| [Full Documentation](docs/README.md)
|
|
321
|
+
| Document | Description |
|
|
322
|
+
|----------|-------------|
|
|
323
|
+
| [Team Mode](docs/features/team-mode.md) | Multi-agent collaboration deep dive |
|
|
324
|
+
| [Mirror Claude](docs/features/mirror-claude.md) | Pure Claude Code with superpowers |
|
|
325
|
+
| [Architecture](docs/architecture/overview.md) | How CC-MIRROR works under the hood |
|
|
326
|
+
| [Full Documentation](docs/README.md) | Complete documentation index |
|
|
285
327
|
|
|
286
328
|
---
|
|
287
329
|
|
|
288
|
-
##
|
|
330
|
+
## Related Projects
|
|
289
331
|
|
|
290
332
|
- [tweakcc](https://github.com/Piebald-AI/tweakcc) — Theme and customize Claude Code
|
|
291
333
|
- [Claude Code Router](https://github.com/musistudio/claude-code-router) — Route Claude Code to any LLM
|
|
@@ -293,7 +335,7 @@ mclaude # Authenticate via OAuth or API key
|
|
|
293
335
|
|
|
294
336
|
---
|
|
295
337
|
|
|
296
|
-
##
|
|
338
|
+
## Contributing
|
|
297
339
|
|
|
298
340
|
Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup.
|
|
299
341
|
|
|
@@ -301,7 +343,7 @@ Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for development se
|
|
|
301
343
|
|
|
302
344
|
---
|
|
303
345
|
|
|
304
|
-
##
|
|
346
|
+
## License
|
|
305
347
|
|
|
306
348
|
MIT — see [LICENSE](LICENSE)
|
|
307
349
|
|
package/dist/cc-mirror.mjs
CHANGED
|
@@ -92,34 +92,40 @@ var printHelp = () => {
|
|
|
92
92
|
console.log(`
|
|
93
93
|
\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557
|
|
94
94
|
\u2551 CC-MIRROR \u2551
|
|
95
|
-
\u2551
|
|
95
|
+
\u2551 Claude Code, Unshackled \u2551
|
|
96
96
|
\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
Pre-configured Claude Code variants with multi-agent orchestration,
|
|
99
|
+
custom providers, and battle-tested enhancements.
|
|
100
|
+
|
|
101
|
+
One command. Instant power-up.
|
|
102
|
+
|
|
103
|
+
THE UNLOCK
|
|
104
|
+
Claude Code has a hidden multi-agent capability. CC-MIRROR enables it.
|
|
105
|
+
Team mode unlocks: TaskCreate, TaskGet, TaskUpdate, TaskList tools
|
|
106
|
+
plus a battle-tested orchestrator skill for coordinating agents.
|
|
102
107
|
|
|
103
108
|
QUICK START
|
|
104
|
-
cc-mirror quick
|
|
105
|
-
cc-mirror
|
|
109
|
+
npx cc-mirror quick --provider mirror # Fastest path to multi-agent
|
|
110
|
+
npx cc-mirror quick --provider zai # Z.ai with GLM models
|
|
111
|
+
npx cc-mirror # Interactive TUI
|
|
106
112
|
|
|
107
113
|
COMMANDS
|
|
108
|
-
|
|
109
|
-
|
|
114
|
+
quick [options] Fast setup: provider \u2192 ready in 30s
|
|
115
|
+
create [options] Full configuration wizard
|
|
110
116
|
list List all variants
|
|
111
117
|
update [name] Update to latest Claude Code
|
|
112
118
|
remove <name> Remove a variant
|
|
113
119
|
doctor Health check all variants
|
|
114
120
|
tweak <name> Launch tweakcc customization
|
|
115
|
-
tasks [operation] Manage team tasks (list, show, create, update, delete, clean)
|
|
121
|
+
tasks [operation] Manage team tasks (list, show, create, update, delete, clean, graph)
|
|
116
122
|
|
|
117
123
|
OPTIONS (create/quick)
|
|
118
124
|
--name <name> Variant name (becomes CLI command)
|
|
119
|
-
--provider <name> Provider: zai | minimax | openrouter | ccrouter
|
|
125
|
+
--provider <name> Provider: mirror | zai | minimax | openrouter | ccrouter
|
|
120
126
|
--api-key <key> Provider API key
|
|
121
|
-
--brand <preset> Theme: auto | none | zai | minimax
|
|
122
|
-
--
|
|
127
|
+
--brand <preset> Theme: auto | none | mirror | zai | minimax
|
|
128
|
+
--no-team-mode Disable team mode (not recommended)
|
|
123
129
|
--tui / --no-tui Force TUI on/off
|
|
124
130
|
|
|
125
131
|
OPTIONS (advanced)
|
|
@@ -131,14 +137,20 @@ OPTIONS (advanced)
|
|
|
131
137
|
--bin-dir <path> Wrapper install dir (default: ~/.local/bin)
|
|
132
138
|
--no-tweak Skip tweakcc theming
|
|
133
139
|
--no-prompt-pack Skip provider prompt pack
|
|
134
|
-
--
|
|
135
|
-
|
|
140
|
+
--shell-env Write env vars to shell profile
|
|
141
|
+
|
|
142
|
+
PROVIDERS
|
|
143
|
+
mirror Pure Claude with team mode (recommended)
|
|
144
|
+
zai GLM-4.7 via Z.ai Coding Plan
|
|
145
|
+
minimax MiniMax-M2.1 via MiniMax Cloud
|
|
146
|
+
openrouter 100+ models via OpenRouter
|
|
147
|
+
ccrouter Local LLMs via Claude Code Router
|
|
136
148
|
|
|
137
149
|
EXAMPLES
|
|
138
|
-
cc-mirror quick --provider
|
|
139
|
-
cc-mirror
|
|
140
|
-
cc-mirror
|
|
141
|
-
cc-mirror doctor
|
|
150
|
+
npx cc-mirror quick --provider mirror --name mclaude
|
|
151
|
+
npx cc-mirror quick --provider zai --api-key "$Z_AI_API_KEY"
|
|
152
|
+
npx cc-mirror tasks graph
|
|
153
|
+
npx cc-mirror doctor
|
|
142
154
|
|
|
143
155
|
LEARN MORE
|
|
144
156
|
https://github.com/numman-ali/cc-mirror
|
|
@@ -1990,10 +2002,33 @@ import path17 from "node:path";
|
|
|
1990
2002
|
var DEFAULT_TIMEOUT_MS = "3000000";
|
|
1991
2003
|
var CCROUTER_AUTH_FALLBACK = "ccrouter-proxy";
|
|
1992
2004
|
var PROVIDERS = {
|
|
2005
|
+
mirror: {
|
|
2006
|
+
key: "mirror",
|
|
2007
|
+
label: "Mirror Claude",
|
|
2008
|
+
description: "Pure Claude with team mode \u2014 the fastest path to multi-agent",
|
|
2009
|
+
baseUrl: "",
|
|
2010
|
+
// Empty = use Claude Code defaults (no ANTHROPIC_BASE_URL override)
|
|
2011
|
+
env: {
|
|
2012
|
+
// Only cosmetic settings - no auth or model overrides
|
|
2013
|
+
CC_MIRROR_SPLASH: 1,
|
|
2014
|
+
CC_MIRROR_PROVIDER_LABEL: "Mirror Claude",
|
|
2015
|
+
CC_MIRROR_SPLASH_STYLE: "mirror"
|
|
2016
|
+
},
|
|
2017
|
+
apiKeyLabel: "",
|
|
2018
|
+
// Empty = skip API key prompt
|
|
2019
|
+
authMode: "none",
|
|
2020
|
+
// No auth handling - user authenticates via normal Claude flow
|
|
2021
|
+
credentialOptional: true,
|
|
2022
|
+
// No credentials required at create time
|
|
2023
|
+
enablesTeamMode: true,
|
|
2024
|
+
// Auto-enable team mode patch
|
|
2025
|
+
noPromptPack: true
|
|
2026
|
+
// Skip prompt pack (pure Claude experience)
|
|
2027
|
+
},
|
|
1993
2028
|
zai: {
|
|
1994
2029
|
key: "zai",
|
|
1995
2030
|
label: "Zai Cloud",
|
|
1996
|
-
description: "GLM Coding Plan
|
|
2031
|
+
description: "GLM-4.7 via Z.ai Coding Plan",
|
|
1997
2032
|
baseUrl: "https://api.z.ai/api/anthropic",
|
|
1998
2033
|
env: {
|
|
1999
2034
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -2009,7 +2044,7 @@ var PROVIDERS = {
|
|
|
2009
2044
|
minimax: {
|
|
2010
2045
|
key: "minimax",
|
|
2011
2046
|
label: "MiniMax Cloud",
|
|
2012
|
-
description: "MiniMax-M2.1 via
|
|
2047
|
+
description: "MiniMax-M2.1 via MiniMax Cloud",
|
|
2013
2048
|
baseUrl: "https://api.minimax.io/anthropic",
|
|
2014
2049
|
env: {
|
|
2015
2050
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -2028,7 +2063,7 @@ var PROVIDERS = {
|
|
|
2028
2063
|
openrouter: {
|
|
2029
2064
|
key: "openrouter",
|
|
2030
2065
|
label: "OpenRouter",
|
|
2031
|
-
description: "
|
|
2066
|
+
description: "100+ models via OpenRouter gateway",
|
|
2032
2067
|
baseUrl: "https://openrouter.ai/api",
|
|
2033
2068
|
env: {
|
|
2034
2069
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -2043,7 +2078,7 @@ var PROVIDERS = {
|
|
|
2043
2078
|
ccrouter: {
|
|
2044
2079
|
key: "ccrouter",
|
|
2045
2080
|
label: "Claude Code Router",
|
|
2046
|
-
description: "
|
|
2081
|
+
description: "Local LLMs via Claude Code Router",
|
|
2047
2082
|
baseUrl: "http://127.0.0.1:3456",
|
|
2048
2083
|
env: {
|
|
2049
2084
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -2058,29 +2093,6 @@ var PROVIDERS = {
|
|
|
2058
2093
|
credentialOptional: true
|
|
2059
2094
|
// No API key needed - CCRouter handles auth
|
|
2060
2095
|
},
|
|
2061
|
-
mirror: {
|
|
2062
|
-
key: "mirror",
|
|
2063
|
-
label: "Mirror Claude",
|
|
2064
|
-
description: "Pure Claude Code with advanced features (team mode, custom theme)",
|
|
2065
|
-
baseUrl: "",
|
|
2066
|
-
// Empty = use Claude Code defaults (no ANTHROPIC_BASE_URL override)
|
|
2067
|
-
env: {
|
|
2068
|
-
// Only cosmetic settings - no auth or model overrides
|
|
2069
|
-
CC_MIRROR_SPLASH: 1,
|
|
2070
|
-
CC_MIRROR_PROVIDER_LABEL: "Mirror Claude",
|
|
2071
|
-
CC_MIRROR_SPLASH_STYLE: "mirror"
|
|
2072
|
-
},
|
|
2073
|
-
apiKeyLabel: "",
|
|
2074
|
-
// Empty = skip API key prompt
|
|
2075
|
-
authMode: "none",
|
|
2076
|
-
// No auth handling - user authenticates via normal Claude flow
|
|
2077
|
-
credentialOptional: true,
|
|
2078
|
-
// No credentials required at create time
|
|
2079
|
-
enablesTeamMode: true,
|
|
2080
|
-
// Auto-enable team mode patch
|
|
2081
|
-
noPromptPack: true
|
|
2082
|
-
// Skip prompt pack (pure Claude experience)
|
|
2083
|
-
},
|
|
2084
2096
|
custom: {
|
|
2085
2097
|
key: "custom",
|
|
2086
2098
|
label: "Custom",
|
|
@@ -5934,10 +5946,10 @@ function parseIds(value) {
|
|
|
5934
5946
|
}
|
|
5935
5947
|
function showTasksHelp() {
|
|
5936
5948
|
console.log(`
|
|
5937
|
-
cc-mirror tasks - Manage team tasks
|
|
5949
|
+
npx cc-mirror tasks - Manage team tasks
|
|
5938
5950
|
|
|
5939
5951
|
USAGE:
|
|
5940
|
-
cc-mirror tasks [operation] [id] [options]
|
|
5952
|
+
npx cc-mirror tasks [operation] [id] [options]
|
|
5941
5953
|
|
|
5942
5954
|
OPERATIONS:
|
|
5943
5955
|
list List tasks (default if no operation specified)
|
|
@@ -5990,13 +6002,13 @@ CLEAN OPTIONS:
|
|
|
5990
6002
|
--force Skip confirmation
|
|
5991
6003
|
|
|
5992
6004
|
EXAMPLES:
|
|
5993
|
-
cc-mirror tasks # List open tasks
|
|
5994
|
-
cc-mirror tasks --status all # List all tasks
|
|
5995
|
-
cc-mirror tasks show 5 # Show task #5
|
|
5996
|
-
cc-mirror tasks create --subject "Fix bug" --description "..."
|
|
5997
|
-
cc-mirror tasks update 5 --status resolved
|
|
5998
|
-
cc-mirror tasks delete 5 --force
|
|
5999
|
-
cc-mirror tasks clean --resolved --dry-run
|
|
6005
|
+
npx cc-mirror tasks # List open tasks
|
|
6006
|
+
npx cc-mirror tasks --status all # List all tasks
|
|
6007
|
+
npx cc-mirror tasks show 5 # Show task #5
|
|
6008
|
+
npx cc-mirror tasks create --subject "Fix bug" --description "..."
|
|
6009
|
+
npx cc-mirror tasks update 5 --status resolved
|
|
6010
|
+
npx cc-mirror tasks delete 5 --force
|
|
6011
|
+
npx cc-mirror tasks clean --resolved --dry-run
|
|
6000
6012
|
`);
|
|
6001
6013
|
}
|
|
6002
6014
|
async function runTasksCommand({ opts }) {
|
|
@@ -6016,7 +6028,7 @@ async function runTasksCommand({ opts }) {
|
|
|
6016
6028
|
switch (operation) {
|
|
6017
6029
|
case "show": {
|
|
6018
6030
|
if (!taskId) {
|
|
6019
|
-
console.error("Error: Task ID required. Usage: cc-mirror tasks show <id>");
|
|
6031
|
+
console.error("Error: Task ID required. Usage: npx cc-mirror tasks show <id>");
|
|
6020
6032
|
process.exitCode = 1;
|
|
6021
6033
|
return;
|
|
6022
6034
|
}
|
|
@@ -6045,7 +6057,7 @@ async function runTasksCommand({ opts }) {
|
|
|
6045
6057
|
}
|
|
6046
6058
|
case "update": {
|
|
6047
6059
|
if (!taskId) {
|
|
6048
|
-
console.error("Error: Task ID required. Usage: cc-mirror tasks update <id>");
|
|
6060
|
+
console.error("Error: Task ID required. Usage: npx cc-mirror tasks update <id>");
|
|
6049
6061
|
process.exitCode = 1;
|
|
6050
6062
|
return;
|
|
6051
6063
|
}
|
|
@@ -6070,7 +6082,7 @@ async function runTasksCommand({ opts }) {
|
|
|
6070
6082
|
}
|
|
6071
6083
|
case "delete": {
|
|
6072
6084
|
if (!taskId) {
|
|
6073
|
-
console.error("Error: Task ID required. Usage: cc-mirror tasks delete <id>");
|
|
6085
|
+
console.error("Error: Task ID required. Usage: npx cc-mirror tasks delete <id>");
|
|
6074
6086
|
process.exitCode = 1;
|
|
6075
6087
|
return;
|
|
6076
6088
|
}
|
|
@@ -6135,7 +6147,7 @@ async function runTasksCommand({ opts }) {
|
|
|
6135
6147
|
}
|
|
6136
6148
|
default:
|
|
6137
6149
|
console.error(`Unknown operation: ${operation}`);
|
|
6138
|
-
console.error('Run "cc-mirror tasks --help" for usage.');
|
|
6150
|
+
console.error('Run "npx cc-mirror tasks --help" for usage.');
|
|
6139
6151
|
process.exitCode = 1;
|
|
6140
6152
|
}
|
|
6141
6153
|
}
|
|
@@ -5,7 +5,7 @@ description: CLI tool for managing team tasks outside of Claude Code's built-in
|
|
|
5
5
|
|
|
6
6
|
# Task Manager CLI
|
|
7
7
|
|
|
8
|
-
You have access to `cc-mirror tasks` - a CLI for managing team tasks.
|
|
8
|
+
You have access to `npx cc-mirror tasks` - a CLI for managing team tasks.
|
|
9
9
|
|
|
10
10
|
## Auto-Detection
|
|
11
11
|
|
|
@@ -20,24 +20,24 @@ No need to specify `--variant` or `--team` in most cases.
|
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
# List tasks
|
|
23
|
-
cc-mirror tasks # Open tasks (default)
|
|
24
|
-
cc-mirror tasks --status all # All tasks
|
|
23
|
+
npx cc-mirror tasks # Open tasks (default)
|
|
24
|
+
npx cc-mirror tasks --status all # All tasks
|
|
25
25
|
|
|
26
26
|
# View dependencies
|
|
27
|
-
cc-mirror tasks graph # Visual dependency tree
|
|
27
|
+
npx cc-mirror tasks graph # Visual dependency tree
|
|
28
28
|
|
|
29
29
|
# Archive resolved tasks (preserves history)
|
|
30
|
-
cc-mirror tasks archive --resolved --dry-run # Preview
|
|
31
|
-
cc-mirror tasks archive --resolved # Execute
|
|
30
|
+
npx cc-mirror tasks archive --resolved --dry-run # Preview
|
|
31
|
+
npx cc-mirror tasks archive --resolved # Execute
|
|
32
32
|
|
|
33
33
|
# Delete permanently (no history)
|
|
34
|
-
cc-mirror tasks clean --resolved --dry-run # Preview
|
|
35
|
-
cc-mirror tasks clean --resolved # Execute
|
|
34
|
+
npx cc-mirror tasks clean --resolved --dry-run # Preview
|
|
35
|
+
npx cc-mirror tasks clean --resolved # Execute
|
|
36
36
|
|
|
37
37
|
# Single task operations
|
|
38
|
-
cc-mirror tasks show <id> # View details
|
|
39
|
-
cc-mirror tasks archive <id> # Archive one task
|
|
40
|
-
cc-mirror tasks delete <id> # Delete one task
|
|
38
|
+
npx cc-mirror tasks show <id> # View details
|
|
39
|
+
npx cc-mirror tasks archive <id> # Archive one task
|
|
40
|
+
npx cc-mirror tasks delete <id> # Delete one task
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
## When to Use
|
|
@@ -62,16 +62,16 @@ By default, commands target your current team. To view others:
|
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
64
|
# Different team in same variant
|
|
65
|
-
cc-mirror tasks --team other-project
|
|
65
|
+
npx cc-mirror tasks --team other-project
|
|
66
66
|
|
|
67
67
|
# Different variant
|
|
68
|
-
cc-mirror tasks --variant zai --team my-project
|
|
68
|
+
npx cc-mirror tasks --variant zai --team my-project
|
|
69
69
|
|
|
70
70
|
# All teams in current variant
|
|
71
|
-
cc-mirror tasks --all
|
|
71
|
+
npx cc-mirror tasks --all
|
|
72
72
|
|
|
73
73
|
# All variants, all teams
|
|
74
|
-
cc-mirror tasks --all-variants --all
|
|
74
|
+
npx cc-mirror tasks --all-variants --all
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
Ask the user which team/variant they want to view using `AskUserQuestion`.
|
package/dist/tui.mjs
CHANGED
|
@@ -1849,10 +1849,33 @@ __export(providers_exports, {
|
|
|
1849
1849
|
var DEFAULT_TIMEOUT_MS = "3000000";
|
|
1850
1850
|
var CCROUTER_AUTH_FALLBACK = "ccrouter-proxy";
|
|
1851
1851
|
var PROVIDERS = {
|
|
1852
|
+
mirror: {
|
|
1853
|
+
key: "mirror",
|
|
1854
|
+
label: "Mirror Claude",
|
|
1855
|
+
description: "Pure Claude with team mode \u2014 the fastest path to multi-agent",
|
|
1856
|
+
baseUrl: "",
|
|
1857
|
+
// Empty = use Claude Code defaults (no ANTHROPIC_BASE_URL override)
|
|
1858
|
+
env: {
|
|
1859
|
+
// Only cosmetic settings - no auth or model overrides
|
|
1860
|
+
CC_MIRROR_SPLASH: 1,
|
|
1861
|
+
CC_MIRROR_PROVIDER_LABEL: "Mirror Claude",
|
|
1862
|
+
CC_MIRROR_SPLASH_STYLE: "mirror"
|
|
1863
|
+
},
|
|
1864
|
+
apiKeyLabel: "",
|
|
1865
|
+
// Empty = skip API key prompt
|
|
1866
|
+
authMode: "none",
|
|
1867
|
+
// No auth handling - user authenticates via normal Claude flow
|
|
1868
|
+
credentialOptional: true,
|
|
1869
|
+
// No credentials required at create time
|
|
1870
|
+
enablesTeamMode: true,
|
|
1871
|
+
// Auto-enable team mode patch
|
|
1872
|
+
noPromptPack: true
|
|
1873
|
+
// Skip prompt pack (pure Claude experience)
|
|
1874
|
+
},
|
|
1852
1875
|
zai: {
|
|
1853
1876
|
key: "zai",
|
|
1854
1877
|
label: "Zai Cloud",
|
|
1855
|
-
description: "GLM Coding Plan
|
|
1878
|
+
description: "GLM-4.7 via Z.ai Coding Plan",
|
|
1856
1879
|
baseUrl: "https://api.z.ai/api/anthropic",
|
|
1857
1880
|
env: {
|
|
1858
1881
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -1868,7 +1891,7 @@ var PROVIDERS = {
|
|
|
1868
1891
|
minimax: {
|
|
1869
1892
|
key: "minimax",
|
|
1870
1893
|
label: "MiniMax Cloud",
|
|
1871
|
-
description: "MiniMax-M2.1 via
|
|
1894
|
+
description: "MiniMax-M2.1 via MiniMax Cloud",
|
|
1872
1895
|
baseUrl: "https://api.minimax.io/anthropic",
|
|
1873
1896
|
env: {
|
|
1874
1897
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -1887,7 +1910,7 @@ var PROVIDERS = {
|
|
|
1887
1910
|
openrouter: {
|
|
1888
1911
|
key: "openrouter",
|
|
1889
1912
|
label: "OpenRouter",
|
|
1890
|
-
description: "
|
|
1913
|
+
description: "100+ models via OpenRouter gateway",
|
|
1891
1914
|
baseUrl: "https://openrouter.ai/api",
|
|
1892
1915
|
env: {
|
|
1893
1916
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -1902,7 +1925,7 @@ var PROVIDERS = {
|
|
|
1902
1925
|
ccrouter: {
|
|
1903
1926
|
key: "ccrouter",
|
|
1904
1927
|
label: "Claude Code Router",
|
|
1905
|
-
description: "
|
|
1928
|
+
description: "Local LLMs via Claude Code Router",
|
|
1906
1929
|
baseUrl: "http://127.0.0.1:3456",
|
|
1907
1930
|
env: {
|
|
1908
1931
|
API_TIMEOUT_MS: DEFAULT_TIMEOUT_MS,
|
|
@@ -1917,29 +1940,6 @@ var PROVIDERS = {
|
|
|
1917
1940
|
credentialOptional: true
|
|
1918
1941
|
// No API key needed - CCRouter handles auth
|
|
1919
1942
|
},
|
|
1920
|
-
mirror: {
|
|
1921
|
-
key: "mirror",
|
|
1922
|
-
label: "Mirror Claude",
|
|
1923
|
-
description: "Pure Claude Code with advanced features (team mode, custom theme)",
|
|
1924
|
-
baseUrl: "",
|
|
1925
|
-
// Empty = use Claude Code defaults (no ANTHROPIC_BASE_URL override)
|
|
1926
|
-
env: {
|
|
1927
|
-
// Only cosmetic settings - no auth or model overrides
|
|
1928
|
-
CC_MIRROR_SPLASH: 1,
|
|
1929
|
-
CC_MIRROR_PROVIDER_LABEL: "Mirror Claude",
|
|
1930
|
-
CC_MIRROR_SPLASH_STYLE: "mirror"
|
|
1931
|
-
},
|
|
1932
|
-
apiKeyLabel: "",
|
|
1933
|
-
// Empty = skip API key prompt
|
|
1934
|
-
authMode: "none",
|
|
1935
|
-
// No auth handling - user authenticates via normal Claude flow
|
|
1936
|
-
credentialOptional: true,
|
|
1937
|
-
// No credentials required at create time
|
|
1938
|
-
enablesTeamMode: true,
|
|
1939
|
-
// Auto-enable team mode patch
|
|
1940
|
-
noPromptPack: true
|
|
1941
|
-
// Skip prompt pack (pure Claude experience)
|
|
1942
|
-
},
|
|
1943
1943
|
custom: {
|
|
1944
1944
|
key: "custom",
|
|
1945
1945
|
label: "Custom",
|
|
@@ -5188,11 +5188,11 @@ var LogoBanner = () => /* @__PURE__ */ jsxs3(Box3, { flexDirection: "column", ch
|
|
|
5188
5188
|
/* @__PURE__ */ jsx3(Text3, { children: /* @__PURE__ */ jsx3(Text3, { color: colors.logo1, children: " \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D" }) }),
|
|
5189
5189
|
/* @__PURE__ */ jsxs3(Text3, { children: [
|
|
5190
5190
|
/* @__PURE__ */ jsx3(Text3, { color: colors.logo1, children: " \u2588\u2588\u2551 \u2588\u2588\u2551 " }),
|
|
5191
|
-
/* @__PURE__ */ jsx3(Text3, { color: colors.textMuted, children: "Claude Code
|
|
5191
|
+
/* @__PURE__ */ jsx3(Text3, { color: colors.textMuted, children: "Claude Code, Unshackled" })
|
|
5192
5192
|
] }),
|
|
5193
5193
|
/* @__PURE__ */ jsxs3(Text3, { children: [
|
|
5194
5194
|
/* @__PURE__ */ jsx3(Text3, { color: colors.logo1, children: " \u2588\u2588\u2551 \u2588\u2588\u2551 " }),
|
|
5195
|
-
/* @__PURE__ */ jsx3(Text3, { color: colors.gold, children: "
|
|
5195
|
+
/* @__PURE__ */ jsx3(Text3, { color: colors.gold, children: "Multi-agent orchestration. One command." })
|
|
5196
5196
|
] }),
|
|
5197
5197
|
/* @__PURE__ */ jsx3(Text3, { children: /* @__PURE__ */ jsx3(Text3, { color: colors.logo1, children: " \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557" }) }),
|
|
5198
5198
|
/* @__PURE__ */ jsx3(Text3, { children: /* @__PURE__ */ jsx3(Text3, { color: colors.logo1, children: " \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D" }) })
|
|
@@ -5370,9 +5370,9 @@ var PROVIDER_EDUCATION = {
|
|
|
5370
5370
|
features: [
|
|
5371
5371
|
"GLM-4.7 for Sonnet/Opus tasks",
|
|
5372
5372
|
"GLM-4.5-Air for Haiku (fast) tasks",
|
|
5373
|
+
"Multi-agent orchestration (team mode)",
|
|
5373
5374
|
"Prompt pack with zai-cli routing",
|
|
5374
|
-
"Gold-themed interface"
|
|
5375
|
-
"Optional team mode for multi-agent work"
|
|
5375
|
+
"Gold-themed interface"
|
|
5376
5376
|
],
|
|
5377
5377
|
bestFor: "Heavy coding with GLM's reasoning capabilities",
|
|
5378
5378
|
models: {
|
|
@@ -5394,10 +5394,10 @@ var PROVIDER_EDUCATION = {
|
|
|
5394
5394
|
tagline: "Coral pulses, unified model",
|
|
5395
5395
|
features: [
|
|
5396
5396
|
"Single model for all tiers",
|
|
5397
|
+
"Multi-agent orchestration (team mode)",
|
|
5397
5398
|
"Prompt pack with MCP tool routing",
|
|
5398
5399
|
"MCP tools for web search & vision",
|
|
5399
|
-
"Coral-themed interface"
|
|
5400
|
-
"Optional team mode for multi-agent work"
|
|
5400
|
+
"Coral-themed interface"
|
|
5401
5401
|
],
|
|
5402
5402
|
bestFor: "Streamlined experience with one powerful model",
|
|
5403
5403
|
models: {
|
|
@@ -5449,16 +5449,16 @@ var PROVIDER_EDUCATION = {
|
|
|
5449
5449
|
setupNote: 'Install: npm i -g @musistudio/claude-code-router, run "ccr start". Configure models in ~/.claude-code-router/config.json'
|
|
5450
5450
|
},
|
|
5451
5451
|
mirror: {
|
|
5452
|
-
headline: "
|
|
5453
|
-
tagline: "
|
|
5452
|
+
headline: "The Fastest Path to Multi-Agent",
|
|
5453
|
+
tagline: "Claude Code, Unshackled",
|
|
5454
5454
|
features: [
|
|
5455
|
-
"
|
|
5456
|
-
"
|
|
5455
|
+
"Multi-agent orchestration (team mode)",
|
|
5456
|
+
"Battle-tested orchestrator skill",
|
|
5457
|
+
"Pure Claude \u2014 no proxy, no model changes",
|
|
5457
5458
|
"Isolated config for experimentation",
|
|
5458
|
-
"Premium silver/chrome theme"
|
|
5459
|
-
"No API key required at setup"
|
|
5459
|
+
"Premium silver/chrome theme"
|
|
5460
5460
|
],
|
|
5461
|
-
bestFor: "Power users who want
|
|
5461
|
+
bestFor: "Power users who want multi-agent Claude Code immediately",
|
|
5462
5462
|
requiresMapping: false,
|
|
5463
5463
|
hasPromptPack: false,
|
|
5464
5464
|
setupLinks: {
|
|
@@ -5509,21 +5509,19 @@ var ProviderSelectScreen = ({ providers, onSelect }) => {
|
|
|
5509
5509
|
ScreenLayout,
|
|
5510
5510
|
{
|
|
5511
5511
|
title: "Select Provider",
|
|
5512
|
-
subtitle: "
|
|
5512
|
+
subtitle: "All providers include team mode + orchestrator skill",
|
|
5513
5513
|
hints: [keyHints.continue, showDetails ? "? Hide details" : "? Show details"],
|
|
5514
5514
|
children: [
|
|
5515
5515
|
/* @__PURE__ */ jsxs7(Box7, { marginBottom: 1, flexDirection: "column", children: [
|
|
5516
5516
|
/* @__PURE__ */ jsxs7(Text7, { color: colors.textMuted, children: [
|
|
5517
5517
|
icons.star,
|
|
5518
5518
|
" ",
|
|
5519
|
-
/* @__PURE__ */ jsx7(Text7, { color: colors.gold, children: "
|
|
5520
|
-
"
|
|
5521
|
-
/* @__PURE__ */ jsx7(Text7, { color: colors.gold, children: "MiniMax Cloud" }),
|
|
5522
|
-
" are fully supported"
|
|
5519
|
+
/* @__PURE__ */ jsx7(Text7, { color: colors.gold, children: "Mirror Claude" }),
|
|
5520
|
+
" is the fastest path to multi-agent"
|
|
5523
5521
|
] }),
|
|
5524
5522
|
/* @__PURE__ */ jsxs7(Text7, { color: colors.textMuted, children: [
|
|
5525
5523
|
icons.bullet,
|
|
5526
|
-
"
|
|
5524
|
+
" Alternative providers for different models (GLM, MiniMax, etc.)"
|
|
5527
5525
|
] })
|
|
5528
5526
|
] }),
|
|
5529
5527
|
/* @__PURE__ */ jsx7(Box7, { flexDirection: "column", marginY: 1, children: providers.map((provider, idx) => {
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cc-mirror",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Claude Code, Unshackled — Pre-configured variants with multi-agent orchestration, custom providers, and battle-tested enhancements",
|
|
6
6
|
"author": "Numman Ali",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|