Interactive CLI for conventional commits and smart branch naming. Config-driven formats, ticket integration, and a delightful developer experience — for the whole team.
Formats
Choose commit and branch formats that match your team's conventions. Configured once, consistent for everyone.
feat(PROJ-42): add auth refresh token Standard conventional commit with ticket in scope
feat: add auth refresh token Clean conventional commit without ticket
[PROJ-42] feat: add auth refresh token Ticket prefix before the type
feat/PROJ-42_auth-refresh-token Type prefix, ticket, then slugified name
feat/auth-refresh-token Type prefix and slugified name only
PROJ-42/feat/auth-refresh-token Ticket as top-level folder
Configuration
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 {
"project": {
"name": "My Awesome App"
},
"commit": {
"ticketEnabled": true,
"ticketPrefix": "PROJ",
"format": "conventional-ticket"
},
"branch": {
"sources": ["main", "develop"],
"ticketEnabled": true,
"format": "type-ticket-name"
}
}
Global install, then run uva init inside any git repo. That's it.
npm install -g uva-cli cd your-project uva init uva commit