Tool for IC code reviewers

Hey!

I’ve been reviewing IC code change proposals as a grant receipient, and I found myself spending a lot of time manually going through commits, opening GitHub diffs, and trying to understand what changed. So I built a tool to make this process a bit easier.

It’s a tool that automatically generates HTML and Markdown reports for reviewing code changes in any Git repository. It’s a nice addition for analyzing NNS proposals, but works with any GitHub repository.

The generated files have direct links to github commits / line changes if you want to go in more depth.

:link: GitHub Repository: GitHub - rem-code-s/proposal-review-helper: Tool to create summaries of commit ranges within specific paths for review purposes

So how does it work, you run the following command

make review \
REPO=https://github.com/dfinity/ic.git \
ID=138992 \
START_COMMIT=51dd253fd8b301f849dfc26f77cff6d15acd04c1 \
END_COMMIT=286295f0397521cd59ca7792df446c57379204fa \
REVIEW_PATHS='rs/registry/canister'

And after it pulled / updated the repo it will create a markdown and html file

So where do you get the data from?

So the above proposal is based on this one

The important part of the proposal is the part below, and the first line has everything you need, if there are multiple paths you can specify them with a space path/a/a path/a/b.

$ git log --format="%C(auto) %h %s" 51dd253fd8b301f849dfc26f77cff6d15acd04c1..286295f0397521cd59ca7792df446c57379204fa --  ./rs/registry/canister
 9f2392f911 feat: disable swapping if the subnet is halted (#7253)
 d709a8b8f4 chore(nervous-system): Update changelog for release 2025-10-10 (#7195)

If there are any questions, feel free to ask but be sure to checkout the readme.

22 Likes

Nice! Awesome job :clap: - Good developers master their tools, master developers build them :fire:

1 Like

Very cool — I was thinking about a similar tool myself.

2 Likes

Very useful tool, thanks!

I starred it and forked it already :smiling_face_with_sunglasses:

2 Likes

Looks pretty cool, appreciate the effort you put into it.

2 Likes