Thank you for considering contributing to ainconv
! 😘
We are happy to have you here. This document consists of some guidelines and instructions for contributing to ainconv
.
All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them.
Even if you don't have time, you can still support the project in other ways, such as starring the project, tweeting about it, or telling your friends about it. Every little bit helps!
We use GitHub issues to track bugs and errors. If you run into an issue with the project, please open an issue and provide as much information as possible. This will help us to understand the problem and fix it.
If you have an idea for a new feature or an enhancement to an existing feature, please open an issue and describe the feature you would like to see. We will discuss the idea and decide if it is a good fit for the project.
Tests are unified across the project's implementations in different languages. Please refer to the repository mkpoli/ainconv-tests.
General steps to contribute to the project:
- Fork the repository and clone it locally.
- Install Bun and install dependencies by
bun install
. - Make your changes and run
bun test
to run the tests. - Run
bun run build
to check if the build will be successful. - Submit a pull request to the main repository.
When committing, please also add a line to the CHANGELOG.md
under the Unreleased
section, describing the changes you made. If Unreleased
section does not exist, please create it. This will help the maintainers to write the release notes when the time comes.
Commit messages need to start with a capital letter and a verb in the present tense, describing the change. For example, Add support for Katakana
or Fix bug in Cyrillic to Latin conversion
.
Note
You can only publish a new version if you are a maintainer of the project and have the necessary rights to do so.
- Commit all changes in working tree.
- Check and build the package. (
bun test
andbun run build
) - Bump, commit and tag the version by
bun run bump
. - Push the changes to the remote repository. (
git push --follow-tags
) - Create a new release on GitHub with the release notes from
CHANGELOG.md
. - Publish the package to npm. (
npm publish
)