如何贡献
欢迎参与贡献!以下是入门指南。
快速开始
bash
git clone https://github.com/Totoro-jam/battle-tested-patterns.git
cd battle-tested-patterns
pnpm install
pnpm dev # 启动文档站开发服务器
pnpm test # 运行全部测试:docs 组件 + 四种语言的练习贡献类型
添加新模式
- 开一个 Issue 提议该模式
- 遵循 SOP 01: 新增模式
- 提交 PR 并填写完整的 checklist
添加语言实现
- 选择一个缺少你擅长语言的模式
- 遵循 SOP 03: 多语言实现
- 实现必须地道 — 不能逐行翻译
修复失效链接
改进文档
- 修正拼写、澄清说明、改进图示
- 修订已有内容用 commit 类型
docs:;新增整个内容单元(新模式、案例研究或指南页)时用feat:
质量标准
每个模式必须满足以下最低要求:
- ≥ 2 个生产验证,附带精确到行号的 GitHub 链接
- TypeScript 实现 + ≥ 1 种其他语言(Rust/Go/Python)
- 4 种语言的练习文件(TS、Rust、Go、Python)+ 答案文件
- 中文翻译且代码块一致
- 所有测试通过(
pnpm test一次运行四种语言 + docs),无 lint 错误
完整检查清单见 PR 模板。
提交规范
text
feat: add cooperative-scheduling pattern
fix: update broken Linux source link in bitmask
docs: improve Core Idea diagram for double-buffering
test: add advanced exercise for min-heap
ci: add Go test step to CI workflow
chore: update dependencies按面向读者的影响选择类型,而非按改了哪些文件:
- 新增整个内容单元(模式、案例研究、指南页)→
feat:(这才会提升版本号,并作为里程碑出现在 changelog 中)。 - 修订已有内容(深化、润色、修正措辞)→
docs:(会显示在 changelog 中,但不提升版本号)。 - 纯内部改动 ——
.sop/更新、工具链、配置 →chore:(不进入面向读者的 changelog)。