Overview
We welcome contributions to the MCP Server with LangGraph project! This guide will help you get started with contributing code, documentation, bug reports, and feature requests.By contributing to this project, you agree to abide by our Code of Conduct and license terms.
Quick Start
Development Setup
Prerequisites
Local Environment
No manual venv creation needed!
uv sync automatically:- Creates
.venvif it doesn’t exist - Installs all dependencies from
pyproject.toml - Uses
uv.lockfor reproducible builds
Environment Variables
Start Development Services
Code Style
Python Style Guide
We follow PEP 8 with some modifications:Code Formatting
We use automated formatters:Pre-commit Hooks
Pre-commit hooks automatically run formatters and linters:Testing
Test Structure
Writing Tests
Running Tests
Test Coverage
We aim for >80% code coverage:Commit Messages
Conventional Commits
We use the Conventional Commits specification:feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting, missing semicolons, etc.)refactor: Code refactoringperf: Performance improvementstest: Adding or updating testsbuild: Build system changesci: CI/CD changeschore: Other changes (dependencies, etc.)
Commit Best Practices
Write Clear Messages
Write Clear Messages
- Use present tense (“add feature” not “added feature”)
- Be specific and descriptive
- Explain why, not just what
- Reference issues with
Closes #123
Keep Commits Atomic
Keep Commits Atomic
- One logical change per commit
- Should be revertable independently
- Easy to review
- Makes bisecting easier
Sign Your Commits
Sign Your Commits
Pull Requests
PR Process
-
Create Issue First (for significant changes)
- Discuss the change
- Get feedback early
- Avoid wasted effort
-
Fork and Branch
-
Make Changes
- Follow code style
- Add tests
- Update documentation
-
Run Checks
-
Commit
-
Push
-
Create PR
PR Template
PR Review Process
For Contributors:- Respond to feedback promptly
- Make requested changes
- Re-request review when ready
- Be patient and respectful
- Review within 2 business days
- Be constructive and kind
- Suggest, don’t demand
- Approve when ready
Documentation
Writing Documentation
We use Mintlify for documentation:Documentation Style
Mermaid Diagrams
See Full Guide: Mermaid Standards & Style Guide Quick Template - Flowchart: Quick Template - Sequence Diagram:Release Process
Versioning
We use Semantic Versioning (SemVer):Creating a Release
Changelog Format
Community
Communication Channels
- GitHub Issues: Bug reports, feature requests
- GitHub Discussions: Questions, ideas, general discussion
- Discord: Real-time chat (coming soon)
- Email: security@yourdomain.com (security issues only)
Getting Help
- Check documentation first
- Search existing issues
- Create new issue if needed
- Be specific about your problem
- Provide context (OS, Python version, etc.)
Reporting Bugs
Use this template:Feature Requests
Use this template:Code of Conduct
Our Pledge
We are committed to providing a welcoming and inspiring community for all.Standards
Positive behavior:- Be respectful and inclusive
- Accept constructive criticism
- Focus on what’s best for the community
- Show empathy
- Harassment or discrimination
- Trolling or insulting comments
- Public or private harassment
- Publishing others’ private information
Enforcement
Violations can be reported to: conduct@yourdomain.comLicense
By contributing, you agree that your contributions will be licensed under the MIT License.Recognition
Contributors are recognized in:- CONTRIBUTORS.md file
- Release notes
- Project README
Next Steps
Development Setup
Detailed development environment
Testing Guide
Comprehensive testing strategies
Architecture
System architecture overview
API Reference
API documentation
Ready to Contribute: Join our community and help build amazing AI applications!