Thanks for your interest. Contributions are welcome!
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Check the Issues to see if your topic has been discussed before or if it is being worked on. You may also want to check the roadmap (see above). Discussing in an Issue before opening a Pull Request means future contributors only have to search in one place.
This project includes a Git submodule. Passing --recurse-submodules
when git clone
ing is recommended.
This project loosely follows the Angular commit message conventions. This helps with searchability and with the changelog, which is generated automatically and touched up by hand only if necessary. Use the commit message format <type>(<scope>): <subject>
, where <type>
is feat for new or changed behavior, fix for fixes, docs for documentation, style for under the hood changes related to for example zshisms, refactor for other refactors, test for tests, or chore chore for general maintenance (this will be used primarily by maintainers not contributors, for example for version bumps). <scope>
is more loosely defined. Look at the commit history for ideas.
The test suite uses zsh-test-runner. Run with test suite with
. ./tests/abbr.ztr
To cut a new release:
- Check out the
main
branch. - Update all instances of the version number in
zsh-abbr.zsh
. - Update all instances of the release date in
zsh-abbr.zsh
. - Update all instances of the version number in
man/man1/abbr.1
. - Update all instances of the release date in
man/man1/abbr.1
. - Update all instances of the version number in
completions/_abbr
. - Run
bin/changelog
. - Update the first line of
CHANGELOG.md
: add the new version number twice:# [<HERE>](…vPrevious...v<AND HERE>) (…)
- Commit
CHANGELOG.md
,zsh-abbr.zsh
,man/man1/abbr.1
, andcompletions/_abbr
.git commit -i CHANGELOG.md completions/_abbr man/man1/abbr.1 zsh-abbr.zsh -m "feat(release): bump to v%ABBR_CURSOR%, update changelog"
- Create a signed commit with the version number, prefixed with
v
.git tag -s v%ABBR_CURSOR% -m v%ABBR_CURSOR%
- If possible to fast-forward
next
tomain
, do so. If it isn't, rebase/merge/etc as needed to havenext
fork off the tip ofmain
. - Fast-forward the major-version branch (e.g. branch
v5
) tomain
. - Push
main
, the tag,next
, the major version branch, and any branches rewritten in the process of bringingnext
up tomain
. - In GitHub, publish a new release. https://github.com/olets/zsh-abbr/releases/new. A GitHub Actions workflow will automatically update the Homebrew formula.