brutalistdevelopment.org
CodeSpread.
by Brutalist Development

Code that changes together should live together.

CodeSpread puts a number on that principle. From a repository's git history, it measures how far the files in a typical change are spread across the directory tree, compared with random placement. It quantifies the principles of cohesion and coupling that Dave Farley sets out in the book Modern Software Engineering.

The report shows where your code structure works against you: the folders where changes split across boundaries, and the distant files that are coupled in practice. It works on git repositories in TypeScript, JavaScript, Python and Rust.

This repository holds what connects CodeSpread to your tools. The analysis itself is the codespread npm package and the brutalistdevelopment/codespread Docker image.

CodeSpread is an independent project and is not affiliated with or endorsed by Dave Farley.