Skip to content

Commit 8cb8b4f

Browse files
authored
Enhance README with project details and instructions
Added detailed project description, features, installation instructions, and supported languages.
1 parent 78916da commit 8cb8b4f

File tree

1 file changed

+99
-2
lines changed

1 file changed

+99
-2
lines changed

README.md

Lines changed: 99 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,99 @@
1-
# Polyglot-Code-Analyzer
2-
placeholder
1+
# Polyglot Code Analyzer
2+
3+
![License](https://img.shields.io/github/license/dovvnloading/Polyglot-Code-Analyzer?style=for-the-badge&color=005ca0)
4+
![Python](https://img.shields.io/badge/Python-3.10+-3776AB?style=for-the-badge&logo=python&logoColor=white)
5+
![Framework](https://img.shields.io/badge/GUI-PySide6-41cd52?style=for-the-badge&logo=qt&logoColor=white)
6+
![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey?style=for-the-badge)
7+
8+
Polyglot Code Analyzer is a sophisticated, desktop-based static analysis tool designed to provide comprehensive insights into software projects of varying complexity. Built upon the Qt framework (PySide6), it features a custom-engineered Neumorphic user interface that prioritizes visual clarity and ergonomic interaction.
9+
10+
This tool goes beyond simple line counting; it parses directory structures to distinguish between executable code, comments, and whitespace across dozens of programming languages. Additionally, it identifies technical debt by scanning for standard marker tags, offering developers an immediate high-level overview of project health.
11+
12+
## User Interface
13+
14+
The application features a fully responsive Neumorphic design system with seamless Light and Dark mode toggling.
15+
16+
<table>
17+
<tr>
18+
<th width="50%">Light Mode</th>
19+
<th width="50%">Dark Mode</th>
20+
</tr>
21+
<tr>
22+
<td><img src="https://github.com/user-attachments/assets/10b7b8fd-bb93-42d6-9036-27ca92af7d6f" alt="Polyglot Analyzer Light Mode" width="100%"></td>
23+
<td><img src="https://github.com/user-attachments/assets/c21c1c9a-0cdc-4af5-865a-4a023bc31c43" alt="Polyglot Analyzer Dark Mode" width="100%"></td>
24+
</tr>
25+
</table>
26+
27+
## Features
28+
29+
* **Multi-Language Support**: Native recognition for over 50 file extensions, covering backend, frontend, systems programming, and scripting languages.
30+
* **Granular Metrics**:
31+
* **Code**: Executable lines of code.
32+
* **Comments**: Documentation and inline comments (supports `#`, `//`, `--`, `%`, `<!--`).
33+
* **Blanks**: Whitespace analysis to determine code density.
34+
* **Technical Debt Scanning**: Automated detection of `TODO`, `FIXME`, `HACK`, `BUG`, and `XXX` tags to highlight areas requiring attention.
35+
* **Visual Composition**: Generates proportional bar charts to visualize the ratio of code to comments.
36+
* **Neumorphic GUI**: A custom implementation of Soft UI design principles using advanced Qt painting techniques, featuring bi-directional shadowing and floating elements.
37+
* **Threaded Analysis**: Non-blocking background workers ensure the UI remains responsive during the scanning of large repositories.
38+
39+
## Installation
40+
41+
### Prerequisites
42+
43+
* Python 3.10 or higher
44+
* pip (Python Package Manager)
45+
46+
### Setup
47+
48+
1. Clone the repository:
49+
```bash
50+
git clone https://github.com/dovvnloading/Polyglot-Code-Analyzer.git
51+
cd Polyglot-Code-Analyzer
52+
```
53+
54+
2. Install the required dependencies:
55+
```bash
56+
pip install PySide6
57+
```
58+
59+
3. Run the application:
60+
```bash
61+
python main.py
62+
```
63+
64+
## Usage
65+
66+
1. Launch the application.
67+
2. Click the **SELECT PROJECT** button.
68+
3. Navigate to the root directory of the software project you wish to analyze.
69+
4. The application will scan the directory tree. Progress is indicated by the bar at the top.
70+
5. Upon completion, a detailed report is rendered, showing file counts, line breakdowns, and language composition.
71+
72+
## Supported Languages
73+
74+
The analyzer supports a wide array of file types, including but not limited to:
75+
76+
* **Systems**: C, C++, Rust, Go, Assembly (`.asm`, `.s`)
77+
* **Web**: HTML, CSS, JavaScript (`.js`, `.jsx`), TypeScript (`.ts`, `.tsx`), PHP
78+
* **Data**: JSON, XML, YAML, SQL
79+
* **Scripting**: Python, Ruby, Perl, Lua, Shell (`.sh`, `.bash`, `.ps1`)
80+
* **Mobile/App**: Swift, Kotlin, Java, Dart, C#
81+
82+
## License
83+
84+
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
85+
86+
87+
Copyright [2025] [Matthew R. Wesney]
88+
89+
Licensed under the Apache License, Version 2.0 (the "License");
90+
you may not use this file except in compliance with the License.
91+
You may obtain a copy of the License at
92+
93+
http://www.apache.org/licenses/LICENSE-2.0
94+
95+
Unless required by applicable law or agreed to in writing, software
96+
distributed under the License is distributed on an "AS IS" BASIS,
97+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
98+
See the License for the specific language governing permissions and
99+
limitations under the License.

0 commit comments

Comments
 (0)