This document outlines the planned development roadmap for the InsightCoder project. It is a living document and will be updated as the project evolves and we gather community feedback.
- Focus: Enhancing User Experience and Conversation Management.
- Documentation Improvements:
- Expand "Example Prompts" section in
README.mdwith more diverse and practical examples. - Clarify in documentation: Add detailed explanation of conversation history, context window, and token usage in
README.mdto improve user understanding.
- Expand "Example Prompts" section in
- UI/UX Enhancements:
- Conversation Folder Control:
- High Priority: Implement a robust way for users to specify and manage the conversation folder, ensuring persistent conversation history even if the folder is Git-ignored. (e.g., command-line option, config file)
-
.gitignoreHandling: Ensure conversation loading works correctly even if the conversation folder is in.gitignore(for privacy and to avoid Git tracking conversation history).
- Conversation Folder Control:
- Automated Diff Application (Initial Stage):
- Diff Detection: Implement logic to automatically detect code diff blocks within the AI's responses. (Look for Markdown code blocks with "diff" or similar language hints).
- File Path Extraction & Validation: Extract the file path from the detected diff and validate that the file exists in the analyzed project.
- High Priority & Crucial: Implement a pop-up confirmation dialog in the UI that appears when a diff is detected, asking the user "Would you like to apply these changes to
{file_path}file?". - Visual Diff Display (Basic): Display the code diff in the confirmation dialog, ideally with a side-by-side or clear visual representation of the changes (similar to a simplified VS Code diff view).
- Apply Diff on User Confirmation: If the user confirms, implement the functionality to automatically apply the detected diff to the specified file in the project.
- Code Cleanup and Minor Refactoring:
- Review code and add more comments, especially in
chat_utils.pyandui.py. - Double-check and improve robustness of file path handling.
- Review code and add more comments, especially in
- Documentation Improvements:
- Focus: Introducing AI Code Agent Capabilities and Deeper Code Understanding.
- Code Modification Suggestions (Initial Stage):
- Experiment: Research and prototype the ability to suggest code refactoring opportunities based on AI analysis. (Initial focus: simple refactorings, e.g., function renaming, variable extraction).
- UI Integration (Basic): Explore how to display refactoring suggestions in the UI (initially, perhaps as text output in the chat).
- Improved Contextual Awareness:
- Research: Investigate techniques for deeper code structure understanding (static analysis, code parsing libraries).
- Symbol Understanding (Initial): Enhance AI's ability to understand basic code symbols (functions, classes) within a file.
- Conversation History Management:
- Implement a basic UI element to list saved conversations for easier access.
- Automated Code Changes via Git Pushes (AI-Driven Development):
- Feasibility Study & Design: Thoroughly research and design the architecture for automated code changes via Git pushes.
- Git Integration: Implement Git functionality within InsightCoder to stage, commit, and push changes.
- Authentication & Security: Securely manage GitHub credentials and implement robust security measures to prevent unintended pushes.
- User Review Workflow: Design a workflow where AI-suggested changes are presented to the user for review and approval before Git push.
- Automated Refactoring & Code Improvement: Develop AI capabilities to proactively identify and suggest code improvements, refactorings, and potentially even generate new code snippets, automatically creating Git commits for these suggestions.
- Code Modification Suggestions (Initial Stage):
- Focus: Evolving into a Proactive AI Code Agent, IDE Integration, and Advanced Features.
- IDE/Editor Integration:
- Explore and begin development of plugins/extensions for popular IDEs (VS Code, IntelliJ IDEA).
- Advanced Features:
- Project "Personality" and Customization (project-specific prompts, persona definition).
- Continuous Code Monitoring and Real-time Insights.
- Support for more LLMs.
- IDE/Editor Integration:
This roadmap is subject to change and will be updated periodically based on progress, community feedback, and new opportunities.