A modular, agent-based static analysis and refactoring tool for Java code, inspired by SonarQube, with a modern Streamlit UI.
- Java Code Metrics: Structural, complexity, coupling, cohesion, OO, maintainability, reliability, duplication, documentation, and security metrics.
- Modern Visualizations: Interactive, attractive charts (bar, pie, radar, donut, line) powered by Plotly.
- Agentic Architecture: Modular agents for metrics, code smells, and dependencies.
- Flexible Upload: Analyze code from ZIP, GitHub repo, or individual files.
- Extensible UI: Tabs for upload, analysis, refactoring, testing, visualization, and export.
- No LLM/API Required: All static analysis is local and privacy-friendly.
-
Install requirements:
pip install -r requirements.txt
-
Run the app:
streamlit run app.py
-
Upload your Java project (ZIP, GitHub, or files) and explore the analysis!
app.py
— Main Streamlit appmodules/
— Modular backend and UI logicupload_module.py
— Upload/clone codeanalyze_module.py
— Metrics, charts, and analysisrefactor_module.py
— Refactoring suggestions (placeholder)apply_module.py
— Apply code changes (placeholder)test_module.py
— Test/validate (placeholder)visual_module.py
— Visual reports (placeholder)export_module.py
— Export results (placeholder)sidebar.py
— Sidebar for settings
streamlit
streamlit-ace
plotly
javalang
(Add screenshots of the UI and charts here)
MIT License
- Inspired by SonarQube and RefactAI (wasimsse/RefactAI)
- Built with Streamlit, Plotly, and javalang
Pull requests and issues are welcome!