AI编码环境配置工具

op-setup是一个用于快速配置AI编码环境的工具,支持安装工具、部署配置文件和配置MCP服务器。

  • by MiguelAguiarDEV
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 MiguelAguiarDEV/op-setup

使用说明

操作设置

TUI安装程序,用于设置完整的AI编码环境——安装工具、部署点文件和配置 主控程序 服务器。

                           _
  ___  _ __    ___  ___| |_ _   _ _ __
 / _ \| '_ \  / __|/ _ \ __| | | | '_ \
| (_) | |_) | \__ \  __/ |_| |_| | |_) |
 \___/| .__/  |___/\___|\__|\__,_| .__/
      |_|                         |_|

快速开始

# Install
curl -sSL https://raw.githubusercontent.com/MiguelAguiarDEV/op-setup/main/install.sh | sh

# Run (interactive TUI)
op-setup

# Or preview what it would do first
op-setup --dry-run

# Or run headless (CI/scripts)
op-setup --no-interactive --profile full

它做什么

op setup是一个Go二进制文件,它从头开始设置你的AI编码环境。选择一个安装配置文件,它将处理其余部分——具有同等效力,包括备份和回滚。

设置配置文件

简介 它的作用
完整设置 安装工具+部署点文件+配置MCP服务器
仅限MCP服务器 仅在AI工具配置文件中配置MCP服务器
仅点文件 仅部署代理、技能、脚本和nvim配置

支持的AI工具

工具 配置文件 格式
克劳德代码 ~/.claude/settings.json JSON(mcpServers)
OpenCode ~/.config/opencode/opencode.json JSON(mcp)
食品法典委员会 ~/.codex/config.toml 汤姆([mcp_servers.X])
Gemini CLI ~/.gemini/settings.json JSON(mcpServers)

可用的MCP服务器

组件 类型 描述
Engram 本地 持久跨会话内存
上下文模式 本地 上下文优化(约98%的使用率降低)
剧作家 本地 通过MCP实现浏览器自动化
GitHub MCP 远程 通过Copilot MCP访问GitHub API
Context7 远程 最新的框架文档

工具安装程序(完整设置配置文件)

工具 安装方法
OpenCode npm install -g opencode
工程师 go install github.com/Gentleman-Programming/engram/cmd/engram@latest
上下文模式 npm install -g context-mode
剧作家 npx playwright install --with-deps chromium

嵌入式点文件(完整设置/仅点文件配置文件)

部署OpenCode代理、技能、脚本、插件和Neovim配置 ~/.config/.

安装

一个衬垫(推荐)

curl -sSL https://raw.githubusercontent.com/MiguelAguiarDEV/op-setup/main/install.sh | sh

自动检测OS/arch。安装到 /usr/local/bin/.用覆盖 INSTALL_DIR:

curl -sSL https://raw.githubusercontent.com/MiguelAguiarDEV/op-setup/main/install.sh | INSTALL_DIR=~/.local/bin sh

来自GitHub发布

从以下网址下载适用于您平台的二进制文件 发布.

来源

go install github.com/MiguelAguiarDEV/op-setup/cmd/op-setup@latest

本地建设

git clone https://github.com/MiguelAguiarDEV/op-setup.git
cd op-setup
make build
./op-setup

用法

互动(TUI)

op-setup                          # Full TUI flow
op-setup --dry-run                # Preview without changes
op-setup --profile mcp-only       # Pre-select profile

非交互式(无头)

op-setup --no-interactive --profile full --dry-run   # Preview full setup
op-setup --no-interactive --profile full              # Execute full setup
op-setup --no-interactive --profile mcp-only          # Only configure MCP servers
op-setup --no-interactive --profile dotfiles-only     # Only deploy dotfiles

CLI标志

标志 描述
--dry-run 显示不执行会发生什么
--profile 设置配置文件: full, mcp-only, dotfiles-only
--no-interactive 在没有TUI的情况下无头运行(需要 --profile)

TUI流量

TUI指导您完成:

  1. 配置文件选择 --选择“完全设置”、“仅MCP”或“仅点文件”
  2. 检测 --扫描已安装的AI工具(仅Dotfiles跳过)
  3. 代理商选择 --选择要配置的工具(仅对Dotfiles跳过)
  4. 组件选择 --选择要安装的MCP服务器(仅对Dotfiles跳过)
  5. 审查 --申请前确认选择
  6. 安装 --执行带有实时进度的4阶段管道

幂等

多次运行操作设置是安全的。它合并新条目,而不覆盖现有的配置键。如果已存在具有相同配置的MCP服务器条目,则跳过该条目。点文件在覆盖之前会被备份。

备份

在修改任何配置文件或点文件之前,op安装程序会在中创建一个带时间戳的备份快照 ~/.op-setup/backups/。每个快照包括:

  • 所有原始配置文件的副本
  • A. manifest.json 描述备份的内容
  • 保留原始文件权限

如果任何阶段中途失败,管道将使用备份自动回滚所有更改。

建筑

cmd/op-setup/          Entry point
internal/
  model/               Core domain types (AgentID, ComponentID, InstallerID, SetupProfile)
  adapter/             Adapter interface + registry
    claude/            Claude Code adapter
    opencode/          OpenCode adapter (+ PostInject for plugin array)
    codex/             Codex adapter
    gemini/            Gemini CLI adapter
  component/           MCP server catalog + resolver
  installer/           Tool installers (detect/install/rollback)
  dotfiles/            Embedded dotfiles (go:embed) + deployer
    embed/             18 embedded config files
  config/              Atomic file writes, JSON merger, TOML merger
  backup/              Timestamped snapshots + restore from manifest
  pipeline/            Prepare→Install→Deploy→Apply orchestration with rollback
    steps/             BackupStep, ValidateStep, InjectStep
  tui/                 Bubbletea TUI
    screens/           8 screen renderers (Kanagawa theme)
    styles/            Shared lipgloss styles
  app/                 Wires registry + installer registry + TUI

管道阶段

阶段 描述
准备 验证依赖关系+备份现有配置
安装 安装工具(OpenCode、Engram、上下文模式、剧作家)
部署 将嵌入式点文件部署到 ~/.config/
应用 将MCP服务器配置注入AI工具配置文件

每个阶段都是可选的——活动配置文件决定了运行哪些阶段。如果任何阶段失败,则所有阶段中所有成功的步骤都将回滚。

设计原则

  • 适配器模式 --添加新的AI工具需要一个子包+注册表项
  • 通过结构体字段进行DI --所有可注射用于测试的外部依赖关系
  • Idempotent合并 --JSON和TOML合并-写入前检查
  • 原子写入 --temp文件+重命名可防止崩溃时的部分写入
  • 修改前备份 --每次配置/点文件更改都是可逆的
  • 具有回滚功能的管道 --如果任何步骤失败,则撤消之前的所有步骤
  • 配置文件感知路由 --TUI流量适应所选配置文件

发展

make test          # Run all tests with -race
make test-cover    # Generate coverage report
make lint          # go vet
make build         # Build binary
make clean         # Remove artifacts

测试方法

  • 标准库 testing 只有(没有作证)
  • 表驱动测试 t.Run
  • t.TempDir() 用于文件系统测试(无模拟)
  • 通过结构体字段进行依赖注入的DI
  • 默认情况下启用种族检测器
  • 每个包裹的覆盖率目标≥85%

许可证

麻省理工学院