Contributing to Screenly/Chrome-Extension

Understanding the Project

The Screenly Chrome Extension is a JavaScript-based application built with HTML, SCSS, and Docker, aiming to enhance user experience within the Screenly platform. The project relies on a combination of Docker containers for development and deployment.

Contributing Steps

1. Fork the Repository

Start by forking the Screenly/Chrome-Extension repository on GitHub. This creates a personal copy of the project under your account.

2. Clone Your Fork

Clone your forked repository to your local machine using Git:

git clone https://github.com/YOUR_USERNAME/chrome-extension.git

Replace YOUR_USERNAME with your actual GitHub username.

3. Create a Branch

Before making any changes, create a new branch for your contribution:

git checkout -b feature/your-feature-name

Replace your-feature-name with a descriptive name for your contribution.

4. Develop Your Changes

Make the necessary changes to the codebase within your branch. Ensure your code adheres to the project’s style guide and best practices.

5. Test Your Changes

Thoroughly test your changes to ensure they function correctly and don’t introduce regressions. Utilize the provided test commands:

./bin/run_tests.sh
npm test

6. Commit Your Changes

Once your changes are tested and ready, commit them with a clear and concise message:

git add .
git commit -m "Add a clear and descriptive commit message"

7. Push to Your Fork

Push your branch to your forked repository:

git push origin feature/your-feature-name

8. Create a Pull Request

Navigate to your forked repository on GitHub and create a pull request from your feature branch to the master branch of the original Screenly/Chrome-Extension repository. Provide a detailed description of your changes and their impact.

9. Collaboration and Review

The project maintainers will review your pull request. They might ask for revisions or clarifications. Engage in constructive discussion to address any feedback and ensure the quality of your contribution.

10. Merge Your Pull Request

Once your changes are approved, the maintainers will merge your pull request into the main repository, making your contribution official.

Additional Information

  • CI/CD Configuration: The project leverages Continuous Integration and Continuous Delivery (CI/CD) through GitHub Actions. These workflows automate the build, test, and deployment processes.
  • Releases: Refer to the GitHub releases section for a history of released versions.
  • Tagging Releases: Follow the existing pattern for tagging releases using the git tag command and push them to the remote repository.
  • Version Control: The project follows Semantic Versioning (SemVer).
  • GitHub CLI: For release verification, you can use the GitHub CLI (gh attestation verify) tool.

Contributing to the Project

By following these steps and actively engaging in the project’s discussion, you can contribute to the development of the Screenly Chrome Extension and make it even better.