Net LOC growth

Codebase

What it measures

Weekly net change in lines of code across merged human PRs: additions minus deletions, after noise-file exclusion (lockfiles, generated code). Negative weeks mean the codebase shrank.

Why it matters

Every line added is a line owned: more surface to understand, test, and maintain. A codebase that only ever grows — never prunes — quietly accumulates carrying cost. The interesting moments are the zero-crossings: weeks where the team deleted more than it added.

How to read it

  • Read it as a gardener, not an accountant: is there pruning at all, or only growth?
  • Always read next to Refactor share — they are shown together for a reason.
  • A big spike usually means a vendored dependency or generated code — e.g. a committed .d.ts declaration rollup — slipped past the exclusion globs. Check codebase.excludeGlobs before reading meaning into it.

Anti-blame

Common misreads

  • Net growth says nothing about value: deleting a dead feature and shipping a new one can net to zero.
  • A shrinking week is not a slow week — pruning is work.
  • Comparing teams or repos by growth rate is meaningless; codebases differ in language, age, and generation patterns.