Skip to main content
Glama
contributing.md4.18 kB
# Contributing to OpenDiscourse MCP Servers ## Welcome! Thank you for your interest in contributing to the OpenDiscourse MCP Servers project! We welcome contributions from everyone, regardless of experience level. ## Code of Conduct This project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. ## How to Contribute ### Reporting Issues 1. **Search existing issues** to avoid duplicates 2. **Use clear titles** that describe the problem 3. **Provide detailed information**: - Steps to reproduce - Expected vs actual behavior - Environment details (OS, Python/Node version, etc.) - Screenshots or logs if applicable ### Suggesting Features 1. **Check the roadmap** in [project_summary.md](project_summary.md) 2. **Open a feature request** with: - Clear description of the feature - Use cases and benefits - Potential implementation approaches ### Submitting Code Changes 1. **Fork the repository** and create your branch 2. **Follow our development rules** in [rules.md](rules.md) 3. **Write tests** for your changes 4. **Update documentation** as needed 5. **Submit a pull request** with: - Clear description of changes - Reference to related issues - Screenshots if UI changes ## Development Setup ### Prerequisites - Python 3.8+ - Node.js 14+ (for TypeScript version) - Docker (for containerized development) - Git ### Python Development ```bash # Clone the repository git clone https://github.com/opendiscourse/opendiscourse-mcp.git cd opendiscourse-mcp # Create virtual environment python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows # Install dependencies pip install -r requirements.txt pip install -r requirements-dev.txt # Run tests pytest ``` ### TypeScript Development ```bash # Install Node.js dependencies npm install # Build TypeScript npm run build # Run tests npm test ``` ## Pull Request Process 1. **Create a branch** with descriptive name: - `feature/your-feature-name` - `bugfix/issue-description` - `docs/documentation-update` 2. **Make your changes** following our guidelines 3. **Run tests** to ensure nothing breaks: ```bash pytest --cov=src --cov-report=term ``` 4. **Update documentation** if applicable 5. **Commit your changes** with clear messages: ``` git commit -m "feat(congress): add bill tracking functionality" ``` 6. **Push to your fork**: ```bash git push origin your-branch-name ``` 7. **Create a pull request** to our `develop` branch ## Code Review Process 1. **Automated checks** will run (CI pipeline) 2. **Maintainers will review** your code 3. **Address feedback** and make requested changes 4. **Once approved**, your code will be merged ## Style Guidelines ### Python - Follow [PEP 8](https://peps.python.org/pep-0008/) - Use type hints - Write comprehensive docstrings - Use `black` for formatting - Use `flake8` for linting ### TypeScript - Follow [Google TypeScript Style Guide](https://google.github.io/styleguide/tsguide.html) - Use strict typing - Write JSDoc comments - Use `eslint` for linting - Use `prettier` for formatting ## Testing - **Unit tests**: Test individual functions - **Integration tests**: Test component interactions - **End-to-end tests**: Test complete workflows - **Performance tests**: Test under load ## Documentation - **Update existing docs** when making changes - **Add new docs** for new features - **Use clear examples** in documentation - **Keep docs up-to-date** ## Community - **Join discussions** on GitHub - **Ask questions** in issues - **Help others** with their contributions - **Share your use cases** ## Recognition All contributors will be recognized in: - **Contributors list** in documentation - **Release notes** for significant contributions - **GitHub contributors** section ## License By contributing, you agree that your contributions will be licensed under the project's [MIT License](LICENSE). ## Questions? If you have any questions about contributing, please open an issue with the "question" label. Thank you for contributing to OpenDiscourse MCP Servers! 🚀

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cbwinslow/opendiscourse_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server