mcpField
S
setup-env

setup-env

github.com/gitboboboAgent 工作流041 次安装今天更新
代码仓库

关于 setup-env

setup-env 是用于统一配置多个编码 Agent 全局规则的技能,将单一规则源部署到不同 harness,并检查 CLI 与本机工具状态。它也可配置 Rust 编译缓存,但只在满足安全条件时修改 Cargo 配置。

主要功能

  1. 01跨 harness 链接或复制全局规则
  2. 02检查规则部署状态及 CLI 可用性
  3. 03区分 cargo-nextest 未安装与路径缺失
  4. 04安全配置 sccache 编译缓存
  5. 05备份并报告已有内容

适用场景

  1. 01为多个 Agent CLI 部署统一约定
  2. 02检查全局规则是否与源文件同步
  3. 03排查 cargo-nextest 在启动环境中不可见
  4. 04在共享工作树间配置 Rust 编译缓存

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gitbobobo/skills --skill setup-env

安装后在 Claude Code 中输入/setup-env确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
AGENTS.md
scripts/
setup-env.mjs
setup-env.test.mjs

详细介绍

来自项目 README

setup-env

把 rules/AGENTS.md(本技能目录下,唯一真源)链接到各 harness 的全局规则路径,让所有 CLI 代理在任何项目里都加载同一套约定;通用规则涵盖重命令遵守机器调度和单一最终验证负责人,具体编排流程留在对应技能。同步后仍以项目规则优先。同时报告各 harness CLI 与本机工具(如 cargo-nextest)是否可用——工具只报告不安装。cargo-nextest 不在 PATH 时再探测 CARGO_HOME 和默认 Cargo bin,区分「未安装」与「已安装但 PATH 不可见」;后者在实际代理启动环境补路径,再从新代理执行 cargo nextest --version 验证。装了 sccache 时,把它写进 $CARGO_HOME/config.toml 的 [build] rustc-wrapper,让多个工作树共享 Rust 编译缓存(已有别的 wrapper 或设置了 RUSTC_WRAPPER 时不覆盖;改写前先备份原文件);没装只报告。

步骤

  1. 体检:node <技能目录>/scripts/setup-env.mjs --check,逐项看状态:已链接 / 副本一致 / 副本过期 / 有别的内容 / 缺失。
  2. 执行:node <技能目录>/scripts/setup-env.mjs。Windows 或符号链接权限不足时用 --copy。
  3. 核对备份:脚本对已有非空内容会先备份成 <文件>.bak-<时间戳> 再替换。出现备份就提醒用户检查旧内容是否需要合并。
  4. 完成标准:脚本退出码为 0,且输出中每个 harness 显示「已链接」或「副本一致」。

覆盖的 harness

harnessmacOS / LinuxWindows
devin~/.config/devin/AGENTS.md%APPDATA%\devin\AGENTS.md
codex~/.codex/AGENTS.md~/.codex/AGENTS.md
claude / claudeAgent~/.claude/CLAUDE.md~/.claude/CLAUDE.md
cursor~/.cursor/rules/global.mdc~\.cursor\rules\global.mdc
factory droid~/.factory/AGENTS.md~\.factory\AGENTS.md
pi~/.pi/agent/AGENTS.md~\.pi\agent\AGENTS.md

新增 harness 时改 scripts/setup-env.mjs 里的 TARGETS。pi 的目录可被 PI_CODING_AGENT_DIR 覆盖,脚本也照这个变量取路径。

pi 备注:在 Windows 上,pi 只去 C 盘的 Program Files 找 Git Bash,找不到就用 PATH 上的 System32\bash.exe,也就是 WSL。Git 装在其他盘时,体检会报 pi:shell 待处理,并给出应写进 <agent-dir>/settings.json 的 "shellPath";照提示写入后重跑体检确认。

Factory Droid 备注:

  • 官方文档确认 ~/.factory/AGENTS.md 是跨项目的个人指令层;Droid 还会检查 ~/.agents/、~/.agent/ 个人目录,本脚本取 ~/.factory 为主落点。
  • 优先级语义:项目 AGENTS.md 优先于个人文件——个人层放与仓库无关的通用约定,不会覆盖项目规则。
  • 逐次调用另可用 droid --append-system-prompt-file <path> 追加提示词(仅当次进程生效,不是持久配置)。

Cursor 备注:

  • cursor-agent 扫描 ~/.cursor/rules/ 的 .mdc 文件;脚本写入带 alwaysApply: true frontmatter 的派生文件(不能符号链接,内容需要包裹),改了 rules/AGENTS.md 后所有机器都要重跑脚本。
  • Cursor 设置 UI 里的 User Rules 存在账号上、由服务端下发(getAllCursorRules),是另一条官方路径,可跨设备同步但只能手动维护,和本文件制互不妨碍。
  • 已知上游怪癖:Agents Window 的 Settings 界面可能不列出 ~/.cursor/rules 下的文件级规则(论坛确认 bug),不影响 agent 运行时加载。

边界

  • 全局规则是「会被加载」,不是「必定遵守」。跨 harness 委派(delegate_task)时的硬性约束仍要原文写进任务 prompt 转述。
  • 仓库级规则仍放各仓库的 AGENTS.md;本文件只放与仓库无关的通用约定。
  • 改约定只改 rules/AGENTS.md。符号链接立即生效;--copy 部署过的机器要重跑本脚本。
  • 本技能只管全局规则和上述 cargo 全局配置,不装 CLI、不改项目。技能本身的安装走 docs/setup.md 的 npx skills 流程。

评论

支持 Markdown