diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..88701d5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,81 @@ +# Contribution Guide + +Thank you for your interest in contributing to our JavaScript animation tool for code snippets! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. + +## Table of Contents + +1. [Getting Started](#getting-started) +2. [How to Contribute](#how-to-contribute) + - [Reporting Bugs](#reporting-bugs) + - [Suggesting Features](#suggesting-features) + - [Submitting Code Changes](#submitting-code-changes) +3. [Development Setup](#development-setup) + - [Prerequisites](#prerequisites) + - [Installation](#installation) + - [Running Tests](#running-tests) +4. [Coding Standards](#coding-standards) +5. [Pull Request Process](#pull-request-process) +6. [License](#license) + +## Getting Started + +Before you begin, ensure you have read and understood the basics of the project. Here are a few ways you can contribute: + +- Reporting bugs +- Suggesting features +- Writing code +- Improving documentation +- Reviewing pull requests + +If you're new to open source, check out [this guide](https://opensource.guide/how-to-contribute/) to get started. + +## How to Contribute + +### Reporting Bugs + +If you find a bug, please report it by opening an issue in the repository. Include: + +- A clear and descriptive title +- A description of the bug +- Steps to reproduce the issue +- Expected and actual results +- Any relevant screenshots or code snippets +- Information about your environment (browser, OS, etc.) + +### Suggesting Features + +Have an idea for a new feature? We'd love to hear it! Please open an issue to discuss the feature, including: + +- A clear and descriptive title +- A detailed description of the proposed feature +- Any relevant code or references that could help with the implementation + +### Submitting Code Changes + +1. Fork the repository. +2. Create a new branch for your feature or bugfix (`git checkout -b feature/your-feature-name`). +3. Make your changes. +4. Commit your changes (`git commit -m 'Add some feature'`). +5. Push to the branch (`git push origin feature/your-feature-name`). +6. Open a pull request to the `main` branch. + +Please make sure your pull request includes: + +- A clear title and description of the changes. +- Any relevant issues or feature requests that your code addresses. +- Tests to verify your changes. + +## Development Setup + +### Prerequisites + +Before you can start developing, make sure you have the following tools installed: + +- [Node.js](https://nodejs.org/) (version 14 or higher) +- [npm](https://www.npmjs.com/) or [Yarn](https://yarnpkg.com/) + +### Installation + +1. Clone the repository: + ```bash + git clone https://github.com/illia-stv/magic-motion.git