介绍 Contributing

介绍 Directus 的所有代码贡献的流程、规则和指南。

嘿嘿! 欢迎来到 Directus,感谢您抽出宝贵时间为开源软件做出贡献! ❤️ 我们希望每个人都能为 Directus 做出贡献,无论您的背景或专业知识如何。 为了促进这一点,我们在下面汇总了一些提示和技巧。 我们的团队非常感谢每一位贡献者、社区成员、GitHub 明星、拉取请求、错误报告和功能请求。 保持 Directus 完全免费和开源是我们的表达方式:谢谢! 我们随时为您提供帮助! 如果您在投稿过程中有 any 问题,请随时与我们聊天 我们的 Discord 服务器

技术贡献者文档
为核心代码库做出贡献的技术文档位于主要的 directus/directus GitHub 存储库的 Wiki

行为守则

Directus 行为准则 是我们将价值观付诸实践的方式之一。我们希望我们所有的员工、承包商和贡献者都了解并遵守本准则。

我们的贡献者和维护者非常努力地将 Directus 构建为高级开源软件。请尊重我们整个生态系统中的这些努力。不会容忍参与者的拖钓、骚扰、侮辱或其他不可接受的行为。

为了营造一个开放和热情的环境,我们承诺让每个人参与我们的项目和社区成为一种无骚扰的体验,无论年龄、体型、残疾、种族、性别特征、性别认同和表达、水平如何经验、教育、社会经济地位、国籍、个人外貌、种族、宗教或性身份和性取向。

有助于创造积极环境的行为示例包括:

  • 使用热情和包容的语言
  • 尊重不同的观点和经历
  • 优雅地接受建设性的批评
  • 专注于对社区最有利的事情
  • 对其他社区成员表示同情

在继续之前,请花点时间阅读我们的完整 行为准则

等待——在你开始之前

向此存储库做出贡献时,首先要与此存储库的所有者讨论您希望进行的更改,这一点很重要。这可以通过 GitHub 问题GitHub 讨论Discordemail 或任何其他方法。

遵循此规则将有助于避免因多人处理同一问题或编写不会合并的代码而造成的时间浪费。

功能请求

功能请求是让我们的团队知道接下来应该优先考虑什么的好方法。您可以通过 GitHub 提交新功能请求对现有提交进行投票讨论。

The 80/20 Rule
为了使 Directus 代码库尽可能干净和简单,我们只会考虑批准我们认为至少 80% 的用户群认为有价值的功能。 如果您的功能请求在 20% 范围内,则它被视为边缘情况,应作为扩展来实现。

RFCs

某些 Directus 功能/修复可能需要在开始工作之前进行额外的设计、策略和/或讨论。 对于这些值得注意的拉取请求,您应该首先通过 Discord 向我们的核心团队提交 RFC(Request For Comments)。 此过程相对非正式,但可确保正确对齐,并有助于避免贡献者浪费开发时间。

错误报告

报告您遇到的任何错误是帮助保持 Directus 稳定的宝贵部分。 在确认不存在类似问题后,您可以通过 GitHub 问题 提交错误报告。 请确保所有提交的内容如下:

  • 您遇到的是实际错误,而不是配置问题
  • 您使用的是官方(预构建)版本的 directus,而不是 fork
  • 您不是在问问题或请求新功能
  • 您已经检查过没有类似的问题(或讨论)已经存在
  • 您输入了一个清晰简洁的标题
  • 您已遵循问题模板,包含堆栈详细信息和重现步骤
  • 您已完成所有 疑难解答步骤

Reporting Security Vulnerabilities

如果您认为自己在 Directus 产品或服务中发现了安全问题,请直接通过电子邮件与我们联系:security@directus.io。 然后,我们将打开 GitHub 安全公告 以跟踪修复。

我们重视独立安全研究社区的成员,他们发现安全漏洞并与我们的团队合作,以便向用户发布适当的修复程序。 我们的政策是在修复的发行说明中感谢所有研究人员。 为了获得信用,安全研究人员必须遵循负责任的披露做法,包括:

  • 在 Directus 团队发布修复之前,他们不会发布漏洞
  • 他们不会泄露问题的确切细节,例如,通过漏洞利用或概念验证

Submitting a Pull-Request

1. Submit an RFC (if needed)

请阅读我们关于 RFC 流程 的文档。

2. Update relevant docs

在提交任何拉取请求之前,请确保更新任何相关文档(包含在同一个 repo 中)。

3. Push your changes

bash
git push -u origin YOUR-BRANCH-NAME

Submit a pull-request

将更改推送到仓库后,“比较和拉取请求”按钮将出现在 GitHub 中。 单击它,您将被带到一个屏幕,您可以在其中填写适当的详细信息。 最后,通过单击“创建拉取请求”按钮打开拉取请求。

现在,我们的核心员工将审核您的贡献并将其合并,或要求您进行更改。

Syncing Your Fork with Directus

提交拉取请求后,您需要将您的分叉与 Directus 同步以拉取所有最新提交,然后才能继续贡献。

1. Add Directus as a Remote

虽然您的分叉是您的主要远程或来源,但您将添加 Directus 作为上游,这通常是指您分叉的原始存储库。

bash
git remote add upstream git@github.com:directus/directus.git

2. Fetch the Latest Changes

根据您的设置,您需要通过拉取、重置、变基或获取从 Directus 的“主”分支获取最新提交。

bash
git pull upstream main

此时,您已准备好继续使用 Directus,包括最新的提交!

在开始或恢复开发之前,如果您要提交包含更改的拉取请求,请务必始终同步!