实现一个新功能
我们很高兴接受对 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