Files
ds2api/CONTRIBUTING.en.md

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.