claude-rig
Run multiple Claude Code configurations side by side.
问题
Claude Code将所有配置保存在一个单一的 ~/.claude/ 目录。它一直有效,直到你需要:
- 多个订阅 --您最多有2-5个帐户,每次切换时都必须注销并重新登录。无法同时运行两个订阅。
- API与订阅并列 --想要API访问一个项目,而您的Max订阅访问另一个项目?同样的交易——一个配置,一个身份验证。
- 每个项目使用不同的工具 --您的web项目需要Tailwind技能和数据库MCP服务器。您的CLI工具不需要这些。但是每个会话都加载相同的插件、MCP服务器和钩子。
- 无风险测试 --想尝试一个新的MCP服务器,而不会泄露到您的生产设置中吗?您必须禁用其他所有功能,进行测试,然后重新启用。没有隔离。
克劳德钻机是干什么的
每种配置都变得独立 钻机 --单独的设置、技能、插件、代理、命令、钩子、MCP服务器和说明。身份验证可以在不同的设备间共享,也可以单独保存。在不同的终端中并排运行它们。
# Terminal 1: your Max subscription, minimal setup
claude --rig=minimal
# Terminal 2: different Max account, full web dev stack
claude --rig=webdev
# Terminal 3: API access, experimental MCP server you're testing
claude --rig=experiment为什么选择克劳德钻机
此空间中的大多数工具在帐户之间交换凭据文件。claude-rug隔离了整个配置,并允许您同时运行它们。
| 克劳德钻机 | 凭证切换器 | |
|---|---|---|
| 同时运行多个配置 | 是 | 否--必须先关闭Claude |
| 隔离设置、插件、MCP、挂钩 | 是 | 否--仅限身份验证 |
| 选择每个钻机共享与隔离的内容 | 是 | 否 |
| 按项目自动选择 | 是 | 否 |
| 状态、差异、导出/导入 | 是 | 否 |
| 依赖关系 | 无(单个二进制) | 变化 |
它不做什么
- 不会修改克劳德代码。 使用官方
CLAUDE_CONFIG_DIR环境变量和--add-dir旗帜。没有补丁,没有叉子。 - 不管理Claude Code安装。 自己安装Claude Code——Claude设备管理其配置。
- 不会替换项目级配置。 你的项目
CLAUDE.md和.claude/仍然正常工作。Rigs处理用户级配置。 - 没有外部依赖关系。 Single Go二进制,仅限stdlib。
安装
家酿 (macOS/Linux):
brew install edimuj/tap/claude-rig外壳脚本 (macOS/Linux):
curl -sSL https://raw.githubusercontent.com/edimuj/claude-rig/main/install.sh | shPowerShell (Windows):
irm https://raw.githubusercontent.com/edimuj/claude-rig/main/install.ps1 | iex去安装:
go install github.com/edimuj/claude-rig/cmd/claude-rig@latest下载二进制文件: --macOS、Linux、Windows。
快速开始
# One-time setup
claude-rig init
# Create your first rig
claude-rig create minimal
# Or clone your existing ~/.claude/ config as a starting point
claude-rig clone default webdev --link-auth
# Launch explicitly
claude-rig launch webdev
# Or bind to a project and just run claude-rig
cd ~/projects/my-app
claude-rig rc webdev
claude-rig # picks up the rig automatically命令
| 命令 | 描述 |
|---|---|
agents [rig] [args] | 在代理(编排器)模式下启动Claude Code |
blueprint | 可共享钻机规格: create, apply, inspect, list, pack |
clone | 克隆装备或 ~/.claude/ config |
config | 管理克劳德钻机偏好(set, get, remove, list) |
create | 创建新装备(--link-auth, --no-isolate-defaults, --isolate-all) |
delete | 删除装备 |
diff | 比较两台钻机 |
doctor [--fix] | 诊断并修复损坏的符号链接、插件/MCP健康状况 |
export [file] | 将钻机出口至 .tar.gz |
import | 从档案中导入钻机 |
inherit [rig] | 继承全局技能/代理/钩子/命令 |
init | 初始化claude钻机并安装外壳集成 |
isolate | 隔离每个钻机的物品 |
isolation [rig] | 显示一个或所有钻机的隔离状态 |
launch [name] [args] | 使用钻机启动Claude Code |
link-auth | 将装备链接到共享身份验证 |
list | 列出所有钻机(* =运行会话) |
pin | 将钻机固定到特定的克劳德代码版本 |
plugin | 快跑 claude plugin 正确钻机上的命令 |
rc [name] | 显示或创建 .claude-rig 当前目录的文件 |
| `rename | |
| ` | 重命名装备 |
set-args [name] | 设置默认启动参数(全局或每个装备) |
settings | 管理应用于所有钻机的默认设置 |
share | 反向隔离 |
show-args [name] | 显示默认启动参数 |
status [rig] | 显示装备状态:磁盘、会话、上次使用时间 |
sync [rig] | 同步符号链接、继承项、插件、MCP、设置 |
uninherit [rig] | 停止继承 |
unlink-auth | 删除共享身份验证 |
unpin | 删除版本引脚 |
update | 更新克劳德代码 |
update-plugins [-j N] [rigs] | 跨钻机更新市场插件(默认:2个并发) |
versions | 在磁盘上列出已安装的Claude Code版本 |
运作原理
每个钻机都是一个完整的配置目录 ~/.claude-rig/rigs//:
~/.claude-rig/rigs/webdev/
.claude.json # real file (MCP servers, onboarding state)
CLAUDE.md # real file (rig-specific instructions)
settings.json # real file (rig-specific config)
rig.json # isolation config, synced plugins/MCP, overrides
skills/ # real directory
plugins/ # real directory (synced from global by default)
conversations/ # real dir (isolated by default)
history.jsonl # real file (isolated by default)
telemetry/ -> ~/.claude/ # symlink (shared by default)
...开 launch,claude-rig解析二进制(固定或磁盘上最新的),集 CLAUDE_CONFIG_DIR 在rig目录中,加载全局 ~/.claude/CLAUDE.md 通过 --add-dir,刷新符号链接,然后通过以下方式将其替换为Claude Code exec。具有不同钻机的两个实例可以同时运行而不会发生冲突。
蓝图——分享您的设置
您已花费数小时在Claude Code设置中拨号。正确的插件、MCP服务器、技能、设置、CLAUDE.md说明。然后有人问“你的设置是什么?”你什么都没有。没有导出,没有可共享的格式。你最终会手写一堵文字墙,列出所有内容。
蓝图解决了这个问题。一个命令将装备提取到便携式规范中。另一个命令从头开始重新创建。
# Extract your setup
claude-rig blueprint create my-setup --from go
# Anyone can recreate it -- from GitHub, a file, or a local directory
claude-rig blueprint apply edimuj/my-setup --link-auth不像 export/import (创建完整的文件存档以供备份),蓝图是轻量级的规范。插件被列为安装引用,而不是二进制blob。整个过程是一个小的JSON文件,加上你编写的任何自定义技能或代理。将其推送到GitHub,你的追随者、队友或未来的自己可以在一个命令中启动你的确切设置。
你可以用蓝图做什么:
- 在社交媒体上分享你的设置——“这是我所有围棋项目使用的装备”
- 使用一个命令而不是维基页面来招募新的团队成员
- 在新机器上复制您的设置,而不记得您安装了什么
- 与博客文章或教程一起发布,以便读者可以按照您的确切配置进行操作
- 为不同类型的工作(网络、移动、数据、DevOps)保留一个蓝图库
看 docs/blueprints.md 以获取完整参考。
平台支持
- Linux --全力支持
- macOS --全力支持
- 视窗 --需要开发人员模式(用于符号链接)。看 docs/windows.md.
文档
| 主题 | 文档 |
|---|---|
| 每个项目RC文件、shell集成、CLAUDE.md、模板 | docs/configuration.md |
| 隔离模型、可配置隔离、全局继承 | docs/isolation.md |
| 插件同步、MCP同步、默认设置、版本管理 | docs/sync.md |
| 蓝图——与任何人分享您的Claude Code设置 | docs/blueprints.md |
| 导出、导入、状态、差异 | docs/export-import.md |
| Windows安装程序,已知限制 | docs/windows.md |
另请查看
| 项目 | 描述 |
|---|---|
| 代币化 | 面向AI代理的精益CLI工具——减少上下文,节省令牌 |
| 克劳德·马内姆 | 自动会话记忆——每个会话都从上次中断的地方开始 |
| 韦克斯坎 | 用于AI代理插件、技能、MCP和配置的安全扫描程序 |
| 克劳德工作室 | Claude Code的有用插件和工具集合 |
| 克劳德简单状态 | 显示模型、上下文和配额使用情况的简洁状态线 |
发展
make build # build binary
make build-windows # cross-compile for Windows (amd64)
make run ARGS="version" # run without installing
make install # install to ~/go/bin/许可证
麻省理工学院
