Files
DinQuant/CONTRIBUTING.md
T
TIANHE 965efbb49b new
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
2026-01-03 00:16:30 +08:00

139 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Contributing
Thanks for your interest in contributing to **QuantDinger**! This guide explains how to report issues, propose changes, and submit pull requests.
---
## 1) Quick links
- **Issues**: use GitHub Issues for bugs and feature requests.
- **Discussions**: use GitHub Discussions for Q&A and ideas.
- **Community**: official channels are linked in `README.md` (Telegram/Discord).
---
## 2) Ways to contribute
- **Report bugs**: provide steps to reproduce plus logs/screenshots.
- **Request features**: describe the use case, expected behavior, and alternatives.
- **Improve docs**: fix typos, clarify setup, add examples.
- **Submit code**: bug fixes, refactors, and new features.
---
## 3) Before you start
- Please read and follow [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md).
- Keep changes focused and small when possible (easier review and safer merges).
- If you plan a large change, open a discussion/issue first to align on design.
---
## 4) Development setup
This repo contains:
- `backend_api_python/`: Flask backend + strategy runtime
- `quantdinger_vue/`: Vue 2 frontend
### Backend (Python)
```bash
cd backend_api_python
pip install -r requirements.txt
cp env.example .env # Windows: copy env.example .env
python run.py
```
### Frontend (Vue)
```bash
cd quantdinger_vue
npm install
npm run serve
```
---
## 5) Branching & PR workflow
### Branch naming
Use a clear prefix:
- `fix/xxx` for bug fixes
- `feat/xxx` for new features
- `docs/xxx` for documentation
- `chore/xxx` for maintenance tasks
### Pull requests
1. Fork the repo and create a new branch from `main`.
2. Make your changes with clear, focused commits.
3. Open a PR with:
- What changed and why
- Screenshots/GIFs for UI changes
- How to test (commands, steps)
- Backward compatibility notes (if any)
---
## 6) Commit messages
Recommended format (similar to Conventional Commits):
- `feat: ...`
- `fix: ...`
- `docs: ...`
- `refactor: ...`
- `chore: ...`
---
## 7) Coding guidelines
### General
- Prefer clarity over cleverness.
- Keep functions small and cohesive.
- Add comments only where necessary (the code should be the primary documentation).
### Python
- Prefer explicit error handling and helpful error messages.
- Avoid storing secrets in code or committed files; use `.env`.
### Frontend
- Keep UI changes consistent with existing Ant Design Vue patterns.
- Avoid breaking i18n keys; reuse existing language keys where possible.
---
## 8) Tests & verification
We dont enforce a single test command across the whole monorepo yet. Please at least:
- Backend: run the API locally and verify affected endpoints
- Frontend: run the dev server and verify affected pages/components
If you add a bug fix, please add a minimal regression test when practical.
---
## 9) Security
Please **do not** open public issues for security vulnerabilities.
For security reports, contact the maintainers via the email in `README.md` and include:
- A description of the issue
- Steps to reproduce / proof of concept
- Impact assessment (what could an attacker do?)
---
## 10) License
By contributing, you agree that your contributions will be licensed under this projects license (see `LICENSE`).