Skip to main content

实现一个新功能

我们很高兴接受对 Remotion 项目的贡献,这些贡献实现了新功能。

🌐 We are happy to accept contributions to the Remotion project that implement new features.

设置

🌐 Setup

请参阅 CONTRIBUTING.md 文件,了解如何设置该项目的说明。

🌐 See the CONTRIBUTING.md file for instructions on how to set up the project.

对我们来说重要的事

🌐 What's important to us

  • 计划:提前发出信号,表示你想通过创建一个问题(issue)并提到你想开发该功能来提出这个功能。这让我们有机会评论是否喜欢该功能,并让我们讨论架构。
  • 通用: 该功能应尽可能不偏向特定意见。不要做出针对你的使用场景的特定决策,尽量使该功能尽可能通用,以便每个人都能使用。
  • 大小:该功能不应通过添加可避免的依赖来使轻量级包膨胀。如果存在许多并非所有人都需要的依赖,考虑该功能是否应该在 monorepo 中成为一个新包。
  • 文档: 该功能应有文档记录,并且文档的质量应与其他文档的水平一致。

技术标准

🌐 Technical standards

  • TypeScript 或 Rust:代码应使用这两种语言中的一种编写。
  • 测试:如果你认为有意义,请添加测试。
  • 前向兼容性:注意该功能将来可能如何发展。在 API 的输入和输出中使用对象可以更容易地在将来添加新属性。
  • 向后兼容性:如果 Remotion 升级,你的功能不能破坏现有代码,除非该功能出现在主版本中。
  • 命名约定:变量使用 camelCase。如果 API 接口涉及数值,应包含单位。例如使用 durationInFrames 而不是 duration,或使用 timeoutInMilliseconds 而不是 timeout

图标

🌐 Icons

Remotion 在 Remotion Studio 中使用 Font Awesome v5.15.4 作为图标。

🌐 Remotion uses Font Awesome v5.15.4 for the icons in the Remotion Studio.

我们有许可证,如果需要可以提供专业图标的访问权限。

🌐 We have a license and can grant access to Pro icons if needed.

与我们沟通

🌐 Communicate with us

Discord 上使用 #development 通道快速提问并获得反馈。

🌐 Use the #development channel on Discord to quickly ask questions and get feedback.

另请参阅

🌐 See also