Git workflows,
beautifully automated

Interactive CLI for conventional commits and smart branch naming. Config-driven formats, ticket integration, and a delightful developer experience — for the whole team.

$ npm install -g uva-cli
zsh — uva-cli

Formats

Your format, your rules

Choose commit and branch formats that match your team's conventions. Configured once, consistent for everyone.

Commit formats

conventional-ticket default
feat(PROJ-42): add auth refresh token

Standard conventional commit with ticket in scope

conventional
feat: add auth refresh token

Clean conventional commit without ticket

ticket-conventional
[PROJ-42] feat: add auth refresh token

Ticket prefix before the type

Branch formats

type-ticket-name default
feat/PROJ-42_auth-refresh-token

Type prefix, ticket, then slugified name

type-name
feat/auth-refresh-token

Type prefix and slugified name only

ticket-type-name
PROJ-42/feat/auth-refresh-token

Ticket as top-level folder

Configuration

One file, the whole team aligned

uva.config.json lives at the root of your git repo. Commit it alongside your code and every developer gets the same experience automatically.

  • project.name Display name for your project
  • commit.ticketPrefix e.g. PROJ, FE, API — pre-fills prompts
  • commit.format Which commit format to use
  • branch.sources Branches you can create from (main, develop…)
  • branch.format Which branch naming format to use
uva.config.json
{
  "project": {
    "name": "My Awesome App"
  },
  "commit": {
    "ticketEnabled": true,
    "ticketPrefix":  "PROJ",
    "format":        "conventional-ticket"
  },
  "branch": {
    "sources":       ["main", "develop"],
    "ticketEnabled": true,
    "format":        "type-ticket-name"
  }
}

Start shipping better commits
in 30 seconds

Global install, then run uva init inside any git repo. That's it.

1 npm install -g uva-cli
2 cd your-project
3 uva init
4 uva commit