stay_or_go is a CLI tool that analyzes Go and Ruby dependencies to evaluate their popularity and maintenance status. This tool generates scores to help you decide whether to "Stay" with or "Go" from your dependencies. Results can be output in Markdown, CSV, or TSV formats.
- Scans Go (
go.mod
) and Ruby (Gemfile
) dependency files - Evaluates each library's popularity and maintenance status
- Outputs results in Markdown, CSV, or TSV formats
To install this tool, you need a Go environment. Use the following command to install:
go install github.com/uzumaki-inc/stay_or_go@latest
To use stay_or_go, run the following command:
stay_or_go [flags]
-i, --input
: Specify the file to read.-f, --format
: Specify the output format (csv
,tsv
,markdown
).-g, --github-token
: Specify the GitHub token for authentication.-v, --verbose
: Enable verbose output.-c, --config
: Specify a configuration file to modify evaluation parameters.
Example of evaluating Go dependencies in Markdown format:
stay_or_go go -g YOUR_GITHUB_TOKEN
Example of evaluating Ruby dependencies in CSV format:
stay_or_go ruby -i ./path/to/your/Gemfile -f csv --github-token YOUR_GITHUB_TOKEN
If the GITHUB_TOKEN
is set as an environment variable, the -g
option is not required. You can run the command as follows:
export GITHUB_TOKEN=your_github_token
stay_or_go go
You can specify a custom parameter file using the -c
option. The configuration file should be in YAML format. Here is an example configuration:
watchers: 1
stars: 2
forks: 3
open_pull_requests: 4
open_issues: 5
last_commit_date: -6
archived: -99999
To use this configuration file, run the command as follows:
your_command_here -c path/to/your/params.yml
Adding these examples will help users understand how to use environment variables and custom configuration files effectively.
If you want to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch.
- Commit your changes.
- Submit a pull request.
This project is licensed under the MIT License.
If you encounter any issues, please report them on GitHub Issues.