|
| 1 | +# Contributing to RubyMCP |
| 2 | + |
| 3 | +Thank you for considering contributing to RubyMCP! This document outlines the process for contributing to the project. |
| 4 | + |
| 5 | +## Code of Conduct |
| 6 | + |
| 7 | +This project and everyone participating in it is governed by our [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. |
| 8 | + |
| 9 | +## How Can I Contribute? |
| 10 | + |
| 11 | +### Reporting Bugs |
| 12 | + |
| 13 | +This section guides you through submitting a bug report for RubyMCP. |
| 14 | + |
| 15 | +Before creating bug reports, please check [the issue list](https://github.com/nagstler/ruby_mcp/issues) to avoid duplicating an existing report. When you create a bug report, include as many details as possible: |
| 16 | + |
| 17 | +* **Use a clear and descriptive title** |
| 18 | +* **Describe the exact steps to reproduce the bug** |
| 19 | +* **Provide specific examples** |
| 20 | +* **Describe the behavior you observed** |
| 21 | +* **Explain the behavior you expected** |
| 22 | +* **Include screenshots or animated GIFs** if possible |
| 23 | +* **Include details about your configuration and environment** |
| 24 | + |
| 25 | +### Suggesting Enhancements |
| 26 | + |
| 27 | +This section guides you through submitting an enhancement suggestion for RubyMCP. |
| 28 | + |
| 29 | +Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion: |
| 30 | + |
| 31 | +* **Use a clear and descriptive title** |
| 32 | +* **Provide a detailed description of the suggested enhancement** |
| 33 | +* **Explain why this enhancement would be useful** |
| 34 | +* **Specify which version you're using** |
| 35 | +* **Specify the name and version of the OS you're using** |
| 36 | + |
| 37 | +### Pull Requests |
| 38 | + |
| 39 | +* Fill in the required template |
| 40 | +* Follow the Ruby style guide |
| 41 | +* Include tests for new features |
| 42 | +* Document new code based on the rest of the codebase |
| 43 | +* End all files with a newline |
| 44 | + |
| 45 | +## Development Process |
| 46 | + |
| 47 | +### Setting Up Development Environment |
| 48 | + |
| 49 | +```bash |
| 50 | +# Fork and clone the repository |
| 51 | +git clone https://github.com/yourusername/ruby_mcp.git |
| 52 | +cd ruby_mcp |
| 53 | + |
| 54 | +# Install dependencies |
| 55 | +bundle install |
| 56 | + |
| 57 | +# Run tests |
| 58 | +bundle exec rspec |
| 59 | + |
| 60 | + |
| 61 | +### Testing |
| 62 | + |
| 63 | +Write tests for all new features |
| 64 | +Ensure all tests pass before submitting a pull request |
| 65 | +Run the full test suite locally before submission |
| 66 | + |
| 67 | +```bash |
| 68 | +bundle exec rspec |
| 69 | +``` |
| 70 | + |
| 71 | +### Style Guidelines |
| 72 | + |
| 73 | +Code should follow the Ruby style guide |
| 74 | +Run RuboCop to check your code style |
| 75 | + |
| 76 | +```bash |
| 77 | +bundle exec rubocop |
| 78 | +``` |
| 79 | + |
| 80 | +### Release Process |
| 81 | + |
| 82 | +RubyMCP follows Semantic Versioning. |
| 83 | + |
| 84 | +- MAJOR version for incompatible API changes |
| 85 | +- MINOR version for backward-compatible functionality additions |
| 86 | +- PATCH version for backward-compatible bug fixes |
| 87 | + |
| 88 | +### First-time Contributors |
| 89 | +If you're new to the project, look for issues labeled with good first issue which are ideal starting points for newcomers. |
| 90 | +
|
| 91 | +### License |
| 92 | +By contributing to RubyMCP, you agree that your contributions will be licensed under the project's MIT License. |
0 commit comments