The output is a table of shares at one moment. The thing people actually want to see, and the thing that would travel, is the shape over time: bands of surviving code by author or by cohort across a repository's life, so you can see a rewrite, a departure, a period where everything written was replaced within a year.
Done when
- A run can emit the data behind such a picture, and separately can render one, and the data is available without the rendering. Somebody with better taste than us should be able to draw their own.
- The rendering is SVG produced by the tool itself, with no dependency and no network. This package has zero dependencies and is keeping them.
- It is legible in both light and dark, and readable by somebody who cannot distinguish red from green. A chart about people that some people cannot read is a poor chart.
- The caveats travel with the picture: the sample rate and the seed appear on it, since a shared image with no parameters is exactly how a misleading number escapes.
- It degrades honestly on a repository with two authors and on one with two hundred.
Out of scope. A charting library, an interactive dashboard, and any hosted service.
Why this is not decoration. The central argument of this tool is that commit share and surviving share are different things. One picture showing them diverging over a repository's life makes that argument to somebody who will never read the README, and it is the single artefact most likely to carry the idea further than the tool itself.
Taking this on: comment and it is yours. Nothing here needs permission first, and a partial answer beats a perfect one that never lands.
What gets a pull request rejected here: a change with no test; a new runtime dependency; or a number written into a README or a document that did not come from a run somebody else can repeat.
The output is a table of shares at one moment. The thing people actually want to see, and the thing that would travel, is the shape over time: bands of surviving code by author or by cohort across a repository's life, so you can see a rewrite, a departure, a period where everything written was replaced within a year.
Done when
Out of scope. A charting library, an interactive dashboard, and any hosted service.
Why this is not decoration. The central argument of this tool is that commit share and surviving share are different things. One picture showing them diverging over a repository's life makes that argument to somebody who will never read the README, and it is the single artefact most likely to carry the idea further than the tool itself.
Taking this on: comment and it is yours. Nothing here needs permission first, and a partial answer beats a perfect one that never lands.
What gets a pull request rejected here: a change with no test; a new runtime dependency; or a number written into a README or a document that did not come from a run somebody else can repeat.