开源项目 使用机器人
就像很多工作别人可以帮你做一样,也有很多工作不需要人来做。因为有机器可以替代人工,尤其是那些重复、无聊的工作,用好它们能够让你的维护生活变得更容易。
引进测试和别的检查来改善你的代码质量
让你项目自动化的最重要的方法之一就是引进测试。
测试能够帮助贡献者自信他们没有弄坏什么。测试也让你复查代码和接受别人的贡献的过程更加容易。你反应的越多,社区参与的就越多。
设置自动化的测试让所有新来的贡献者都可用,而且保证你的测试可以很容易在贡献者的本地运行。保证所有的代码贡献者在提交之前都运行你的测试。你还得为所有的提交设置一个基本的标准。
如果你添加了测试,确保在 CONTRIBUTING 文件里面解释他们是怎么工作的。
我相信测试对所有的代码都是需要的。如果代码被完整的覆盖了测试,以后就不需要改了。我们只需要在代码崩溃或者需要某个功能的添加代码。不管你在修改什么,测试对于检查那些你可能不小心制造的问题都是必须的。
用工具来自动化日常的维护工作
对于维护一个流行的项目来说,一个好消息是别的维护者也可能遇到过类似的问题而且已经找到一个解决方案。
这里有各种各样的工具 帮你自动化一部分的维护工作。这里仅列举一些常见的例子:
- semantic-release 自动化版本发布
- mention-bot 可能的贡献者来帮你复查代码
- Danger 帮你自动复查代码
对于 bug 报告和其他常见形式的贡献,GitHub 有Issue 模版和 Pull Request 模版 , 你可以用来降低沟通成本。你也可以设置邮件过滤 来管理你的邮件提醒。
如果你想更加的先进和高效,代码风格指南和 linter 能让你项目收到的贡献更加规范,而且更容易复查和被接受。
当然啦,如果你的标准太复杂了,反倒会增加了贡献的难度。所以保证你只添加那些让每个人工作起来更容易的规则。
如果你不确定用什么工具,看一看别的流行项目是怎么做的,特别是和你在一个生态系统的。比如,其他的 Node 模块的贡献流程是怎么样的?用相似的工具和方法,能够让你项目的贡献流程对于开发者来说是很熟悉的。