four-key Metrics
four-key is a measure tool written with golang for your repositories. This project inspired from Accelerate book.
Thoughtworks Technology Radar
This package provides cli-tool for your commits. You can measure lead time, deployment frequency, mean time to restore (MTTR) and change fail percentage of your repositories. If you want to contribute this package, please fork and create a pull request.
Dependencies
- git
Prerequisites
- All releases must be tagged with a specific prefix and version number [prefix][versionNumber] like release-v15 or v-[commitSha] or rel12
- Must be provided with -p yourTagPattern while adding repository OR add to config.json
- All fixes must be specific like fix - hotfix - hot-fix
- Must be provided with -c yourFixCommitPattern -c yourOtherCommitFixPattern -c yourOtherCommitFixPattern while adding repository OR add to config.json
Installation
Executables
- Mac 64-bit: https://github.com/Trendyol/four-key/archive/v0.1.6.tar.gz
- Linux 64-bit: https://github.com/trendyol/
- Windows 64-bit: https://github.com/trendyol/
Source Code Build
$ git clone https://github.com/Trendyol/four-key.git && cd four-key
$ go build
Preparation
// Add repository with CLI
// OR Add repository with configuration file - Sample config.json
{
"repositories":[
{
"teamName":"cs",
"cloneAddress": "https://github.com/Trendyol/reponame",
"releaseTagPattern": "v-",
"fixCommitPatterns": ["fix","hot-fix","hotfix"]
}
]
}
add command usage
$ four-key add [flags]
Flags:
-c, --cloneAddress string Set your clone address
-f, --fixCommitPatterns stringArray Set your fix commit patterns of repository
-h, --help help for add
-r, --releaseTagPattern string Set your release tag pattern of repository
-t, --team string Set your team of repository
list command usage
$ four-key list [flags]
Flags:
-h, --help help for remove
remove command usage
$ four-key remove [flags]
Flags:
-h, --help help for remove
-r, --repository string Set your repository name to remove from config
set command usage
Usage:
four-key set [flags]
Flags:
-h, --help help for set
-o, --output string Set output source of 4Key metric results
Generate
$ four-key run --startDate 2018-01-13 --endDate 2020-01-30
Usage:
four-key run [flags]
Flags:
-e, --endDate string Set a end date of range
-h, --help help for run
-r, --repository string Set a name of the specific repository
-s, --startDate string Set a start date of range
TODO
- Add brew & scoop as installation options (TODO)
- Complete tests (In Progress)
- Add CI
- Add calculation descriptions to wiki (In Progress)
- Add suggestions for metrics results
License
The MIT License (MIT) - see LICENSE.md
for more details