Important
Note for contributors: Always branch from dev. PRs targeting main directly will be rejected.
Thank you for your interest in improving M-flow! This guide walks you through the contribution workflow — from local setup to pull-request review.
| Resource | URL |
|---|---|
| Issue Tracker | https://github.com/FlowElement-ai/m_flow/issues |
| mailto:contact@xinliuyuansu.com |
We welcome every kind of contribution:
- Bug reports — open an issue with a minimal reproducer
- Feature proposals — describe the use-case and expected behaviour
- Documentation — fix typos, add examples, improve clarity
- Code & tests — implement fixes, features, or new adapters
- Code review — comment on open PRs with constructive feedback
git clone https://github.com/<you>/m_flow.git
cd m_flowWe recommend uv for fast, reproducible installs:
uv sync --dev --all-extras --reinstallgit checkout -b feat/my-awesome-feature dev# Unit tests (fast, no network)
PYTHONPATH=. uv run pytest m_flow/tests/unit/ -v
# Full suite (may need LLM keys in .env)
PYTHONPATH=. uv run pytest m_flow/tests/ -vuv run ruff check .
uv run ruff format .Fix any issues before committing.
- Sign your commits — we enforce the DCO (Developer Certificate of Origin):
git commit -s -m "feat(graph): add temporal edge weighting" - Push and open a PR against
dev:git push origin feat/my-awesome-feature
- Fill in the PR template. Include:
- What changed and why
- How you tested it locally
- Any impacts on MCP server or frontend
We follow Conventional Commits:
| Prefix | Meaning |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
refactor |
Code change that neither fixes a bug nor adds a feature |
test |
Adding or correcting tests |
chore |
Tooling, CI, build changes |
Example: feat(retrieval): add hybrid vector+graph search
| Label | Description |
|---|---|
good first issue |
Great for newcomers |
bug |
Something is broken |
enhancement |
Feature request |
documentation |
Docs improvement |
help wanted |
Community help appreciated |
- Be respectful and inclusive
- Be professional and constructive in all interactions
- Provide constructive feedback
- Ask questions — no question is too basic
- General questions: GitHub Issues or email contact@xinliuyuansu.com
- Security issues: Please report privately via GitHub Security Advisories. Do NOT open public issues for security vulnerabilities.
Thank you for helping make M-flow better!