fnc
is a command-line interface (CLI) tool designed to automate repetitive tasks in team related projects. It simplifies the deployment process by handling version increments, branch creation, and changelog updates.
- Automate deploy flows for releases and hotfixes
- Detect project language automatically
- Increment version numbers (patch, minor, major)
- Create and checkout new branches
- Update package versions
- Integrate with Git for version control operations
curl -fsSL https://raw.githubusercontent.com/eulke/fnc/main/install.sh | bash
After installation, you need to source your shell configuration file to use fnc immediately:
For Bash users:
source ~/.bashrc
For Zsh users:
source ~/.zshrc
The basic syntax for using fnc
is:
fnc [command] [options]
Currently, fnc
supports the following command:
deploy
: Automate the deploy flow by creating a branch, incrementing the version, and updating the changelog.
fnc deploy [deploy_type] [version]
Options:
DEPLOY_TYPE
: Specify the type of deployment (required)hotfix
: For quick fixes to the production versionrelease
: For planned releases with new features
VERSION
: Specify the version increment type (optional, defaults topatch
)patch
: Increment the patch version (e.g., 1.0.0 -> 1.0.1)minor
: Increment the minor version (e.g., 1.0.0 -> 1.1.0)major
: Increment the major version (e.g., 1.0.0 -> 2.0.0)
Example:
fnc deploy release minor
This command will create a new release branch, increment the minor version, and prepare for deployment.