貢獻指南
了解如何為 Remotion 開源專案做出貢獻,包括回報 Bug、提交 PR 和改善文件。
貢獻指南
Remotion 是一個活躍的開源專案,歡迎所有形式的貢獻——不論是回報 Bug、提交程式碼、改善文件,還是在社群中幫助其他使用者。
貢獻方式
回報 Bug
發現問題時,請在 GitHub 上建立 Issue:
github.com/remotion-dev/remotion/issues
好的 Bug 報告應包含:
- Remotion 版本:執行
npx remotion versions查看 - Node.js 版本:執行
node --version查看 - 作業系統與版本
- 重現步驟:愈具體愈好
- 預期行為 vs 實際行為
- 最小重現範例(Minimal Reproduction):建議用 StackBlitz 或 GitHub 建立可獨立執行的範例
提交 Pull Request
歡迎提交 Bug 修復、新功能和文件改善。建議流程如下:
-
先開 Issue 討論:對於較大的功能,建議先建立 Issue 討論設計方向,避免做了大量工作後才發現方向不符。
-
Fork 並 clone 專案:
git clone https://github.com/YOUR_USERNAME/remotion.git cd remotion -
安裝依賴:
pnpm install -
建立功能分支:
git checkout -b feat/my-new-feature -
進行修改並執行測試:
pnpm test -
提交 PR,並在說明中清楚描述你的修改內容和原因。
改善文件
文件源碼位於 packages/docs/ 目錄下。改善文件是最容易入門的貢獻方式:
- 修正錯別字或不清楚的描述
- 補充缺少的使用範例
- 翻譯文件(如本繁體中文社群文件)
- 新增常見問題解答
社群支援
在 Discord 或 GitHub Discussions 中幫助其他使用者也是重要的貢獻:
- Discord:remotion.dev/discord
- GitHub Discussions:github.com/remotion-dev/remotion/discussions
本地開發環境設定
# clone 專案
git clone https://github.com/remotion-dev/remotion.git
cd remotion
# Remotion 使用 pnpm 作為套件管理工具
npm install -g pnpm
# 安裝所有依賴
pnpm install
# 建構所有套件
pnpm build
# 執行測試
pnpm test程式碼風格
Remotion 使用以下工具維持程式碼品質:
- TypeScript:所有程式碼均為 TypeScript,需維持型別安全
- ESLint:遵循專案的 ESLint 設定
- Prettier:自動格式化,不需手動調整縮排
提交前請確認:
# 檢查型別
pnpm typecheck
# 執行 Linter
pnpm lint
# 格式化程式碼
pnpm formatCommit 訊息規範
Remotion 遵循 Conventional Commits 規範:
feat: 新增 XYZ 功能
fix: 修正 ABC 的 Bug
docs: 更新 XXX 文件
refactor: 重構 YYY 模組
test: 補充 ZZZ 測試
授權協議
Remotion 的核心套件採用 Remotion 專有授權(非純 MIT),對個人開發者和小型企業開放免費使用,但商業用途超過一定規模需購買授權。
提交程式碼貢獻即表示你同意將你的貢獻以與專案相同的授權條款釋出。
詳情請參閱 授權與定價。
行為準則
Remotion 社群遵循友善、包容的行為準則:
- 尊重不同意見和使用方式
- 提供建設性的回饋,而非批評
- 聚焦在問題本身,而非個人
- 歡迎新手提問和參與
致謝
每一位貢獻者都會出現在 致謝頁面 和 GitHub Contributors 列表中。感謝所有讓 Remotion 變得更好的人。