感謝您對本專案的興趣!以下提供中英雙語的貢獻流程。 / Thank you for contributing.
- Python 3.11+
- uv
- Node.js 18+ (前端 / renderer)
- Docker (optional for deployment)
- 複製專案 / Clone repo
git clone https://github.com/guan4tou2/danmu-desktop.git cd danmu-desktop - 環境變數 / Env config
cp env.example .env # Edit .env for passwords / 設定管理員密碼 - 伺服器依賴 / Server deps
cd server uv sync - 前端依賴 / Frontend deps
cd ../danmu-desktop npm install - 啟動服務 / Run dev servers
- HTTP:
PYTHONPATH=.. uv run python -m server.app - WebSocket:
PYTHONPATH=.. uv run python -m server.ws_app - Frontend:
npm run start
- HTTP:
- Python: Black, isort, flake8 (PEP 8)。
- JavaScript: ESLint / Airbnb style (if configured)。
Format / 格式化:
cd server
uv run black .
uv run isort .Lint / 檢查:
uv run flake8 . --max-line-length=100 --extend-ignore=E203,W503pip install pre-commit
pre-commit installHooks 會在每次 commit 時自動執行。
Run tests:
cd server
PYTHONPATH=.. uv run python -m pytestCoverage:
PYTHONPATH=.. uv run python -m pytest --cov=server --cov-report=htmlPlace tests in server/tests/ (use pytest fixtures)。
- 使用 Conventional Commits。
feat,fix,docs,style,refactor,test,chore。
- 開發流程 / Workflow:
git checkout -b feature/your-feature- 撰寫程式碼與測試 / implement & test
git commit -m "feat: ..."git push& 開 PR
- PR checklist / 檢查:
- 測試通過
- pre-commit 無錯
- 文件同步更新
- Commit 訊息符合規範
danmu-desktop/
├── server/ # Backend (Flask + WS)
│ ├── routes/
│ ├── services/
│ ├── managers/
│ ├── tests/
│ └── ...
├── danmu-desktop/ # Electron renderer
├── docs/ # Guides & archives
├── README.md / README-CH.md
└── ...
如有疑問,請開 Issue 或 PR。 / For questions, open an issue or PR.