Skip to content
brantshinPublic

About

Evidence-driven engineering harness for autonomous coding agents

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

super-dev:面向强 Agent 的研发协议

English

代码可以很快生成,工程结果仍然需要被控制、验证和接住。

super-dev 是一套给强 Coding Agent 使用的、项目原生的研发 Harness。它面向全栈、多模块和多代码仓库的真实研发,把上下文、工作区、权限、完成定义、验证证据和知识沉淀整理成一组可执行的工程合同。个人可以把它当作协作习惯,团队也可以用它统一最低交付标准;本仓库来自具体项目中的反复实践,只提供一套可裁剪的参考,不主张它是唯一做法。

一个采用 super-dev 的项目长什么样

下面是脱敏后的推荐轮廓。目录名可以按项目调整,重要的是不要把规则、任务状态、长期知识和原始证据混在一起。

product-workspace/
├── AGENTS.md                         -- 高频、必须遵守的项目规则与文档入口
├── docs/
│   ├── codemap/
│   │   └── project-profile.md        -- 仓库拓扑、架构、交付与验证模型
│   ├── specs/                        -- 活跃任务的目标、边界、Done Contract 与证据
│   │   └── YYYY-MM-DD_author_topic/
│   │       ├── feature.md            -- 当前任务真相源与恢复点
│   │       └── test-report.md        -- 按需记录验证过程和结论
│   ├── issues/                       -- 从主任务拆出的旁支问题与团队 backlog
│   ├── archived/                     -- 已关闭 spec / issue 的冷归档
│   ├── knowledge-sources/            -- Wiki 的只读原始材料,保留来源
│   └── wiki/                         -- LLM 维护、可交叉引用的项目知识库
│       ├── AGENTS.md                 -- Wiki schema、分区和维护规则
│       ├── README.md                 -- 人类阅读入口
│       ├── index.md                  -- 全局内容索引
│       ├── log.md                    -- ingest / update / lint 时间线
│       ├── inbox/                    -- 待编译材料,不直接视为项目事实
│       └── 00-start-here/            -- 知识分区示例,按领域扩展
├── .worktrees/                       -- 可选的本地任务 worktree,通常不提交
└── repos/
    ├── api-service/                  -- 后端或服务仓库
    └── web-app/                      -- 前端或客户端仓库

上图使用 AGENTS.md,是因为作者当前主要使用 Codex。若使用 Claude Code CLI,应将项目根目录和 Wiki 内的入口文件改为 CLAUDE.md;两者职责相同,不需要同时维护两份。使用其他 Agent 时,映射到它原生支持的项目指令文件即可。本文后续以 AGENTS.md 代称这类入口。

单仓项目不需要为了形式照搬 repos/;已有成熟目录也无需迁移。super-dev 关心的是信息职责和验证边界,而不是固定文件名。

它要解决的工程问题

强 Agent 已经能读代码、跨文件修改、运行工具、排障和交付。真正容易失控的地方,往往发生在代码生成前后:

工程问题 super-dev 的处理方式
任务越做越偏,长会话后目标漂移 Restate First、单一当前目标、可恢复 Spec
dirty checkout 或并行任务互相污染 基线检查、显式文件边界、Worktree Contract
前后端或微服务跨仓协作失去主线 Project Registry、逐仓切换、独立基线与证据
“改完了”却没人说得清什么叫完成 先写 Done Contract,再选择验证方式
构建、发布、运行态和业务结果被混为一谈 Evidence Contract + 权威系统回读
Agent 擅自扩大权限或触发外部写操作 Scoped Authority + 风险 checkpoint
经验只留在聊天里,下次重新探索 Reverse Sync + llm-wiki 知识编译
通用协议被某家公司或某套工具绑死 公共核心与项目私有 adapter 分离

两个 skill 怎么分工

Skill 负责什么 典型产物
super-dev 控制一次研发任务如何安全、可验证、可恢复地推进 Spec、Done Contract、worktree 状态、验证证据、收尾记录
llm-wiki 把已经验证、值得复用的项目知识编译成长期知识库 Wiki 页面、索引、交叉引用、来源映射、维护日志

知识复利是 super-dev 体系的核心能力之一,但不是每个编码请求都需要加载完整 Wiki 流程。因此 llm-wiki 作为独立 companion skill 发布:可以单独安装,也可以与 super-dev 配合;主 skill 不会因为它未安装而阻塞普通研发任务。

快速开始

处理研发任务时:

本次任务使用 $super-dev。

先复述目标、范围、假设和 Done Contract。
检查仓库、分支与 dirty state,选择合适的任务深度。
普通范围内的本地工作自主推进;新风险、外部写操作或扩范围前 checkpoint。
最后用当前证据说明实现、交付、运行态和用户结果分别到了哪一步。

需要初始化或维护项目知识库时:

使用 $llm-wiki 初始化 docs/wiki,并把 docs/knowledge-sources 设为只读来源层。
先定义 Wiki schema、分区和索引,再 ingest;不要把临时任务状态或私有记忆写进项目知识库。

也可以在项目指令文件中加入一条短规则:

非平凡编码、排障、重构、验证和交付任务默认使用 super-dev。
稳定、已验证且适合仓库共享的知识,按项目约定交给 llm-wiki 维护。
项目自身的安全、提交和验证规则优先。

核心运行链路

读项目入口
  -> 复述目标、边界、授权和 Done Contract
  -> 选择 zero / fast / standard / deep
  -> 建立最小可恢复 Spec
  -> 检查基线并隔离实现
  -> 在新风险或外部写操作前 checkpoint
  -> 实现并逐级验证
  -> 从权威系统回读目标状态
  -> 收尾 Spec,记录偏差、残余风险和恢复点
  -> 只同步稳定、可复用、适合该仓库的知识

人负责目标、边界、高影响授权和最终验收;Agent 在这个边界内负责探索、实现、迭代和相称验证。普通本地工作不制造审批仪式,真正跨越权限或影响共享状态时才停下来确认。

项目上下文怎么放

为什么不把所有内容都写进项目指令文件

项目指令文件往往会在每次任务开始时被读取。它越长,真正必须遵守的规则越容易被背景材料淹没;易变坐标和大段架构说明也更容易过期。

建议只在 AGENTS.md 或 CLAUDE.md 中放:

  • 语言、提交、安全和分支等高频硬规则;
  • 仓库根、Spec 目录、worktree 策略和隐私边界;
  • 必跑的构建、测试、验证入口;
  • project-profile、Wiki、私有 runbook 等文档的索引;
  • 项目特有且每次任务都必须知道的少量例外。

其余内容按职责拆开:

位置 适合放什么
docs/codemap/project-profile.md 项目类型、仓库 Registry、模块职责、依赖、交付模型、验证阶梯和完成门禁
docs/specs/ 当前任务的目标、范围、决策、进度、证据、发布状态和恢复点
docs/issues/ 不阻塞当前主线、但值得后续处理的问题
docs/archived/ 已结束任务的历史材料;默认不装入活跃上下文
docs/wiki/ 跨任务复用的架构、领域概念、判断方法、故障经验和关系图
私有 adapter / runbook 环境坐标、部署命令、日志和数据查询等易变或敏感内容

Project Profile 比项目指令文件更详细,但仍应尽量稳定。它回答“这个项目如何交付、什么证据才算完成”;具体 token、内部地址、生产数据和个人路径不属于公开协议。

Worktree 与多仓协作

super-dev 不要求每个单行修改都创建 worktree。zero 或简单 fast 任务在干净工作区中可以直接完成;standard、deep 或存在并行改动时,优先用专属 worktree。

进入实现前至少确认:当前仓库、基线 commit、dirty / untracked 文件、task branch、集成目标、交付目标和 worktree 保留策略。未经授权,不 reset、clean、stash 或吸收无关改动;提交时只暂存明确文件。

跨仓任务先建立一个小型 Project Registry,说明每个仓库的职责和本轮修改范围。一次只进入当前需要的仓库;每个仓库分别维护基线、分支、测试和交付证据,不能拿后端的成功测试替代前端验收。

Evidence Contract

完成是一项需要证据支持的声明。super-dev 将常见证据分成五级:

层级 可以证明什么
E0 源码、diff、schema 和静态约束
E1 单测、lint、类型检查和构建完整性
E2 组件之间的集成、契约或消费方兼容性
E3 指定 revision 在目标环境中的真实行为
E4 用户可见或业务验收结果

低层证据不能替代高层结论:构建成功不是部署成功,部署记录不是运行正确,一次响应成功也不自动代表完整业务结果。Done Contract 应在实现前说明每项结果由什么证明;共享或外部写操作后,还要从权威系统回读准确目标和 revision。

LLM Wiki:让项目知识复合增长

llm-wiki 把知识分成三层:

Raw Sources  -> 不改写的原始材料和证据
Wiki         -> LLM 维护、供人和 Agent 阅读的 Markdown 知识网络
Schema       -> Wiki 内的 AGENTS.md / CLAUDE.md,约束分区、格式和维护动作

Agent 可以先把材料放进 inbox/,再通过 ingest 提炼页面、补索引、交叉引用和来源;Query 回答要指向具体 Wiki 页面;Lint 检查断链、孤立页、过期结论和积压材料。

Wiki 只接收已经验证、跨任务值得复用、且适合该仓库共享的知识。临时 Todo、未确认推断、原始生产日志、私有 handoff、用户偏好和系统记忆不能因为“以后可能有用”就直接进入 Wiki。

项目私有扩展

公共核心不绑定 Git 平台、CI、部署系统、日志平台、数据库或云厂商。项目可以提供私有 adapter,负责版本管理、构建、部署、接口、UI、日志、Trace、数据、配置和消息等能力。

每个 adapter 都应声明读写操作、目标坐标、鉴权边界、checkpoint、证据格式、权威回读和恢复方式。详见 Extension Contract。

环境适配边界

GitHub 在这里仅用于公开托管和分发;super-dev 本身不依赖 GitHub,也没有提供可直接套用的 GitHub 提交、评审或发布集成。作者当前的实践主要发生在内网研发环境,代码提交与评审、CI / 构建 / 部署、真实环境测试,以及日志、Trace、数据和配置回读,都依赖项目自己的系统、权限与证据源。

因此,super-dev 不是安装后就能跨环境直接运行的工具。引入新项目时,需要在 Project Profile 和私有 adapter 中映射实际的仓库与分支模型、评审和交付流程、鉴权边界、测试入口、权威回读与回滚方式。公共协议约束“哪些事实需要成立、用什么级别的证据声明完成”,具体命令和平台配套由实际使用场景负责。

安装

安装核心研发 skill:

npx skills add brantshin/super-dev \
  --skill super-dev \
  --global \
  --agent codex \
  --yes

按需安装知识库 companion:

npx skills add brantshin/super-dev \
  --skill llm-wiki \
  --global \
  --agent codex \
  --yes

将 --agent codex 换成 --agent claude-code 可安装到 Claude Code。也可以手动复制 skills/super-dev 和 skills/llm-wiki 到目标 Agent 的 skill 目录。

当前公开目录页:Agent Skill Hub · skills.sh。第三方索引可能晚于 GitHub 最新 revision。

本仓库结构

super-dev/
├── README.md                         -- 默认中文说明
├── README.en.md                      -- English
├── README.zh-CN.md                   -- 旧中文链接兼容入口
├── CONTRIBUTING.md
├── SECURITY.md
├── LICENSE
└── skills/
    ├── super-dev/                    -- 研发控制协议
    │   ├── SKILL.md
    │   ├── agents/openai.yaml
    │   └── references/               -- Spec、Evidence、Worktree 等合同
    └── llm-wiki/                     -- 项目知识库 companion
        ├── SKILL.md
        ├── agents/openai.yaml
        └── references/               -- 初始化、知识拓扑与维护合同

仓库不包含真实基础设施 adapter、生产样例、凭据或安装脚本。

隐私与发布边界

公开内容不得包含凭据、内部域名、基础设施坐标、个人路径、私有消息、生产 payload、日志、Trace、截图、数据库记录、真实任务历史或用户记忆。示例应使用合成名称和数据;项目私有坐标留在适合的私有文档中。

参考与致谢

super-dev 的具体形态来自自己的项目实践,也明显受这些项目和方法启发:

  • sdd-riper:轻量控制面、Spec、checkpoint、证据与反向同步;
  • Superpowers:可组合 skill、worktree 和验证纪律;
  • Karpathy's LLM Wiki:由 LLM 持续编译和维护的知识库模式;
  • mattpocock/skills:super-dev 在实际使用中通常会与其中的 grill-me、handoff 等 skill 配合;前者用于在方案前暴露假设和取舍,后者用于长任务、换会话或交接时保留可恢复上下文。

这里是学习后的工程化重组,不是上述项目的再实现,也不代表其作者。欢迎把它当作参考,按自己的项目规模、风险和协作方式删改。

贡献、安全与许可证

贡献应加强通用工程合同,而不是把某个组织的运行态知识塞进公共核心。提交前请阅读 CONTRIBUTING.md。疑似凭据或隐私泄漏请按 SECURITY.md 私下报告,不要创建公开 Issue。

MIT,详见 LICENSE。

About

Evidence-driven engineering harness for autonomous coding agents

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors