此页面概述了如何为 Node.js 最佳实践仓库贡献内容,详细介绍了提交新内容、翻译以及修复现有内容的流程。它还解释了如何认可贡献者的工作。有关仓库结构和内容组织的更多信息,请参阅仓库结构。
Node.js 最佳实践仓库遵循协作社区模式,强调包容性和高质量内容。该项目保持友好、专业的氛围,所有贡献者都受到欢迎和赞赏。
我们的核心原则包括:
来源:.operations/CONTRIBUTING.md4-7
仓库接受多种类型的贡献,每种类型的处理方式因其性质而异:
| 贡献类型 | 描述 | 复杂性 |
|---|---|---|
| 新的最佳实践 | 添加全新的建议或模式 | 高 |
| 内容编辑 | 通过实质性修改改进现有内容 | 中等 |
| 纯文本更改 | 语法、拼写或其他微小文本更正 | 低 |
| 翻译 | 创建或更新翻译 | 中等 |
| 技术讨论 | 就 Node.js 实践发起讨论 | 低 |
来源:.operations/CONTRIBUTING.md18-28
下图展示了为仓库贡献内容的典型流程:
来源:.operations/CONTRIBUTING.md36-47 .github/workflows/lint-and-generate-html-from-markdown.yml13-31
根据贡献类型,仓库有结构化的审查流程。
按贡献类型划分的特定审查标准
来源:.operations/CONTRIBUTING.md9-30 .operations/common-answers.md1-18 .operations/operations-manual.md70-90
在提交任何贡献之前,您应该验证您的 Markdown 是否通过了 linter。
用于自动修复基本错误
Linter 确保仓库中所有内容都具有一致的格式和结构。
来源:.operations/CONTRIBUTING.md36-47 .github/workflows/lint-and-generate-html-from-markdown.yml13-31
仓库有特定的编写指南,以确保内容的质量和一致性。关键方面包括:
有关详细的编写指南,请参阅编写指南文档。
来源:.operations/writing-guidelines.md1-31
该仓库欢迎翻译,以便让非英语使用者能够访问内容。该项目目前提供多种语言的内容,包括俄语、中文、法语等。
翻译的关键指南
readme.md 变成 readme.french.md。来源:.operations/common-answers.md1-18 .operations/operations-manual.md70-90
该仓库使用 All Contributors 机器人来认可贡献。每个合并的 PR 都会带来贡献者的认可。
在合并 PR 时,核心团队成员将使用 all-contributors 机器人通过类似以下的命令添加贡献者:
@all-contributors please add @username for content
机器人会更新 .all-contributorsrc 文件,并将贡献者的头像和姓名添加到 README 文件中。
来源:.operations/CONTRIBUTING.md14-16 .all-contributorsrc1-1182
仓库由不同角色维护,各自承担特定职责。
每月维护任务由轮换的维护者执行,以确保仓库的及时更新。
来源:.operations/CONTRIBUTING.md49-62 .operations/operations-manual.md14-51
该仓库使用复杂的路由系统,将特定类型的贡献引导给正确的专家。
| 主题 | 示例 | 负责人 |
|---|---|---|
| 代码标准 | 代码拼写错误、示例优化 | Bruno |
| 翻译 | 新语言、翻译 PR | 每月轮换 |
| 写作质量 | 拼写错误、文本清晰度 | Bruno |
| JS 运行时 | 语法正确性 | Sagir |
| DevOps | 监控、部署 | Kyle |
| 架构 | 项目结构、微服务 | Yoni |
| 测试 | CI、linting | Yoni |
| 安全 | 安全实践、软件包 | Kyle |
| 错误处理 | 异常管理 | Yoni |
每种语言的翻译也分配给特定的维护者,以确保质量和一致性。
来源:.operations/operations-manual.md54-90
团队成员拥有带有颜色编码边框的个人资料图标,以指示其角色。
要创建成员个人资料图标,请使用 SVG 模板,并根据您的角色替换占位符为您 GitHub 用户名和适当的边框颜色。
来源:assets/images/members/create-member-icon.md1-45 assets/images/members/josh-hemphill.png