Skip to content

Commit f5aed2d

Browse files
Revise README for improved content and formatting
Updated README to enhance clarity and structure.
1 parent fb9ed93 commit f5aed2d

1 file changed

Lines changed: 149 additions & 56 deletions

File tree

README.md

Lines changed: 149 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,181 @@
11
# Gradle Lighthouse
22

3-
Architecture intelligence for Android and Kotlin Multiplatform Gradle builds.
3+
**Architecture Intelligence for Android & Kotlin Multiplatform**
44

5-
Gradle Lighthouse audits module structure, dependency hygiene, security, build performance, and code health directly from your Gradle project. It transforms audit findings into a transparent architectural health model with industry benchmarking.
5+
Gradle Lighthouse analyzes your Gradle project, detects architectural risks, evaluates build health, and generates actionable recommendations to improve maintainability, scalability, and developer productivity.
66

7-
[![Gradle Plugin Portal](https://img.shields.io/gradle-plugin-portal/v/io.github.dev-vikas-soni.lighthouse?label=Gradle%20Plugin%20Portal&color=orange)](https://plugins.gradle.org/plugin/io.github.dev-vikas-soni.lighthouse)
7+
[![Gradle Plugin Portal](https://img.shields.io/gradle-plugin-portal/v/io.github.dev-vikas-soni.lighthouse?label=Gradle%20Plugin%20Portal\&color=orange)](https://plugins.gradle.org/plugin/io.github.dev-vikas-soni.lighthouse)
88
[![Version: 2.3.1](https://img.shields.io/badge/Version-2.3.1-orange.svg)](https://github.com/dev-vikas-soni/gradle-lighthouse/releases)
99
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
10-
![Kotlin](https://img.shields.io/badge/kotlin-%237F52FF.svg?style=flat&logo=kotlin&logoColor=white)
10+
![Kotlin](https://img.shields.io/badge/kotlin-%237F52FF.svg?style=flat\&logo=kotlin\&logoColor=white)
1111
![Gradle 8.x-9.x](https://img.shields.io/badge/Gradle-8.x--9.x-green.svg)
1212

13+
14+
<img width="1480" height="785" alt="lighthouse-hero-image" src="https://github.com/user-attachments/assets/50686363-ea41-4f29-a490-35facc64e09a" />
15+
1316
---
1417

15-
## What is Gradle Lighthouse?
18+
## Why Gradle Lighthouse?
19+
20+
Most teams know they have technical debt.
21+
22+
What they don't know is:
1623

17-
`gradle-lighthouse` is an enterprise-grade Gradle diagnostic engine designed for teams that want more than simple lint findings. It measures **Architectural Health** by analyzing your project's structure, dependencies, and build configuration against industry standards and reference benchmarks like *Now in Android* and *Signal*.
24+
* Which modules are slowing development
25+
* Where architectural boundaries are leaking
26+
* Why builds are becoming slower
27+
* Which issues deserve attention first
28+
* How their architecture evolves over time
29+
30+
Gradle Lighthouse answers those questions with a single audit.
31+
32+
```bash
33+
./gradlew lighthouseAudit lighthouseAggregate
34+
```
1835

1936
---
2037

21-
## Key Features
38+
## What You Get
39+
40+
### Architectural Health Score
41+
42+
A transparent health model that evaluates:
43+
44+
* Architecture
45+
* Security
46+
* Build Performance
47+
* Dependency Hygiene
48+
* Complexity
49+
* Modernization
50+
* Quality
51+
* Application Size
52+
53+
Instead of showing hundreds of findings, Lighthouse highlights the areas that have the greatest architectural impact.
54+
55+
### Path to 90
56+
57+
Lighthouse generates an improvement roadmap showing which fixes produce the largest score gains.
58+
59+
Example:
60+
61+
```text
62+
Current Score: 72
63+
64+
Top Opportunities
65+
──────────────────────────────────────
66+
+7 Migrate KAPT processors to KSP
67+
+5 Remove dependency cycles
68+
+4 Enable configuration cache
69+
+3 Reduce oversized modules
70+
```
71+
72+
### Architecture Health Breakdown
73+
74+
See exactly why a project scored the way it did.
75+
76+
```text
77+
Architecture 85
78+
Security 100
79+
Build Performance 63
80+
Complexity 58
81+
Modernization 76
82+
```
83+
84+
<img width="825" height="778" alt="arch_health_breakdown" src="https://github.com/user-attachments/assets/8c8cc6df-f27a-494c-b016-78e7656f356a" />
85+
86+
### Industry Benchmarking
87+
88+
Compare your project against architectural reference snapshots generated by Lighthouse.
89+
90+
Benchmarking provides context for your score and helps teams understand where they stand relative to similar projects.
2291

23-
* **Modern Health Score Engine**: A category-weighted scoring model (v2) that uses square root dampening to provide fair and actionable scores for repositories of any size.
24-
* **Architecture Health Breakdown**: Detailed dashboards showing scores for Architecture, Security, Performance, Build Performance, Complexity, and more.
25-
* **Industry Benchmarking**: Compare your project against industry giants. See where you rank in the top percentiles of Android projects globally.
26-
* **Project Persona Classification**: Automatically identifies if your project is a *Modular Monolith*, *Large Android App*, or *KMP Product* for accurate peer-group comparison.
27-
* **Path To 90**: An automated architectural roadmap that estimates the score gain for every fix, helping you prioritize engineering work.
28-
* **Galaxy Graph**: An interactive, canvas-based module dependency visualizer with cycle detection and "Sandbox Mode" for refactoring simulations.
29-
* **Baseline System**: Record current technical debt and focus your team only on *new* regressions.
30-
* **Lighthouse Fix**: Automatically apply performance and best-practice fixes to your project configuration.
31-
* **CI/CD Native**: Exports results as self-contained HTML, SARIF (for GitHub Security), and JUnit XML.
92+
### Galaxy Graph
93+
94+
Interactive module dependency visualization with:
95+
96+
* Cycle detection
97+
* Dependency exploration
98+
* Refactoring sandbox mode
99+
* Impact analysis
100+
101+
<img width="1507" height="786" alt="lighthouse_galaxy_view" src="https://github.com/user-attachments/assets/224e0e5a-e63a-4273-a223-158daee2abdd" />
102+
103+
### CI/CD Integration
104+
105+
Export findings as:
106+
107+
* HTML Reports
108+
* SARIF
109+
* JUnit XML
110+
111+
Integrates naturally with GitHub Actions and modern CI pipelines.
32112

33113
---
34114

35115
## Installation
36116

37-
Apply the plugin to your root project and modules:
117+
Apply the plugin to your root project:
38118

39119
```kotlin
40-
// root build.gradle.kts
41120
plugins {
42121
id("io.github.dev-vikas-soni.lighthouse") version "2.3.1"
43122
}
44123
```
45124

46-
```kotlin
47-
// module build.gradle.kts
48-
plugins {
49-
id("io.github.dev-vikas-soni.lighthouse")
50-
}
51-
```
52-
53125
---
54126

55127
## Quick Start
56128

57-
Run a full audit and generate the aggregate dashboard:
129+
Run a complete audit:
58130

59131
```bash
60132
./gradlew lighthouseAudit lighthouseAggregate
61133
```
62134

63-
Open the reports:
64-
- **Aggregate Dashboard**: `build/reports/lighthouse/project-dashboard.html`
65-
- **Module Reports**: `{module}/build/reports/lighthouse/index.html`
135+
Reports:
136+
137+
```text
138+
build/reports/lighthouse/project-dashboard.html
139+
```
140+
141+
Per-module reports:
142+
143+
```text
144+
<module>/build/reports/lighthouse/index.html
145+
```
146+
147+
---
148+
149+
## Key Features
150+
151+
| Feature | Description |
152+
| ---------------------- | ------------------------------------------------------ |
153+
| Health Score Engine | Category-based architecture scoring |
154+
| Architecture Breakdown | Visibility into architectural strengths and weaknesses |
155+
| Path to 90 | Prioritized improvement roadmap |
156+
| Galaxy Graph | Interactive dependency visualization |
157+
| Benchmark Engine | Relative comparison against architectural baselines |
158+
| Baseline Support | Ignore historical debt and focus on new issues |
159+
| Lighthouse Fix | Automated configuration improvements |
160+
| CI/CD Support | SARIF, HTML and JUnit exports |
66161

67162
---
68163

69164
## Benchmark Operations
70165

71-
### Export Your Project as a Benchmark
72-
Contribute your project's architectural health to the industry registry or create internal baselines:
166+
### Export a Benchmark Snapshot
73167

74168
```bash
75169
./gradlew lighthouseExportBenchmark
76170
```
77-
*Output: `build/reports/lighthouse/benchmark.json`*
78171

79-
### View Registry Status
80-
See which industry reference projects (Signal, NiA, etc.) are currently loaded into your engine:
172+
Output:
173+
174+
```text
175+
build/reports/lighthouse/benchmark.json
176+
```
177+
178+
### View Loaded Benchmarks
81179

82180
```bash
83181
./gradlew lighthouseBenchmarkStatus
@@ -87,42 +185,37 @@ See which industry reference projects (Signal, NiA, etc.) are currently loaded i
87185

88186
## Scoring Philosophy
89187

90-
Lighthouse moves away from "finding counters" toward a **transparent architectural model**:
188+
Gradle Lighthouse focuses on architectural health rather than issue counts.
91189

92-
1. **Category Scoring**: Each finding belongs to a domain (e.g., Security). Scores are calculated per category using a square root deduction curve ($100 - K \times \sqrt{RawImpact}$) to prevent score collapse in large repos.
93-
2. **Weakest Link Logic**: Overall score is the average of the weighted mean and the poorest category. Excellent build performance cannot mask critical security failures.
94-
3. **Relative Benchmarking**: Your score is context-aware. A 75 in a 200-module enterprise app is often "Stronger" than a 90 in a small monolith.
95-
4. **Data-Driven Snapshots**: All industry benchmarks are generated by Lighthouse itself, ensuring comparisons are always "apples-to-apples."
190+
### Category-Based Scoring
96191

97-
---
192+
Each finding contributes to a specific architectural domain.
193+
194+
### Weakest-Link Principle
98195

99-
## FAQ
196+
A project cannot be considered healthy if a critical category is failing.
100197

101-
### Why is my score low?
102-
Check the **Architecture Health Breakdown**. The "Weakest Area" indicator will show you which domain (e.g., Complexity) is dragging down your score.
198+
### Actionable Feedback
103199

104-
### Why does Signal score differently than NIA?
105-
Each project has a different structural profile. Signal, being a mature communications app, may prioritize Security over NiA's optimized Architecture.
200+
Every deduction is traceable to findings and improvement opportunities.
106201

107-
### How are benchmarks generated?
108-
By running `./gradlew lighthouseExportBenchmark` on the target repositories. No manual score editing is allowed.
202+
### Benchmark-Aware Context
109203

110-
### Can I create my own benchmark registry?
111-
Yes. Drop any generated `benchmark.json` files into a `benchmarks/` directory at your project root, and Lighthouse will automatically include them in your comparisons.
204+
Scores are evaluated relative to project structure and benchmark baselines.
112205

113206
---
114207

115208
## Documentation
116209

117-
| Document | Content |
118-
|----------|---------|
119-
| [Architecture](docs/architecture.md) | System overview and execution flow |
120-
| [Scoring Model](docs/scoring-model.md) | Weights, grades, and weakest-link logic |
121-
| [Benchmarking](docs/benchmarking.md) | Percentiles and snapshot generation |
122-
| [User Manual](docs/USER_MANUAL.md) | Tasks and DSL reference |
210+
| Document | Description |
211+
| --------------------- | -------------------------------------------- |
212+
| docs/architecture.md | System architecture and execution flow |
213+
| docs/scoring-model.md | Health score model and weighting |
214+
| docs/benchmarking.md | Benchmark engine and percentile calculations |
215+
| docs/USER_MANUAL.md | Tasks, DSL and configuration |
123216

124217
---
125218

126219
## License
127220

128-
MIT — see [LICENSE](LICENSE).
221+
MIT License.

0 commit comments

Comments
 (0)