
如何在 CI 中用 openspec init --tools 非交互初始化 OpenSpec【免费下载链接】OpenSpecSpec-driven development (SDD) for AI coding assistants.项目地址: https://gitcode.com/GitHub_Trending/op/OpenSpec在 CI 里跑openspec init时会卡在交互式菜单上默认行为是弹出一个循环选择菜单让你用 Enter 勾选 AI 工具、再选 Done 确认。CI 环境没有终端交互所以需要改用--tools选项直接指定要配置的工具让初始化全程无提示地跑完。openspec init负责创建openspec/目录结构并配置 AI 工具集成--tools list就是它的非交互入口接受all、none或逗号分隔的工具 ID 列表。前提只有一个Node.js 20.19.0 或更高版本用node --version检查。准备安装 CLICI 节点上先全局安装 OpenSpec。用你环境里已有的包管理器即可npm 写法是npm install -g fission-ai/openspeclatest等价的 pnpm 写法为pnpm add -g fission-ai/openspeclatestyarn、bun 见 安装文档。注意 Yarn 2Berry移除了global命令这类环境改用 npm、pnpm 或 bun 安装。安装后先验证 CLI 可用openspec --version如果报命令找不到通常是全局 bin 目录不在PATH里如果打印的版本比刚安装的旧说明PATH上有一份更早的安装覆盖了它——两种情况都要先修PATH否则后面openspec init跑的根本不是你想用的版本。执行用 --tools 指定工具在目标项目根目录执行openspec init有一个可选的path参数缺省为当前目录文档同时提醒 init 会在它运行的位置创建openspec/包括 monorepo 里的某个 package 内openspec init --tools claude,cursor--tools的三种取值来自 CLI 参考写法效果--tools claude,cursor解析逗号分隔的工具 ID校验后只为列出的工具做配置--tools all自动选择所有支持的 AI 工具不提示--tools none完全跳过 AI 工具配置只创建 OpenSpec 目录结构和模板文件工具 ID 必须取自支持列表openspec init --help的 help 文本也会列出可用 ID文档给出的完整列表为amazon-q、antigravity、auggie、bob、claude、cline、command-code、codeartsagent、codex、devin、forgecode、codebuddy、continue、costrict、crush、cursor、factory、gemini、github-copilot、hermes、iflow、junie、kilocode、kimi、kiro、lingma、minimax-code、vibe、oh-my-pi、opencode、pi、codeassistant、qoder、qwen、rovodev、roocode、trae、zed、zcode、agents。其中windsurf是devin的别名老脚本可以直接用。一个容易踩的校验行为如果--tools里含任何不在注册表中的 ID命令会以退出码 1 结束并打印可用取值all、none和支持的工具 ID。在 CI 里这表现为步骤失败报错信息本身就告诉你哪个 ID 写错了。其他可组合的选项--force遇到遗留文件时自动清理、不提示。非交互 init 本来就会自动清理旧版 OpenSpec 的残留包括用户主目录里的opsx-*.mdprompt 文件例如 Codex 的~/.codex/prompts--force进一步免去对遗留文件的确认。CI 节点一般是干净环境这个副作用影响有限但要知道它确实会删除文件。--profile core/--profile custom为本次 init 覆盖全局 profile。--no-animation显示静态欢迎页。另外当设置了OPENSPEC_NO_ANIMATION任意值或NO_COLOR非空时欢迎动画也会被跳过——CI 日志里通常属于这类环境。一个典型的 CI 片段先装后初始化node --version # 确认 20.19.0 npm install -g fission-ai/openspeclatest openspec --version cd my-project openspec init --tools claude,cursor验证初始化结果init 完成后检查仓库里应该出现的两类产物完整路径模式见 Supported Tools 的 Tool Directory Reference 表openspec/目录包含specs/、changes/和config.yaml所选工具各自的 skill/command 文件例如claude.claude/skills/openspec-*/SKILL.md和.claude/commands/opsx/id.mdcursor.cursor/skills/openspec-*/SKILL.md和.cursor/commands/opsx-id.mdcodexskills-only只有.agents/skills/openspec-*/SKILL.md不生成命令文件所以某个工具目录下没有 command 文件不一定是失败——Codex 等 skills-only 工具本来就不生成命令。反过来如果选中的工具目录整个不存在说明配置没生效故障排查文档给出的修复方式就是显式重跑openspec init --tools claude,cursor限制与后续非交互 init 的遗留清理范围有限对 Codex 的旧版受管 prompt 文件非交互openspec init只删除其替代品.agents/skills/openspec-*已存在的那些文件非交互openspec update则完全不动遗留清理除非传--force。init 使用的 profile、workflow 与 delivery 模式决定生成哪些命令和 skill默认是coreprofile。CI 里如果全局配置与预期不符用--profile显式指定不要依赖节点上的全局状态。升级 CLI 后各项目的生成文件不会自动更新。文档给出的流程是先升级包再在每个项目里跑npm install -g fission-ai/openspeclatest openspec updateopenspec update会按当前 profile、workflow 和 delivery 模式重新生成 AI 工具配置文件。它内置的是否有新版本检查在CI环境变量被设置时会跳过不会拖慢流水线。完整命令参考见 CLI Reference工具 ID 与生成路径的对应关系见 Supported Tools。【免费下载链接】OpenSpecSpec-driven development (SDD) for AI coding assistants.项目地址: https://gitcode.com/GitHub_Trending/op/OpenSpec创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考