CONTRIBUTING.md•2.44 kB
# Contributing to Hashnode MCP Server
Thank you for considering contributing to the Hashnode MCP Server! This document provides guidelines and instructions for contributing to this project.
## Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful and considerate of others.
## How to Contribute
### Reporting Bugs
If you find a bug, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the bug
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment information (OS, Python version, etc.)
### Suggesting Enhancements
If you have an idea for an enhancement, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the enhancement
- Why this enhancement would be useful
- Any relevant examples or mockups
### Pull Requests
1. Fork the repository
2. Create a new branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run tests to ensure your changes don't break existing functionality
5. Commit your changes (`git commit -m 'Add some amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request
## Development Setup
1. Clone the repository:
```bash
git clone https://github.com/sbmagar13/hashnode-mcp-server.git
cd hashnode-mcp-server
```
2. Create a virtual environment and activate it:
```bash
python -m venv .venv
source .venv/bin/activate # On Windows, use: .venv\Scripts\activate
```
3. Install the dependencies:
```bash
pip install -r requirements.txt
```
4. Create a `.env` file based on `.env.example` and add your Hashnode API credentials.
5. Run the tests:
```bash
pytest
```
## Coding Standards
- Follow PEP 8 style guidelines
- Write docstrings for all functions, classes, and modules
- Include type hints where appropriate
- Write tests for new functionality
## Testing
- Run tests before submitting a pull request
- Add tests for new functionality
- Ensure all tests pass
## Documentation
- Update documentation for any changes to the API
- Include examples for new functionality
- Keep the README up to date
## License
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.