Skip to content

A simple tool for commit based analysis of your codebase.

License

Notifications You must be signed in to change notification settings

Shastel/hotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HotFiles

hotfiles Depenndencies npm

A simple tool for commit-based analysis of your codebase.

Motivation

There are tons upon tons of ways to analyze your code but with this simple tool you can map codebase problems to business problems. For example if there are a lot of fixes in file 'a' this file should be refactored or you should write more tests for this file. It is pretty useful when you are beginning working with a large codebase, considering refactoring or writing tests, this tool may indicate where to start.

The tool is language agnostic, you can run it against js, ts, dart, java, basically against whatever you want.
You need just to pass an extension and that it.

Installation

You should get nodejs first.

Then you will be able to install 'hotfiles' globally or you will be able to run the tool with npx

npm i -g hotfiles

Usage

hotfiles --repo=path_to_your_cloned_repo

or

npx hotfiles --repo=path_to_your_cloned_repo

Available options

--repo, -r - Path to your project (mandatory)
--path, -p - Specific path inside of your project
--limit, -l - Number of commits to analyze (Infinity by default)
--message, -m - Filter for commit message (will be treated as a regex)
--ext, -e - List of file extensions to check
--ignoreExt, -e - List of extensions to ignore
--json, -j - Path to output file

Examples

hotfiles --repo='./my-awesome-project' --path='src' --limit=100 --message='fix:' --ext=.js --ext=.rb

This call will scan last 100 commits in my-awesome-project under src path where commit message contains fix: and a report will contain only files with extensions .js and .rb.

hotfiles --repo='./my-awesome-project' --limit=100 --ext=.ts --ext=.tsx --json=./output.json

This call will scan last 100 commits in my-awesome-project, report will contain only files with extensions .ts and .tsx and will be saved as json to ./output.json

About

A simple tool for commit based analysis of your codebase.

Resources

License

Stars

Watchers

Forks