Skip to content

Git repository visualizations, contribution statistics and more. Run npx -y git-truck to use Git Truck today!

License

Notifications You must be signed in to change notification settings

git-truck/git-truck

Repository files navigation

Git Truck 🚛 · GitHub license Git Truck on NPM

Git-Truck is a tool that provides you with a truckload of visualizations for your git repository, and helps you find out if your project has a good truck factor.

Git Truck can help you figure out:
Where the files in your codebase that only have a single contributor are (i.e., truck-factor = 1) image
How the various developers contribute to your codebase image
Which parts of the system that are most often changed image

🔒 Private by design

🏝️ Works offline

🤷 Git provider agnostic - works with any git repository

😊 No tracking, no ads, no data mining, no analytics, no cloud, no servers

Important

To use Git Truck, you will need to have the following programs installed:

  • Node.js 18.0.0 or newer and npm 10.0 or newer
  • git 2.29 or newer

Check your installed versions using node --version, npm --version and git --version.

Tip

The latests versions of Node and git can be installed from the links above.

Note

npm is automatically installed along with node.

  1. Within a git repository, or a directory containing git repositories, run the command
npx -y git-truck
  1. The application will now open in your default browser.

Demo

Please open an issue here where you describe your problem or feature request. For bug reports, please include git version, Node version, npm version, operating system, and an image of the problem would be great too!

If you have any suggestions about new features, or things that you think should be different, also feel free to open an issue.

Run npx git-truck in the root of a git repository, that you want to visualize:

npx git-truck [args]
arg description default value
--path path to a folder or a git repository current directory
--log output log level. See here for values -
--port port to use for the program 3000
--invalidate-cache bypass analyzer cache manually -
--headless run the program without opening the browser -

Caution

Using --invalidate-cache will cause the analyzer to run every time the client talks to the server. This can be very slow if working with large repositories.

You can add a truckconfig.json file to the root of your project, where you can define the arguments you want. Additionally you can define which git-aliases should be considered as the same person using unionedAuthors. If provided, the first name in the array is used as the name of the person. You can also define files to ignore.

Example:

{
  "log": "debug",
  "branch": "main",
  "unionedAuthors": [
    ["Bob", "Bobby Bob"],
    ["Alice", "aliiii", "alice alice"]
  ],
  "hiddenFiles": ["package-lock.json", "*.bin", "*.svg"],
  "invalidateCache": true
}

Star History

Star History Chart