+119
-72
@@ -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 don’t 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 project’s license (see `LICENSE`).
|
||||
Build carefully. Build openly. Build things that last.
|
||||
Reference in New Issue
Block a user