感謝您對 OpenAver 的興趣!我們歡迎各種形式的貢獻。
參與本專案即表示您同意遵守我們的 行為準則。請尊重所有參與者。
發現 Bug 了嗎?請按以下步驟報告:
- 搜尋現有 Issues - 確認問題尚未被回報
- 建立新 Issue - 使用 Bug Report 模板
- 提供詳細資訊:
- 問題描述
- 重現步驟
- 預期行為 vs 實際行為
- 環境資訊(作業系統、Python 版本)
- 錯誤訊息或截圖(如有)
Windows 打包版用戶:
- 執行
OpenAver_Debug.bat - 重現問題
- 附上
%USERPROFILE%\OpenAver\logs\debug.log
有好點子嗎?
- 搜尋現有 Issues - 確認功能尚未被請求
- 建立新 Issue - 使用 Feature Request 模板
- 描述功能:
- 想解決什麼問題?
- 建議的解決方案
- 替代方案(如有)
- Fork 本專案
- 建立分支:
git checkout -b feature/your-feature - 開發並確保測試通過
- Commit(遵循 Commit 規範)
- Push:
git push origin feature/your-feature - 建立 Pull Request
- 測試通過:
pytest - 沒有引入新的 linting 錯誤
- 更新相關文檔(如有)
- PR 描述清楚說明變更內容
# 1. Clone 專案
git clone https://github.com/slive777/OpenAver.git
cd OpenAver
# 2. 建立虛擬環境
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 3. 安裝依賴
pip install -r requirements.txt
# 4. 執行測試
pytest
# 5. 啟動開發伺服器
uvicorn web.app:app --reload --host 0.0.0.0 --port 8000- 遵循 PEP 8
- 使用有意義的變數和函數名稱
- 加入適當的 docstring 和註釋
- 行寬上限:120 字元
- 使用 2 spaces 縮排
- 使用
const/let,避免var - 函數和變數使用 camelCase
- HTML 使用 2 spaces 縮排
- CSS 類名使用 kebab-case
- 遵循既有的 Bootstrap 5 結構
使用 Conventional Commits 格式:
<type>(<scope>): <description>
[optional body]
[optional footer]
| Type | 說明 |
|---|---|
feat |
新功能 |
fix |
Bug 修復 |
docs |
文檔變更 |
style |
代碼格式(不影響功能) |
refactor |
重構(不是新功能或修復) |
test |
測試相關 |
chore |
建構或輔助工具變更 |
feat(search): add batch file search functionality
- Add 20 files per batch processing
- Support pause/resume feature
- Show progress bar during search
Closes #123
加入 Telegram 群組 與其他使用者交流分享!
感謝所有貢獻者讓 OpenAver 變得更好!