Safeguard.sh Documentation Center
Enterprise Software Supply Chain Manager (ESSCM)

Code Quality

Code quality metrics and technical debt assessment

Code Quality

The Code Quality tab provides insights into maintainability, technical debt, and code health metrics for your project's dependencies.

Overview

Code quality analysis helps you:

  • Assess dependency maintainability
  • Identify technical debt
  • Evaluate community health
  • Make informed upgrade decisions
  • Track quality trends over time

Quality Metrics

Maintainability Index

A composite score (0-100) measuring how easy dependencies are to maintain:

ScoreRatingDescription
80-100ExcellentWell-maintained, active development
60-79GoodRegular updates, responsive maintainers
40-59FairOccasional updates, some concerns
20-39PoorInfrequent updates, maintenance concerns
0-19CriticalAbandoned or severely neglected

Calculation Factors

FactorWeightDescription
Update Frequency25%How often package is updated
Issue Response Time20%Time to respond to issues
PR Merge Time15%Time to merge pull requests
Documentation15%Quality of documentation
Test Coverage15%Available test coverage data
Community Size10%Contributors and users

Dependency Health

Health Indicators

IndicatorStatusMeaning
🟢 HealthyActiveRegular updates, responsive maintainers
🟡 AgingStaleNo updates in 6-12 months
🟠 DeprecatedWarningOfficially deprecated by maintainer
🔴 AbandonedCriticalNo updates in 12+ months

Viewing Health Status

  1. Open project
  2. Navigate to Code Quality tab
  3. View dependency health overview
  4. Click individual dependencies for details

Technical Debt Assessment

Debt Categories

CategoryDescription
Version DebtDependencies behind latest stable
Security DebtUnfixed vulnerabilities
Maintenance DebtDependencies with poor maintenance
License DebtLicense compliance issues

Debt Score

Each project receives a technical debt score:

  • Low Debt (0-20) - Well-maintained, current
  • Moderate Debt (21-50) - Some updates needed
  • High Debt (51-80) - Significant updates required
  • Critical Debt (81-100) - Major refactoring needed

Analyzing Dependencies

Dependency Cards

Each dependency shows:

FieldDescription
Name & VersionPackage identifier
Latest VersionMost recent stable release
Health StatusCurrent maintenance status
Last UpdatedWhen package was last released
MaintainersNumber of active maintainers
Weekly DownloadsUsage popularity

Deep Analysis

Click a dependency for detailed analysis:

  • Version history
  • Changelog highlights
  • Breaking changes
  • Migration guides
  • Community metrics

Recommendations

Update Recommendations

Safeguard.sh provides upgrade recommendations:

PriorityRecommendation
CriticalSecurity update required
HighMajor version behind, upgrade recommended
MediumMinor version available
LowPatch available

Breaking Change Detection

Before upgrading, view:

  • API changes
  • Deprecated functions
  • Required code changes
  • Migration complexity

Reports

Code Quality Report

Generate comprehensive reports:

  1. Click ExportCode Quality Report
  2. Select report scope
  3. Choose format (PDF, CSV)
  4. Download report

Report Contents

  • Overall quality score
  • Dependency health summary
  • Technical debt breakdown
  • Update recommendations
  • Risk assessment

Tracking Over Time

View how code quality changes:

  • Monthly quality score trends
  • Debt accumulation/reduction
  • Dependency freshness over time
  • Maintenance status changes

Setting Goals

Set quality improvement goals:

  1. Go to SettingsQuality Goals
  2. Set target metrics
  3. Track progress in dashboard
  4. Receive alerts when off-track

Integration with CI/CD

Quality Gates

Include code quality in your pipelines:

# GitHub Actions example
- name: Check Code Quality
  run: |
    safeguard quality check --fail-on debt-score:50

Quality Metrics in PRs

View quality impact in pull requests:

  • New dependencies added
  • Dependencies updated
  • Quality score change
  • Technical debt impact

API Access

# Get code quality metrics
curl -X GET https://api.safeguard.sh/v1/projects/{id}/code-quality \
  -H "Authorization: Bearer $API_KEY"

# Get dependency health
curl -X GET https://api.safeguard.sh/v1/projects/{id}/dependencies/health \
  -H "Authorization: Bearer $API_KEY"

Best Practices

Regular Reviews

  • Review code quality monthly
  • Address critical health issues promptly
  • Plan dependency updates proactively
  • Budget time for technical debt

Update Strategy

  • Update dependencies regularly
  • Test updates in staging first
  • Use semantic versioning
  • Document breaking changes

Monitoring

  • Set up quality alerts
  • Track trends over time
  • Compare across projects
  • Benchmark against industry

Next Steps

On this page