{"repo":"sunrain520/spec-first","free":true,"listed":false,"github":"https://github.com/sunrain520/spec-first","clone":"git clone https://github.com/sunrain520/spec-first.git","description":"spec-first","language":"JavaScript","stars":97,"topics":["agent","ai-coding","claude","codex","sdd","spec","tdd"],"license":"MIT","category":"mcp-servers","readme_excerpt":"spec-first 把 AI coding 会话变成可信、由项目拥有的变更。 spec-first 是面向 Claude Code、Codex、Kiro、Qoder、Cursor 与 OpenCode 的仓库原生 AI Coding Harness。宿主仍负责写代码； spec-first 负责保留意图、约束执行范围、让完成声明受证据约束，并把已验证工作沉淀为可复用的项目知识。 English 简体中文 快速开始 选择 Workflow 用户手册 官方网站 为什么使用 spec-first？ AI 已经能快速生成代码。更难的问题是保留代码背后的判断：用户到底要什么、为什么选择这个范围、实际运行过哪些检查、还有什么不确定，以及下一次会话应该继承什么。 只有聊天会话 使用 spec-first --- --- 会话结束后，意图与取舍随之消失 需求和计划作为可检查文档保留在仓库中 下一位 Agent 需要从头重建上下文 plan、task pack、findings 与 source refs 持续传递上下文 “测试通过”只是一句对话声明 收尾可以指向真实运行的命令、exit code 和脱敏日志 更换宿主就要重建 workflow prompts 一套 canonical source 向各宿主投射相同的 spec- 标识 已解决问题最终变成被遗忘的历史 合格经验可以带来源和失效条件沉淀为项目知识 它不是一套僵硬研发流程，而是一份围绕关键出口建立的轻量契约：mutation、verification、handoff、source/runtime ownership 和 durable learning。 快速开始 你需要 Node.js =20.0.0 、npm、Git，以及至少一个受支持的 AI coding 宿主。以下终端命令应在需要启用的 Git 仓库根目录执行。 1. 安装并初始化 quickstart 会检查 Node.js、Git 和已安装的宿主 CLI，再进入既有 init 流程。只有恰好发现一个宿主时才自动选择，否则由你交互式选择。它不会在宿主会话之外替你运行 LLM workflow。 需要显式或脚本化初始化时： init 会在写入前预览受管 runtime 文件。本次选中宿主的 skills、agents、commands、hooks、pointer 和 state 默认保持 Git 可见，建议 review 后跟随项目提交，让团队获得相同的宿主投影。 init 不会自动 stage 或 untrack 文件。多宿主、多仓、dry-run 和预览宿主用法见完整快速开始指南。 2. 重启宿主 重启已选择的宿主或新开会话，让它发现生成的 runtime assets。下面的 spec- 入口运行在宿主会话中，不是 shell 子命令。对于 Cursor 和 OpenCode 这类 preview 宿主，生成 runtime assets 不等于宿主 loader 已发现它们；如果重启后看不到入口，请运行 spec-first doctor --verbose ，并核对 Runtime Capability Catalog。 3. 准备 Runtime Runtime Setup 会安装或验证 required harness runtime、MCP servers、helper tools、providers 和项目 readiness facts。首次 workflow 前先运行一次；后续只在宿主、provider、helper ","default_branch":null,"files":null,"tree":[],"storefront":"/r/sunrain520","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sunrain520/spec-first/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}