mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-08 18:35:35 +08:00
71 lines
1.4 KiB
Markdown
71 lines
1.4 KiB
Markdown
# Contributing Guide
|
|
|
|
Language: [中文](CONTRIBUTING.md) | [English](CONTRIBUTING.en.md)
|
|
|
|
Thanks for contributing to DS2API.
|
|
|
|
## Development Setup
|
|
|
|
### Backend (Go)
|
|
|
|
```bash
|
|
# 1. Clone
|
|
git clone https://github.com/CJackHwang/ds2api.git
|
|
cd ds2api
|
|
|
|
# 2. Configure
|
|
cp config.example.json config.json
|
|
# Edit config.json
|
|
|
|
# 3. Run backend
|
|
go run ./cmd/ds2api
|
|
```
|
|
|
|
### Frontend (WebUI)
|
|
|
|
```bash
|
|
cd webui
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
WebUI locales are in `webui/src/locales/`.
|
|
|
|
## Code Standards
|
|
|
|
- **Go**: run `gofmt` and make sure `go test ./...` passes before committing
|
|
- **JavaScript/React**: follow existing project style (functional components)
|
|
- **Commit messages**: use semantic prefixes (`feat:`, `fix:`, `docs:`)
|
|
|
|
## Submitting a PR
|
|
|
|
1. Fork the repo
|
|
2. Create a branch (e.g. `feature/xxx`)
|
|
3. Commit changes
|
|
4. Push your branch
|
|
5. Open a Pull Request
|
|
|
|
## Build WebUI
|
|
|
|
```bash
|
|
./scripts/build-webui.sh
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```text
|
|
ds2api/
|
|
├── cmd/ds2api/ # Local/container entrypoint
|
|
├── api/index.go # Vercel serverless entrypoint
|
|
├── internal/ # Go backend implementation
|
|
├── webui/ # React WebUI source
|
|
├── static/admin/ # WebUI build output
|
|
├── Dockerfile
|
|
├── docker-compose.yml
|
|
└── vercel.json
|
|
```
|
|
|
|
## Reporting Issues
|
|
|
|
Please use [GitHub Issues](https://github.com/CJackHwang/ds2api/issues) with reproducible steps and logs.
|