Skip to content

[FEATURE]: Add Repository Health Score Filters and Sorting #143

Description

@zaibamachhaliya

Feature and its Use Cases

Feature Overview

The Repositories page already computes useful repository metrics such as Health Score and Activity Classification (Thriving, Active, Dormant, and Hibernating). However, users currently cannot use these metrics to quickly explore or analyze repositories.

This feature proposes adding filtering and sorting capabilities based on repository health and activity so that users can easily focus on repositories matching their interests.


Proposed Features

1. Health Score Filter

Allow users to filter repositories based on their health score.

Suggested categories:

  • Healthy (70–100)
  • Moderate (40–69)
  • Poor (0–39)

Users should be able to select one or multiple categories.


2. Activity Status Filter

Allow filtering repositories using the existing activity classification.

Available options:

  • Thriving
  • Active
  • Dormant
  • Hibernating

This will help users quickly identify actively maintained or inactive repositories.


3. Sorting Options

Provide additional sorting options such as:

  • Health Score (High → Low)
  • Health Score (Low → High)
  • Recently Updated
  • Stars
  • Forks

Sorting should work together with all active filters.


4. Combined Filtering

Users should be able to combine multiple filters simultaneously.

Example:

  • Healthy repositories
  • Thriving repositories
  • JavaScript repositories

and then sort them by Health Score or Stars.


5. Reset Filters

Provide a single button to reset all filters and restore the complete repository list.


Benefits

This feature would significantly improve repository exploration by allowing users to:

  • Quickly discover high-quality repositories.
  • Identify inactive repositories.
  • Compare repositories more efficiently.
  • Improve overall usability of the Repositories page.
  • Make better decisions during organization analysis.

Expected Behaviour

  • Filtering should happen instantly without reloading the page.
  • Existing search functionality should continue working.
  • Filters should work together without conflicts.
  • Repository statistics should remain unchanged.
  • The implementation should be responsive and work well on both desktop and mobile devices.

Possible UI

Repositories Page

Search Repository

Health Score

☐ Healthy
☐ Moderate
☐ Poor

Activity

☐ Thriving
☐ Active
☐ Dormant
☐ Hibernating

Sort By

• Health Score
• Recently Updated
• Stars
• Forks

[Reset Filters]

Additional Context

The repository health score and activity classification are already computed as part of the analytical model. This feature aims to make those existing metrics more useful by allowing users to filter and sort repositories based on them.

The implementation can reuse the existing repository metadata, including:

  • healthScore
  • activityClassification
  • language
  • pushed_at
  • stargazers_count
  • forks_count

Possible implementation areas include:

  • RepositoriesPage.jsx
  • analytics.js (if helper functions are needed)
  • A reusable filter component (optional)

This feature should work entirely with the data that is already available after analysis, so no additional GitHub API requests would be required.


I have reviewed the existing implementation and I'm really excited to work on this feature. I would love to implement it following the project's coding standards and UI consistency.

If this feature is approved, kindly assign this issue to me. Thank you!

Code of Conduct

  • I have joined the Discord server and will post updates there
  • I have searched existing issues to avoid duplicates

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions