Thank you for your interest in participating!
There are many ways to contribute, beyond writing code or programming, by: logging bugs, reporting issues, and creating suggestions. To do so, please create a ticket in our issue tracker. (See other ways to Contribute or give Feedback.
This document is for developers or programmers contributing to the source code of Gurmukhi Utils.
Table of Contents
If you wish to better understand how Gurmukhi Utils works or want to debug an issue: get the source, build it, and run it locally.
In order to download necessary tools, clone the repository, and install dependencies, you'll need network access.
You’ll need the following:
- Git
- Node.JS (If you need to manage multiple Node.JS versions, use a node version manager to install)
Get the source code of gurmukhi-utils
repo:
gh repo fork shabados/gurmukhi-utils --clone=true
PROTIP: Use the gh
cli tool from GitHub to fork the repo to your GitHub account (if not already), clone it to your local machine, and set the appropriate remotes for origin and upstream with the above command.
Run npm i
in the root directory.
Usage:
npm run <command>
The commands are:
build-docs Generates docs from readme.hbs and jsdoc
lint Runs ESLint
test Unit tests with Jest
Markdown and HTML JSDoc documentation is generated automatically on commit. If you'd like to preview any changes to documentation, npm run build-docs
will update README.md
and the files in docs/
. README.md
should not be edited, instead apply modifications to README.hbs
.
Note to contributors with push access to main: Any commits or merge commits containing the strings #Major
, #Minor
, #Patch
(case-sensitive) will trigger an automatic npm release with the respective semver bump.
The workflow of development (or Git Flow) is to choose/create an issue to work on, create a feature branch, and submit a pull request.
PROTIP: Read more about our workflow (issue tracking, branching, and pull requests) in the How To Contribute wiki article.
Please see the wiki for Coding Guidelines (Names, Comments, Style, Linting, and Commit Messages).
To be used in commit messages.
Usage:
<type>(<scope>): <subject>
The scope should be the name of the function affected (e.g. toEnglish
, isGurmukhi
, stripVishraams
).
Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to participate in this project.