Repository intelligence
Health Report: zed
Quick Insights
Key findings from the analysis - prioritized by impact
Technical Debt Hotspot
Found 48 critical and 115 high-priority debt items. These are areas where the team has explicitly noted problems. Consider scheduling time to address the most impactful items.
Low Cohesion Classes
Detected 9 classes with low cohesion (LCOM > 50). These classes may be doing too many unrelated things. Consider splitting them into more focused components.
Code Duplication
6.6% of code is duplicated across 511 clone groups. Bugs fixed in one location may need fixing in others. Consider extracting shared functionality.
Active Development
70090 commits across 1955 files.
Healthy Codebase
Overall health score of 81 indicates a well-maintained codebase. Continue current practices and address issues as they arise.
Hotspots
Files with both high complexity and frequent changes - highest risk for bugs
Risk Landscape
Files in the upper-right are both complex and frequently changed -- the most likely sources of bugs. Bubble size reflects overall risk score. Green is low risk, yellow moderate, red high.
| File | Lang | Risk | Changes | Complexity |
|---|
Low Cohesion Classes
Classes doing too many unrelated things - candidates for splitting
| Class | File | Language | LCOM | WMC | CBO |
|---|
Architectural Smells
Structural problems that make the codebase harder to change safely
| Type | Severity | Files Involved | Suggestion |
|---|---|---|---|
| Cyclic Dependency | Critical | crates/call/src/call_impl/room.rs, crates/call/src/call_impl/diagnostics.rs | Break the cycle by introducing an interface or restructuring the dependency direction |
| Cyclic Dependency | Critical | .../s/editor/src/display_map/inlay_map.rs, .../es/editor/src/display_map/fold_map.rs | Break the cycle by introducing an interface or restructuring the dependency direction |
| Cyclic Dependency | Critical | crates/project/src/debugger/dap_store.rs, crates/project/src/debugger/session.rs, .../ject/src/debugger/breakpoint_store.rs | Break the cycle by introducing an interface or restructuring the dependency direction |
| Central Connector | Critical | crates/gpui/src/gpui.rs | Decompose into smaller components with single responsibility; extract interfaces for consumers |
Dependency Structure
Import graph analysis - cycles, bottlenecks, and instability
Detected Cycles
crates/call/src/call_impl/room.rs→crates/call/src/call_impl/diagnostics.rs→crates/call/src/call_impl/room.rscrates/editor/src/display_map/inlay_map.rs→crates/editor/src/display_map/fold_map.rs→crates/editor/src/display_map/inlay_map.rscrates/project/src/debugger/dap_store.rs→crates/project/src/debugger/session.rs→crates/project/src/debugger/breakpoint_store.rs→crates/project/src/debugger/dap_store.rs| File | Lang | PageRank | Betweenness | In | Out | Instability |
|---|
Known Issues
Problems the team has documented but not yet fixed (TODO, FIXME, HACK)
By Severity
By Category
| Severity | Category | File | Lang | Line | Comment |
|---|
Duplicated Code
Code that appears in multiple places - bugs fixed in one spot may need fixing elsewhere
Duplication Level
Technical Debt Gradient
Per-file debt scores - prioritize cleanup where it matters most
Grade Distribution
| File | Lang | Score | Grade | Structural | Semantic | Duplication | Coupling |
|---|
Historical Trends
How code quality has changed over time
Health Score Over Time
Component Trends
Change Activity
How frequently code is being modified
| File | Lang | Changes | Contributors | Churn Score |
|---|
Code Ownership
How knowledge is distributed - concentrated knowledge is a risk
Top Contributors
Temporal Coupling
Files that frequently change together - reveals hidden dependencies not in the import graph
| File A | File B | Co-changes | Strength |
|---|
Score Breakdown
How the health score is calculated from individual components
Glossary
Definitions for the quality and risk terminology used in this report
Glossary of Terms
▼Health Score
A weighted composite metric (0-100) measuring overall code quality. Above 80 is good, 60-80 needs attention, below 60 is concerning.
Hotspot
A file that is both complex AND frequently changed. These are the highest-risk areas because they're hard to change safely but get changed often.
Bus Factor
The minimum number of people who would need to leave before critical knowledge is lost. Higher is better; 1 is a serious risk.
Knowledge Silo
A file that only one person has ever touched. If that person leaves, the knowledge goes with them.
Cyclomatic Complexity
The number of independent paths through code. More paths means more test cases needed and more ways things can go wrong.
Cognitive Complexity
How hard code is to understand. Accounts for nesting, breaks in flow, and things that make humans struggle to follow the logic.
LCOM (Cohesion)
How well a class's methods work together. High LCOM means methods don't share data - the class is probably doing too many unrelated things.
CBO (Coupling)
How many other classes a class depends on. High coupling means changes ripple through the codebase - everything is connected to everything.
Churn Rate
How frequently a file changes. High churn indicates instability - the code may be unclear, have bugs, or be undergoing active development.
Self-Admitted Technical Debt (SATD)
Code issues the team has documented (TODO, FIXME, HACK, XXX). These represent known shortcuts that need eventual attention.
Code Clone / Duplicate
Similar code appearing in multiple places. When a bug is fixed in one spot, it may need fixing elsewhere. Candidates for refactoring into shared functions.
Technical Debt Gradient
Per-file quality score (0-100) combining complexity, duplication, coupling, and other factors. Lower scores mean more accumulated debt.
Temporal Coupling
Files that frequently change together in the same commits. High temporal coupling suggests hidden dependencies not visible in the import graph.
Architectural Smell
A structural pattern that violates design principles: cyclic dependencies, hub-like modules, or stable code depending on unstable code.
Instability
Ratio of outgoing to total dependencies. 0 = maximally stable (many things depend on it), 1 = maximally unstable (depends on many things).
PageRank
Importance of a file in the dependency graph. Files with high PageRank are depended on by many other important files.