diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..007efce --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# Contributing to Telegram MCP + +Thank you for your interest in contributing to the Telegram MCP project! This document provides guidelines and instructions for contributing. + +## Getting Started + +1. **Fork the repository** on GitHub +2. **Clone your fork** locally +3. **Set up the development environment** by following the instructions in the README.md + +## Development Process + +1. **Create a feature branch** from the main branch +2. **Make your changes** and commit them with descriptive commit messages +3. **Test your changes** thoroughly +4. **Push your branch** to your fork on GitHub +5. **Submit a pull request** to the main repository + +## Coding Standards + +- Follow PEP 8 style guidelines for Python code +- Include type hints for all function parameters and return values +- Write comprehensive docstrings for all modules, classes, and functions +- Use meaningful variable and function names + + +## Pull Request Guidelines + +- Provide a clear description of the changes in your PR +- Link any related issues +- Keep PRs focused on a single feature or bug fix +- Ensure your code passes all tests and linting checks + +## Feature Requests + +If you have an idea for a new feature: + +1. Check existing issues to see if it has already been suggested +2. Create a new issue with the "feature request" label +3. Include a detailed description of the feature and its use cases + +## Bug Reports + +When reporting a bug: + +1. Check existing issues to avoid duplicates +2. Include detailed steps to reproduce the issue +3. Describe the expected vs. actual behavior +4. Include information about your environment (OS, Python version, etc.) + +## Project Structure + +The project is organized as follows: + +- `telegram-bridge/`: Python application that connects to Telegram's API +- `telegram-mcp-server/`: MCP server implementation exposing Telegram tools +- `run_telegram_server.sh`: Convenient script for running the server + +## Future Roadmap + +The project's roadmap includes: +- Adding message threading support +- Improving multimedia message handling +- Adding support for editing messages +- Creating a web UI for configuration and monitoring +- Enhancing error handling and recovery + +## License + +By contributing to this project, you agree that your contributions will be licensed under the same license as the project (see LICENSE file). + +## Questions? + +If you have any questions about contributing, feel free to open an issue or reach out to the maintainers directly. + +Thank you for your contributions! \ No newline at end of file diff --git a/README.md b/README.md index 4e3a978..0f31124 100644 --- a/README.md +++ b/README.md @@ -174,4 +174,17 @@ Claude can access the following tools to interact with Telegram: - **Two-factor authentication**: If you have 2FA enabled on your Telegram account, you'll be prompted for your password during authentication. - **No Messages Loading**: After initial authentication, it can take several minutes for your message history to load, especially if you have many chats. -For additional Claude Desktop integration troubleshooting, see the [MCP documentation](https://modelcontextprotocol.io/quickstart/server#claude-for-desktop-integration-issues). \ No newline at end of file +For additional Claude Desktop integration troubleshooting, see the [MCP documentation](https://modelcontextprotocol.io/quickstart/server#claude-for-desktop-integration-issues). + +## Next Steps + +This project is actively being developed. Future planned features include: + +- **Rich Media Support**: Handle and display photos, videos, and other media types +- **Message Threading**: Better visualization of conversation threads +- **Message Editing**: Support for editing sent messages +- **Web UI**: A simple web interface for configuration and monitoring +- **Expanded Search**: More advanced search capabilities for finding specific messages or running analysis on say unread chats +- **Improved Security**: Enhanced authentication and encryption for local data + +If you'd like to contribute to any of these features or suggest new ones, please check out our [CONTRIBUTING.md](CONTRIBUTING.md) guide. \ No newline at end of file