diff --git a/README.md b/README.md index 98afc80..d5f1c56 100644 --- a/README.md +++ b/README.md @@ -96,4 +96,24 @@ This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md - Unify features across both bot implementations - Enhance error handling and logging - Move hardcoded values to configuration files -- Implement comprehensive unit testing \ No newline at end of file +- Implement comprehensive unit testing + +## Roadmap + +Here are some of the upcoming features and improvements planned for the bot: + +* **Refactor messaging service integration:** Abstract the messaging service (currently Telegram) to allow for easier integration of other services like Slack or email. Dummy classes for new services will be created as a first step. (Issue #194) +* **Dynamic inference service switching:** Enable switching between different inference services (e.g., Gemini, OpenAI) during runtime without restarting the bot. Message history will be preserved across service switches. (Issue #195) +* **Scheduled agent tasks:** Allow agents to run on a timer to perform specific tasks autonomously, such as: + * Checking for newly created issues. + * Reviewing Pull Requests. + * Analyzing metrics. + (Issue #196) +* **Enhanced onboarding and GitHub configuration:** + * On `/start`, prompt the user for a GitHub API key and provide a pre-configured link to generate a new key with the required permissions. + * Validate the API key and then ask for the target repository. + * Store the GitHub API key and current repository in `context.user_data["github_api_key"]` and `context.user_data["current_repository"]` respectively on the Telegram side. + (Issue #197) +* **Repository switching command:** Implement a command to allow users to switch between different GitHub repositories seamlessly. (Issue #198) +* **User-provided inference service API keys:** Allow users to input their own API keys for inference services (e.g., OpenAI, Gemini, Anthropic, other OpenAI-compatible services). These keys will be stored in `context.user_data`. A wizard may be implemented to guide users through obtaining API keys if needed. (Issue #199) +* **Server-side storage for timed agents:** For agents running on a timer, API keys and other sensitive information will be stored server-side. This will eventually be a paid service. (Issue #200)