贝壳匠
一个完整的基于人工智能的macOS开发环境。声明性包通过 尼克斯,可组合设置通过 就,可在任何Mac上复制。
快速开始
新鲜的Mac
git clone https://github.com/bBlazewavE/shellsmith.git ~/.shellsmith
cd ~/.shellsmith
./bootstrap.sh # installs Xcode CLI tools + Nix
nix develop --command just setup # links configs, injects zshrc, installs npm extras
source ~/.zshrc现有Mac(已安装Nix)
cd ~/.shellsmith
nix develop --command just setup建筑
flake.nix ← declares all packages (Nix devShell)
justfile ← recipes: setup, link, zshrc, npm, mcp, orch-*, status, clean, update
bootstrap.sh ← one-time script (Xcode CLI + Nix)
shell/zshrc_block.zsh ← shell config injected into ~/.zshrc
nvim/ ← Neovim config (symlinked to ~/.config/nvim)
tmux/ ← tmux config (symlinked to ~/.tmux.conf)
mcp/ ← MCP server templates (GitHub, Jira, Slack, Linear, Notion)
orchestrator/ ← async plan-and-execute pipeline (orch CLI)安装流量: bootstrap.sh → nix develop → just setup
安装什么
| 工具 | 用途 | 通过安装 |
|---|---|---|
| 尼奥夫 | 具有LSP、补全、模糊查找功能的初级编辑器 | Nix |
| 终端复用器 | 用于多窗格会话的终端多路复用器 | Nix |
| 克劳德代码 | AI编码助手(CLI) | Nix(社区片) |
| π | AI编码代理 | npm |
| 懒鬼 | git的终端用户界面 | Nix |
| 电液动方型闸阀 | 模糊查找器(文件、历史、目录) | Nix |
| 文件描述符 | 快速文件查找器(由fzf/Telescope使用) | Nix |
| ripgrep | 快速文本搜索(望远镜使用) | Nix |
| 写作 | 终端文件管理器 | Nix |
| 星际飞船 | 跨shell提示 | Nix |
| 高 | GitHub CLI | Nix |
| Node.js 22 | npm包和LSP服务器需要 | Nix |
| 就 | 用于设置配方的命令运行器 | Nix |
只是食谱
| 食谱 | 它的作用 |
|---|---|
just setup | 运行link、zshrc、npm(默认) |
just link | Symlinks nvim/和tmux.conf(带备份) |
just zshrc | 将shell块注入到标记之间的~/.zshrc中 |
just npm | 安装Nix未涵盖的npm全局变量 |
just mcp | 交互式MCP服务器设置(GitHub、Jira、Slack等) |
just mcp github | 配置特定的MCP服务器 |
just mcp-list | 列出可用的MCP服务器模板 |
just mcp-status | 显示已配置的MCP服务器 |
just status | 显示当前状态(符号链接、包、MCP、shell块) |
just clean | 删除符号链接和zshrc块 |
just update | 跑步 nix flake update 和 npm update -g |
just orch-setup | 安装编排器Python依赖项并创建状态目录 |
just orchestrate | 提交异步规划任务 |
just orch-status | 列出所有编排器任务 |
just orch-show | 显示任务详细信息、计划和结果 |
just orch-approve | 批准计划并开始执行 |
just orch-cancel | 取消任务并杀死其worker |
just orch-logs | 打印任务日志文件 |
所有食谱都是幂等的——可以安全地重复运行。
组件
尼奥夫
带有lazy.nvim插件管理器的完整IDE配置。插件在首次启动时自动安装。
插件包括:
- 主题: 卡布奇诺摩卡
- LSP: Mason+nvim lspconfig(自动安装Lua、Python、TypeScript、Go、Rust、HTML、CSS、JSON、YAML、Bash的服务器)
- 完成: 带LSP、缓冲区、路径和代码段源的nvim-cmp
- 模糊发现: fzf原生望远镜
- 树座 : 语法高亮显示、文本对象、增量选择
- 文件树: 新树
- Git: Gitsign(内联diff标记)
- UI: 缓冲线、Lualine、哪个键、dressing.nvim、nvim通知
- 编辑: 自动播放、Comment.nvim、nvim环绕、缩进空白行
- 其他: 智能拆分,自动保存(默认关闭,切换
:ASToggle)
终端复用器
- 前缀:
Ctrl-a(不是默认值Ctrl-b) - 老鼠 已启用(滚动、单击、调整大小)
- 真实颜色: 配置为256色终端
- Catppucci匹配状态栏
壳牌(zsh)
将标记分隔块注入 ~/.zshrc (保留现有配置)。包括:
- Nix守护进程源代码
EDITOR/VISUAL设置为nvim- fzf外壳集成
- 星舰提示
- 别名和
dev函数
MCP服务器(将AI连接到外部服务)
MCP(模型上下文协议)允许Claude Code和Pi与外部服务交互——搜索Jira问题、创建GitHub PR、发布到Slack,所有这些都可以从您的AI编码会话中完成。
可用服务器:
| 服务器 | 服务 | 需要身份验证 |
|---|---|---|
github | 问题、PR、repos、代码搜索 | gh auth login |
jira | Jira问题,Confluence页面 | Atlassian API令牌 |
slack | 频道、消息、线程 | Slack机器人令牌 |
linear | 问题、项目、团队 | 线性API键 |
notion | 页面、数据库、搜索 | 通知API密钥 |
快速设置:
# Interactive — pick which servers to enable
nix develop --command just mcp
# Direct — configure specific servers
nix develop --command just mcp github
nix develop --command just mcp github jira slack
# Check what's configured
just mcp-status如果您已经运行过GitHub,则GitHub为零配置 gh auth login --它直接使用GitHub CLI。
对于基于令牌的服务(Jira、Slack等),安装程序将提示输入凭据或从环境变量中读取凭据。模板位于 mcp/ --通过在那里放置一个JSON文件来添加自己的文件。
编排器(异步计划和执行)
一种非阻塞的流水线,将任务分派到一个思维模型进行规划,然后再分派到较小的模型进行执行。所有API调用都在后台进程中运行—CLI会立即返回。
状态机: planning → planned → executing → completed (或 cancelled / failed)
用途:
just orch-setup # one-time: install deps
orch run "Add retry logic to api.py" # submit task → plans in background
orch status # check progress
orch show # view the plan
orch approve # start execution
orch show # view the result
orch logs # view worker output模型默认为Claude Sonnet(计划者)和Claude Haiku(执行者),可通过以下方式覆盖 ORCH_PLANNER_MODEL / ORCH_EXECUTOR_MODEL env变量。管道配置存在 orchestrator/pipelines/plan-execute.yaml.
Pi(主要AI接口)
Pi是 dev 会议。它支持15个以上的模型提供商——使用Claude完成复杂的任务,并切换到更便宜的模型进行快速提问,以优化代币支出。Claude Code作为提供程序安装在Pi中。
安装后,设置身份验证。您可以使用以下任一方式:
- 克劳德代码OAuth令牌:
claude setup-token然后export ANTHROPIC_API_KEY= - 控制台API密钥: 从console.anthropic.com获取一个
- 其他供应商: 集
GOOGLE_API_KEY,OPENAI_API_KEY等等。
快捷方式和别名
外壳
| 命令 | 操作 |
|---|---|
dev | 启动tmux会话:Neovim(文件选择器)+Pi |
dev myproject | 相同,使用自定义会话名称 |
v | nvim |
lg | lazygit |
y | yazi |
cc | claude |
orch | python3 ~/.shellsmith/orchestrator/orch.py |
终端复用器
| 关键 | 行动 | |
|---|---|---|
| `Ctrl-a \ | ` | 水平拆分窗格 |
Ctrl-a - | 垂直拆分窗格 | |
Alt-Arrow | 导航窗格(无前缀) | |
Ctrl-a c | 新建窗口 | |
Ctrl-a r | 重新加载tmux配置 |
尼奥夫
| 关键 | 行动 |
|---|---|
Space | 领导密钥 |
Space e | 切换文件树 |
Space ff | 查找文件 |
Space fg | 实时grep |
Space fb | 查找缓冲区 |
Space fr | 最近的文件 |
Shift-H/L | 上一个/下一个缓冲区 |
gd | 转到定义 |
gr | 转到参考文献 |
K | 悬停文档 |
Space ca | 代码操作 |
Space rn | 重命名符号 |
Space d | 显示诊断 |
gc | 切换评论 |
Ctrl-s | 保存文件 |
更新
所有配置都是符号链接的,因此拉取repo会更新它们:
cd ~/.shellsmith
git pull有关工具和软件包更新:
nix develop --command just update卸载
cd ~/.shellsmith
nix develop --command just clean这将删除符号链接和zshrc块。要彻底清理:
# Remove installed data
rm -rf ~/.local/share/nvim/lazy # Neovim plugins
# Remove the repo
rm -rf ~/.shellsmith验证
just status # check symlinks, packages, shell block
which claude # should resolve to Nix store or npm global
which nvim # should resolve to Nix store
nix flake check # validate the flake
source ~/.zshrc && dev # launch the tmux dev session事件解决手册
Neovim插件安装失败
rm -rf ~/.local/share/nvim/lazy
nvim # lazy.nvim will re-bootstrapLSP服务器未启动
# Inside Neovim:
:Mason # Check server status
:LspInfo # Check attached clients
:LspLog # View error logstmux未使用正确的颜色
确保您的终端模拟器支持真彩色,并设置为 xterm-256color.如果需要,添加到终端设置中:
export TERM=xterm-256color未找到克劳德代码
which claude # Check PATH
just status # Check overall state
source ~/.zshrc # Reload shell故障排除
图标看起来坏了? 安装Nerd字体:
# Via Nix (ad-hoc)
nix-env -iA nixpkgs.nerd-fonts.jetbrains-mono然后将其设置为终端的字体。
望远镜坏了? 确保ripgrep可用——如果你在Nix-dev shell中,它应该是可用的:
which rgfzf键绑定不起作用? 确保 source <(fzf --zsh) 在Oh My Zsh来源于您的 .zshrc.
许可证
麻省理工学院
