|
| 1 | +# GitHub MCP Server - Contributing Summary |
| 2 | + |
| 3 | +This document summarizes the contribution guidelines for the GitHub MCP Server project. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +The GitHub MCP Server welcomes contributions from the community. All contributions are released under the project's open source license, and contributors must agree to abide by the Contributor Code of Conduct. |
| 8 | + |
| 9 | +## Prerequisites |
| 10 | + |
| 11 | +Before contributing, you need to install: |
| 12 | +- **Go** - Programming language for the project |
| 13 | +- **golangci-lint v2** - Linting tool for code quality |
| 14 | + |
| 15 | +## Contribution Process |
| 16 | + |
| 17 | +```mermaid |
| 18 | +flowchart TD |
| 19 | + A[Start Contributing] --> B[Install Prerequisites] |
| 20 | + B --> C[Fork & Clone Repository] |
| 21 | + C --> D[Run Tests Locally] |
| 22 | + D --> E{Tests Pass?} |
| 23 | + E -->|No| F[Fix Issues] |
| 24 | + F --> D |
| 25 | + E -->|Yes| G[Run Linter] |
| 26 | + G --> H{Linter Pass?} |
| 27 | + H -->|No| I[Fix Linting Issues] |
| 28 | + I --> G |
| 29 | + H -->|Yes| J[Create New Branch] |
| 30 | + J --> K[Make Changes] |
| 31 | + K --> L[Add Tests] |
| 32 | + L --> M[Run Tests & Linter Again] |
| 33 | + M --> N{All Checks Pass?} |
| 34 | + N -->|No| O[Fix Issues] |
| 35 | + O --> M |
| 36 | + N -->|Yes| P[Push to Fork] |
| 37 | + P --> Q[Submit Pull Request] |
| 38 | + Q --> R[Wait for Review] |
| 39 | + R --> S[Celebrate! 🎉] |
| 40 | +``` |
| 41 | + |
| 42 | +## Key Commands |
| 43 | + |
| 44 | +| Task | Command | |
| 45 | +|------|---------| |
| 46 | +| Run tests | `go test -v ./...` | |
| 47 | +| Run linter | `golangci-lint run` | |
| 48 | +| Create branch | `git checkout -b my-branch-name` | |
| 49 | + |
| 50 | +## Best Practices for PR Acceptance |
| 51 | + |
| 52 | +1. **Follow the style guide** - Adhere to the project's coding standards defined in `.golangci.yml` |
| 53 | +2. **Write tests** - Include comprehensive tests for your changes |
| 54 | +3. **Keep changes focused** - Submit separate PRs for unrelated changes |
| 55 | +4. **Write good commit messages** - Follow best practices for commit message formatting |
| 56 | + |
| 57 | +## Important Files |
| 58 | + |
| 59 | +- `CODE_OF_CONDUCT.md` - Code of conduct for contributors |
| 60 | +- `LICENSE` - Project license terms |
| 61 | +- `.golangci.yml` - Linting configuration and style guide |
| 62 | + |
| 63 | +## Resources |
| 64 | + |
| 65 | +- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) |
| 66 | +- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) |
| 67 | +- [GitHub Help](https://help.github.com) |
| 68 | + |
| 69 | +## Quick Start Checklist |
| 70 | + |
| 71 | +- [ ] Install Go |
| 72 | +- [ ] Install golangci-lint v2 |
| 73 | +- [ ] Fork the repository |
| 74 | +- [ ] Clone your fork |
| 75 | +- [ ] Run `go test -v ./...` to verify setup |
| 76 | +- [ ] Run `golangci-lint run` to verify linting setup |
| 77 | +- [ ] Create a feature branch |
| 78 | +- [ ] Make your changes |
| 79 | +- [ ] Add tests |
| 80 | +- [ ] Verify tests and linting pass |
| 81 | +- [ ] Submit pull request |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +*This summary is based on the CONTRIBUTING.md file from the github/github-mcp-server repository.* |
0 commit comments