Thank you for considering contributing to JSON to NDJSONify. This document outlines the process and guidelines for contributing. We value your input, be it in the form of bug reports, feature requests, or code contributions.
This project adheres to the Git Flow workflow for managing changes. For those unfamiliar, Git Flow is a set branching model for Git that defines a structured release flow and feature development. Below are the key points:
master: The production-ready state of your code.develop: The main branch where the latest developments occur. All branching should start from here.feature/: A branch for developing a new feature. Always branch off fromdevelop.hotfix/: Quick fixes for issues that are urgent and cannot wait for the next release.release/: Preparing new production releases. Integrate feature branches and bug fixes and get ready for a merge intomaster.
- Fork the repository and clone it locally.
- If you are contributing a feature, create a new branch from
developwith a descriptive name likefeature/new-api-endpoint. - Make your changes, commit them, and push the branch.
- Make a Pull Request to merge your feature branch into the
developbranch of the original repository. - Once reviewed and approved, the maintainers will merge your changes.
By sticking to this workflow, we maintain a clean and easily understandable commit history, and also manage releases in a structured manner.
To make the commit history more readable and useful, we follow the Semantic Commit Messages format. The format is as follows:
<type>(<scope>): <short summary>
│ │ │
│ │ └─> Summary in present tense. Not capitalized. No period at the end.
│ │
│ └─> Commit Scope: feature, bugfix, improvement, etc.
│
└─> Commit Type: build, chore, ci, docs, style, refactor, perf, test
For example:
feat(button): add a disabled statefix(input): resolve the validation errorchore: update dependencies
This makes it easier to browse the history, revert changes, or understand what a commit does just by looking at its message.
This project adheres to Semantic Versioning. Given a version number MAJOR.MINOR.PATCH, we increment:
MAJORversion when making incompatible API changes,MINORversion when adding functionality in a backward-compatible manner, andPATCHversion when making backward-compatible bug fixes.
For more information, please refer to Semantic Versioning.
Please make sure you have the following software installed:
- Python 3.x
- Git
- Follow PEP 8 for Python code.
- Type annotate functions and methods.
- Write meaningful commit messages.
Before submitting a pull request, please run the unit tests to ensure that your changes have not broken any existing functionality.
export NDJSON_DIR=/path/to/your/ndjson/directory
python -m unittest tests/test_main.py- Push your changes to your forked repository.
- Create a pull request from your fork to the main repository.
- In the pull request description, explain your changes and how they benefit the project.
Once your pull request is submitted:
- Project maintainers will review your code.
- Address any comments or feedback from the maintainers.
- Once approved, your pull request will be merged.
By contributing to JSON to NDJSONify, you agree to comply with the project's LICENSE.