Skip to content

dawidwoz/git-truck

 
 

Repository files navigation

Git Truck Beta

GitHub license Git Truck Beta  on NPM

Demo

Important!

It is a private version of the original version of GitTruck, you might be searching for the GitTruck base version available here

Description

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

The files in your system where you have a single contributor (i.e., truck-factor = 1) image
You can see how the various developers contribute to your codebase image
You can determine which parts of the system that are most often changed image

What makes Git Truck Beta different?

  • 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

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

  • Node.js 16.13 or newer
  • npm 6.14 or newer
  • git 2.29 or newer

To check if these programs are installed, and what version you have, run node --version, npm --version and git --version. If any of these are not installed on your system, or are just very old, they can be installed from the links above. Note that npm is installed along with node.

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

Please contact Dawid Wozniak by email dawo@itu.dk

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 -

Note: Using --invalidate-cache will cause the analyzer to run every time the client talks to the server.

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
}

Packages

No packages published

Languages

  • TypeScript 95.9%
  • JavaScript 2.4%
  • CSS 1.3%
  • Other 0.4%