dev-process
在本仓开发任何改动前用。规定 issue 先行的开发流程,按 bugfix / 优化 / 新功能分流;新功能须经 issue 充分讨论并在 .agents/docs 落地设计方案;衔接 tdd-workflow 与本体验证 / 测试 / CI / PR 规范。开发前先读本 skill。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
在本仓开发任何改动前用。规定 issue 先行的开发流程,按 bugfix / 优化 / 新功能分流;新功能须经 issue 充分讨论并在 .agents/docs 落地设计方案;衔接 tdd-workflow 与本体验证 / 测试 / CI / PR 规范。开发前先读本 skill。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
为 mcpp 项目应用 Modern/Module C++ (C++23) 编码风格。适用于编写或审查带模块的 C++ 代码、命名标识符、组织 .cppm/.cpp 文件,或用户提及 mcpp、module C++、现代 C++ 风格时。
向本仓提交 issue / 发起讨论时用。规定一份好问题反馈的 SOP——软件/版本、报错信息、初步分析、相关资料,并去除本地隐私(用户名/token 等替换)。凡要创建 issue、反馈 bug、发起讨论,先读本 skill 再动手。
调试 mbun 运行时测试失败/崩溃时用。提供仓库实测可用的定位配方——选二进制、单文件跑测、gdb 抓 backtrace、按 API 定位源码、常见坑排查清单、何时跳过。凡处理 bun 测试跑不过/段错误/hang/断言失败,先读本 skill 再动手,避免每个 task 重复摸索拖慢。
在 mbun 项目中开发任何功能或修复缺陷时使用。规定以 bun/node 原生测试集为验收标准的 TDD 开发循环、checkpoint 提交约定与记录流程。
| name | dev-process |
| description | 在本仓开发任何改动前用。规定 issue 先行的开发流程,按 bugfix / 优化 / 新功能分流;新功能须经 issue 充分讨论并在 .agents/docs 落地设计方案;衔接 tdd-workflow 与本体验证 / 测试 / CI / PR 规范。开发前先读本 skill。 |
红绿实现细节见 tdd-workflow;本 skill 管它之前的
流程:先有 issue、按类型分流、新功能先出设计方案。
除极小修正(typo / 注释)外,改动都从一个 issue 开始。issue 写法见
issue-reporting。
| 类型 | issue 要求 | 进入开发 |
|---|---|---|
| bugfix | 复现 + 根因判断 | 直接进 tdd-workflow:red 用上游/新测试锚定,green 最小实现 |
| 优化 / 重构 | 动机 + 不改变语义声明 | 需基线对照(改动前后 pass/fail 一致或更好) |
| 新功能 | 见 §2 充分讨论 + 设计方案 | 方案通过后再进 tdd-workflow |
.agents/docs/ 新建 <topic>.md 设计方案,含:
目标 / 模块边界 / 接口设计 / 测试计划 / 兼容性与风险。.cppm 模块(编码规范见
mcpp-style-ref)。改动必须在真实 mbun 上跑通对应上游测试——构建通过 ≠ 功能完成。选最新 mtime 的
二进制、经沙箱跑,见 mbun-runtime-debugging。
modules/<member>/tests/test_<模块>.cpp(成员目录内 mcpp test
自动发现)。mbun test compat/... 的 pass/fail 为红绿信号。tools/integration/(safe-test.sh / bounded_run.py)资源受限沙箱,防
fork/泄漏冻机。rewrite_bun_in_mcpp,不要合入 main。.github/workflows);改动不得破坏受保护面。Co-authored-by);打标签。规范见
hagent/contributing.md。hagent/**、.agents/skills/**、CI、LICENSE;见
hagent/charter.md §5)须维护者签字,不得自 merge。mbun 是一个通用运行时内核,外面套 node / bun 两层薄兼容层;方言自动识别, 并允许用户显式指定覆盖。
推论(容易踩错的那条):两个语料对同一调用要求不同行为时,那是兼容层的分派点,
是工作项,不是不可达的上限。 已确认至少 6 处(crypto 解码错误码、getCurves()、
HTTP/1.0 framing、入口找不到的报错、OKP JWK 校验、getRandomValues 配额)。
不要记成 COSTS_GREEN 了事。
落地要点:
mcpp-style-ref 的「JS 只做最薄接口层」)。modules/jsc/src/runtime/api_impl.inc,
别假设它已经有了。compat/ 上游断言语义。