|
| 1 | +# convcommit - Conventional Commit message builder |
| 2 | +# This file is read by the `convcommit` CLI tool to populate |
| 3 | +# the interactive selector menus. |
| 4 | +# Commit this file to share the project's commit vocabulary with the team. |
| 5 | +# |
| 6 | +# FORMAT |
| 7 | +# type:<value> — commit type option (e.g. fix, feat, docs) |
| 8 | +# scope:<value> — commit scope option |
| 9 | +# message:<value> — commit message template |
| 10 | +# |
| 11 | +# SPECIAL PREFIXES |
| 12 | +# ~<value> — marks the default selection |
| 13 | +# _ — enables free-text manual input (press ".") |
| 14 | +# [X]<value> — forces key letter X for this entry (e.g. [B]build, [W]wip) |
| 15 | +# |
| 16 | +# HOW TO USE (interactive) |
| 17 | +# Run `convcommit` in a git repo. A menu appears for type, scope, message. |
| 18 | +# Press the letter in brackets [A][B]... or [.] for free-text input. |
| 19 | +# Stage and push in one shot: |
| 20 | +# convcommit -a -p |
| 21 | +# |
| 22 | +# HOW TO USE (direct flags — scripts, AI agents) |
| 23 | +# Bypass the selector entirely with explicit flags: |
| 24 | +# convcommit --type fix --scope auth --message "fix null pointer" --push |
| 25 | +# convcommit -t feat -s api -m "add endpoint" -a -p |
| 26 | +# |
| 27 | +# SMART PATTERN — stage specific files and commit in one command |
| 28 | +# Use --add instead of nested command substitution. |
| 29 | +# Anti-pattern (avoid): |
| 30 | +# msg=$(convcommit --type fix --message "fix") && git commit -m "$msg" && git push |
| 31 | +# Recommended: |
| 32 | +# convcommit --add src/auth.sh --type fix --scope auth --message "fix null pointer" --push |
| 33 | +# Stage multiple files: |
| 34 | +# convcommit --add src/auth.sh --add tests/auth_test.sh -t test -s auth -m "add tests" -p |
| 35 | +# |
| 36 | +# HOW TO USE (pipe / non-interactive) |
| 37 | +# Pipe selections as lines: one per stage (type, scope, message). |
| 38 | +# Use the letter shown in the menu, or "." to trigger free-text input. |
| 39 | +# Examples: |
| 40 | +# printf "G\n.\nfix null pointer in login\n" | convcommit |
| 41 | +# printf "F\n\nadd endpoint\n" | convcommit -a -p |
| 42 | +# Capture just the formatted message: |
| 43 | +# msg=$(printf "G\n\nfix null pointer\n" | convcommit) |
| 44 | +# |
| 45 | +# OTHER USEFUL FLAGS |
| 46 | +# --reset Regenerate this file with the latest defaults |
| 47 | +# --help Show all options |
| 48 | +# |
| 49 | +# INSTALLATION |
| 50 | +# convcommit is a single bash file with no dependencies. |
| 51 | +# Install it locally in your project: |
| 52 | +# curl -fsSL https://raw.githubusercontent.com/francescobianco/convcommit/refs/heads/main/bin/convcommit \ |
| 53 | +# -o bin/convcommit && chmod +x bin/convcommit |
| 54 | +# Or system-wide: |
| 55 | +# curl -fsSL https://raw.githubusercontent.com/francescobianco/convcommit/refs/heads/main/bin/convcommit \ |
| 56 | +# -o /usr/local/bin/convcommit && chmod +x /usr/local/bin/convcommit |
| 57 | +type:[B]build |
| 58 | +type:~chore |
| 59 | +type:[D]docs |
| 60 | +type:deps |
| 61 | +type:feat |
| 62 | +type:fix |
| 63 | +type:ci |
| 64 | +type:init |
| 65 | +type:merge |
| 66 | +type:perf |
| 67 | +type:refactor |
| 68 | +type:revert |
| 69 | +type:security |
| 70 | +type:style |
| 71 | +type:test |
| 72 | +type:[W]wip |
| 73 | +scope:_ |
| 74 | +scope:~ |
| 75 | +message:_ |
| 76 | +message:~_ |
0 commit comments