Thank you for your interest in contributing to the js-ecutils
project, our toolkit for Elliptic Curve Cryptography in JavaScript. Your efforts are highly valued, and we aim to ensure a smooth contribution process. Please follow these guidelines to make a successful contribution.
To contribute, start by setting up your local development environment:
-
Fork the
js-ecutils
repository on GitHub. -
Clone your fork to your local machine.
-
Navigate to the project directory:
cd js-ecutils
-
Install the project’s dependencies:
npm install
By working directly in the project directory, any changes you make will be reflected without additional setup.
When you're ready to make changes:
-
Create a branch with a prefix indicating the type of changes:
# Use one of the following prefixes: feature/, fix/, doc/, test/, refactor/, or style/ git checkout -b feature/name-of-your-feature
-
Follow the coding conventions used throughout the project to maintain consistency.
Testing is essential to ensure js-ecutils
remains reliable:
-
Add new tests to the
tests
directory and ensure they're named to match the associated feature or fix. -
Aim for high test coverage to maintain robustness:
npm run coverage
Verify that your code passes all tests and maintains overall test coverage.
To submit your changes:
-
Push your changes to your forked repository.
-
In the original
js-ecutils
repository, initiate a new pull request. -
Choose the appropriate fork and branch.
-
Title your PR using the same prefix as your branch, followed by a concise description:
Feature: Implement new elliptic curve model Fix: Resolve point addition edge case Doc: Update README with contribution guidelines Test: Add tests for point doubling Refactor: Refine internal structure for module X Style: Adjust code formatting for consistency
-
In the PR's description, explain your changes and reference any issues using the format
fixes #issue_number
. -
Submit the pull request.
Project maintainers will review your PR, run additional tests, and may suggest improvements before merging. Please stay available to address any feedback or questions.
Your contributions are invaluable to js-ecutils
. Together, we can expand and improve this cryptographic toolkit. Let’s collaborate to take js-ecutils
to new heights!