Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
This commit is contained in:
TIANHE
2026-01-06 01:34:37 +08:00
parent 6754d0cf37
commit 355f5c5ef1
5 changed files with 465 additions and 372 deletions
+119 -72
View File
@@ -1,42 +1,106 @@
# Contributing
# Contributing to QuantDinger
Thanks for your interest in contributing to **QuantDinger**! This guide explains how to report issues, propose changes, and submit pull requests.
Thanks for your interest in contributing to **QuantDinger**.
> 🌟 **Want to join our DAO community?** Check out [CONTRIBUTORS.md](CONTRIBUTORS.md) to learn about early contributor rewards, including QDT governance token airdrops!
QuantDinger is a **local-first, private AI-driven quantitative trading workspace**.
It is built for people who care about:
- data sovereignty
- local execution
- transparent systems
- engineering over hype
This document explains **how to contribute** and **what contribution means here**.
---
## 1) Quick links
## ⚠️ Please Read First
- **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).
QuantDinger is **not a DAO**.
There is **no token**, **no airdrop**, and **no financial incentive** at this stage.
If you are looking for short-term rewards, promotions, or token speculation,
this project is probably **not a good fit**.
If you are interested in:
- building credible infrastructure
- publishing real work under your name
- shaping an early-stage system with long-term value
you are very welcome here.
---
## 2) Ways to contribute
## 🧭 What Contribution Means
- **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.
Contributing to QuantDinger means creating **public, verifiable work**.
Your contributions:
- are attributed publicly on GitHub
- can be referenced in your resume or portfolio
- remain valuable to you beyond this project
This is a **builder-first environment**.
---
## 3) Before you start
## 🧑‍💻 Ways to Contribute
- 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.
### 1) Core Engineering
- Python strategy engine
- execution logic
- AI / LLM agent workflows
- backtesting and data pipelines
Small, focused improvements are preferred.
---
## 4) Development setup
### 2) Strategy & Research
- example strategies
- research notebooks
- execution experiments
- performance analysis
This repo contains:
This is a good place to demonstrate how you think.
---
### 3) Documentation & Explanation
- tutorials and setup guides
- architecture explanations
- design rationale
Clear explanations matter as much as good code.
---
### 4) Content & Advocacy
- technical blog posts
- demo videos
- system breakdowns
- honest reviews or critiques
You are not “marketing”.
You are explaining something real.
---
## 🔗 Communication Channels
- **Issues**: bug reports and feature requests
- **Discussions**: questions, ideas, and design conversations
- **Community**: official links are listed in `README.md`
If you plan a large change, please open a discussion first.
---
## 🛠️ Development Setup
This repository contains:
- `backend_api_python/`: Flask backend + strategy runtime
- `quantdinger_vue/`: Vue 2 frontend
- `quantdinger_vue/`: Vue frontend
### Backend (Python)
@@ -57,84 +121,67 @@ npm run serve
---
## 5) Branching & PR workflow
## 🌿 Branching & Pull Requests
### Branch naming
Use a clear prefix:
- `fix/xxx` — bug fixes
- `feat/xxx` — new features
- `docs/xxx` — documentation
- `chore/xxx` — maintenance
- `fix/xxx` for bug fixes
- `feat/xxx` for new features
- `docs/xxx` for documentation
- `chore/xxx` for maintenance tasks
### Pull request guidelines
### Pull requests
Please include:
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)
- what changed and why
- how to test
- screenshots/GIFs for UI changes (if applicable)
- backward compatibility notes (if any)
Keep PRs focused and reviewable.
---
## 6) Commit messages
## 🧪 Testing & Verification
Recommended format (similar to Conventional Commits):
We do not enforce a single test command yet. Please at least:
- `feat: ...`
- `fix: ...`
- `docs: ...`
- `refactor: ...`
- `chore: ...`
- **Backend**: run the API locally and verify affected endpoints
- **Frontend**: run the dev server and verify affected pages/components
Bug fixes should include a minimal regression test when practical.
---
## 7) Coding guidelines
## 🔐 Security
### General
Please do not open public issues for security vulnerabilities.
- Prefer clarity over cleverness.
- Keep functions small and cohesive.
- Add comments only where necessary (the code should be the primary documentation).
For security reports, contact the maintainer via the email in README.md and include:
### 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.
- description of the issue
- steps to reproduce
- impact assessment
---
## 8) Tests & verification
## 📜 License
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.
By contributing, you agree that your contributions will be licensed
under the project's license (see LICENSE).
---
## 9) Security
## 🧠 A Note on the Future
Please **do not** open public issues for security vulnerabilities.
QuantDinger may explore incentive or alignment mechanisms in the future.
Nothing is promised, scheduled, or guaranteed.
For security reports, contact the maintainers via the email in `README.md` and include:
What is guaranteed:
- A description of the issue
- Steps to reproduce / proof of concept
- Impact assessment (what could an attacker do?)
- your work will be visible
- your name will be attached to it
- your contribution will remain yours
---
## 10) License
By contributing, you agree that your contributions will be licensed under this projects license (see `LICENSE`).
Build carefully. Build openly. Build things that last.