From be5f5b544317bb4f9114ffac786279255e943142 Mon Sep 17 00:00:00 2001 From: Felix Boerner <ich@felix-boerner.de> Date: Sun, 16 Mar 2025 13:55:40 +0000 Subject: [PATCH] docs: add contribution guideline --- CONTRIBUTING.md | 89 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 81 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c9f9f8f..29762c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,88 @@ -# How to contribute to Split +# Contribution Guidelines -## Pull requests +First off, thanks for taking the time to contribute! ❤️ We appreciate your efforts to improve this project and make it better for everyone. -Please follow the [Conventional Commits 1.0.0 specification](https://www.conventionalcommits.org/en/v1.0.0/) to format your commit message. One commit per change is preferred. +## Table of Contents + +- [How to Contribute](#how-to-contribute) +- [Reporting Bugs](#reporting-bugs) +- [Suggesting Enhancements](#suggesting-enhancements) +- [Commit Guidelines](#commit-guidelines) +- [Testing](#testing) +- [Development Environment](#development-environment) +- [Submitting Changes](#submitting-changes) +- [Code of Conduct](#code-of-conduct) + +--- + +## How to Contribute + +We encourage all kinds of contributions, from bug reports to feature requests and code improvements. Please follow the guidelines below to ensure a smooth process. + +## Reporting Bugs + +Before reporting a bug, please check the existing issues on [GitHub Issues](https://github.com/escalate/hugo-split-theme/issues?q=label%3Abug) to avoid duplicates. If your issue is not listed, you can report it via [GitHub Issues](https://github.com/escalate/hugo-split-theme/issues/new). A good bug report should include: + +- Clear steps to reproduce the issue +- Expected vs. actual behavior +- Relevant logs or error messages +- Your environment details (OS, version, dependencies, etc.) + +## Suggesting Enhancements + +Before suggesting an enhancement, please check the existing issues on [GitHub Issues](https://github.com/escalate/hugo-split-theme/issues?q=label%3Aenhancement) to avoid duplicates. If your suggestion is not listed, enhancement suggestions should also be submitted through [GitHub Issues](https://github.com/escalate/hugo-split-theme/issues/new) and should include: + +- A clear and descriptive title +- A detailed explanation of the suggested enhancement +- Any potential alternatives or references to similar implementations + +## Commit Guidelines + +All commit messages must follow the [Conventional Commits](https://www.conventionalcommits.org/) format. These messages are used to automatically generate release versions and release notes. + +Format: + +``` +<type>(<scope>): <description> + +[optional body] + +[optional footer(s)] +``` + +Example: + +``` +feat(auth): add OAuth2 support +``` + +Allowed types: `feat`, `fix`, `build`, `chore`, `ci`, `docs`, `style`, `refactor`, `perf`, `test` ## Testing -There are two test sites under [`tests/exampleSiteWithImage`](./tests/exampleSiteWithImage) and [`tests/exampleSiteWithVideo`](tests/exampleSiteWithVideo). Please adjust those accordingly -to the changes you have made resp. check if your change didn't introduce any [regressions](https://en.wikipedia.org/wiki/Regression_testing). +All tests must pass before submitting any changes. The test suite runs via [GitHub Actions](https://github.com/escalate/hugo-split-theme/actions), and contributions will not be merged unless all tests are successful. -You can run these using the [`Makefile`](./Makefile) found at the root of this repository: +- Test suite is located in the [.github/workflows/test.yml](.github/workflows/test.yml) file. +- Add suitable tests for any new functionality or changes. +- Run tests locally before pushing changes. -`$ make hugo-server-example-site-with-image`\ -`$ make hugo-server-example-site-with-video` +## Development Environment + +To set up your local development environment: + +1. Clone the repository. +2. Check the [README.md](README.md) for setup details. + +## Submitting Changes + +1. Fork the repository and create a new branch. +2. Stick to the commit guidelines. +3. Ensure all tests pass. +4. Submit a pull request (PR) with a clear description. +5. Your PR will be reviewed, and you may be asked to make adjustments before merging. + +## Code of Conduct + +Please follow our [Code of Conduct](CODE_OF_CONDUCT.md) to maintain a welcoming and respectful community. + +Thank you for your contributions! 🚀 -- Gitblit v1.10.0