A streamlit-based graphical interface for the CodeAce package, designed to help developers efficiently map and query large codebases using AI.
CodeAce GUI provides an intuitive interface for the CodeAce package, enabling users to:
- Map and analyze large codebases
- Ask questions about code functionality and implementation
- Handle multiple source directories
- Integrate dependency analysis
- Include custom documentation context
-
Multiple Source Management
- Add multiple source directories or GitHub repositories
- Save and manage source paths for future sessions
- Switch between different codebases seamlessly
-
Dependency Analysis
- Add secondary source paths for dependency analysis
- Pre-analyze dependencies before querying main codebase
- Integrate insights from both sources
-
Documentation Integration
- Add documentation files to the
Documentationsfolder - Selectively include documentation context for specific queries
- Support for markdown documentation format
- Add documentation files to the
-
Flexible Context Management
- Toggle summary context inclusion
- Select specific documentation files for context
- Add custom context text on-the-fly
-
Conversation Management
- Save and load conversation history
- Start new conversations
- Track relevant files for each query
- Python 3.8 or higher
- Git
-
Using Installation Script
python install.py
The script will:
- Check and request required environment variables
- Clone the repository
- Create a virtual environment
- Install required dependencies
- Set up the CodeAce package
-
Running the Application
After installation, run the application using:
python run.py
Or if prompted during installation, you can choose to run it immediately.
-
Adding Source Code
- Use the "Source Management" expander in the sidebar
- Enter a local path or GitHub URL
- Click "Add Source" to include it in your sources
-
Running Code Mapping
- Select a source from your saved sources
- Click "Run Mapping" to analyze the codebase
- Wait for the mapping process to complete
-
Adding Documentation
- Place your documentation files in the
Documentationsfolder - Files should be in markdown format
- Select relevant documentation from the sidebar when asking questions
- Place your documentation files in the
-
Asking Questions
- Type your question in the chat interface
- Select any additional context from the sidebar
- View relevant files and AI responses
Contributions are welcome! Please feel free to submit pull requests or create issues for bugs and feature requests.