Skip to main content

HEALTH001-single-author — Single-Author Dominance

Dimension: Project Health Default severity: Medium Languages: All (project-level) Last reviewed: 2026-05-08

What it detects​

Emits when one author is responsible for more than 50% of commits in the configured git history window (git_history_window_days, default 365 days).

Why it matters​

A project where a single contributor dominates the commit history carries a high bus-factor risk. If that author becomes unavailable—through illness, job change, or loss of interest—the project may stall, leaving downstream users stranded on an unmaintained dependency.

Configuration​

git_history_window_days (default 365): look-back window for commit analysis. Config-table wiring is deferred to a later phase; the default is currently compiled in.

Example — flagged​

A repository where one email address authored 45 of the last 50 commits triggers this rule.

Example — not flagged​

A repository where no single author exceeds 50% of commits in the window passes this check.

Fix guidance​

  • Actively invite trusted contributors to become co-maintainers.
  • Lower the barrier to first contributions: add a CONTRIBUTING.md, label beginner-friendly issues, and respond promptly to pull requests.
  • Document the release and review process so new maintainers can act independently.
  • Consider joining an open-source umbrella organisation.

Suppression​

Project-level analyzers do not read per-file # zuit: ignore directives. Suppress via the engine's global ignore list in zuit.toml:

[ignore]
rules = ["HEALTH001-single-author"]

Implementation​

Source: crates/zuit-lang-python/src/analyzers/health/health001_single_author.rs

Git unavailability​

When git is unavailable (no .git directory, git binary missing, timeout), this analyzer emits a single HEALTH/git-unavailable Info finding. The remaining HEALTH analyzers (HEALTH002–HEALTH004) stay silent in that case to avoid repeating the notice.

References​