Thank you for your interest in NLT! Here's a guide to help you contribute to this project.
At first, you need to fork this copy and create your own version of repo.
pip install -r requirements.txt
We strongly recommend installing pre-commit to ensure proper formatting during development
Create a new branch for developing your creative features
git checkout -b your-feature
You can develop new features and then you need to make sure everything works as expected. Run our provided tests and make sure the existing ones go well. Your new tests are encouraged.
Please ensure your code is formatted correctly using pre-commit
We strongly recommend your git commit follows the format below
git commit -m <type>: <subject>
feat |
Add new features |
fix |
Fix bugs |
docs |
Modify documents like README, CONTRIBUTE |
style |
Modify code format like space and comma without changing code logic |
refactor |
Refactor code structure without adding new features or fixing new bugs |
perf |
Improve performance or user experience |
test |
Test features, including unit test and integration test |
chore |
Change the build procedure or add dependencies |
revert |
Revert to the previous version |
- Visit your forked NaturalLanguageTerminal repository on GitHub and click the "Compare & pull request" button to initiate the process of submitting your changes to the original repository for review and potential merging.
- Choose the base branch and the compare branch (your feature branch).💡 Note that when you add new features, it is recommended to choose the (
dev
) branch and if your change does not affect original functions, you may consider choosing the (main
) branch. - Write a title and describe your changes in the description. And it is recommended to select the label of the change to make it more clear.
This is the style guide determining how code should be formatted. As more code is added, this documentation will be updated.
Each line should not exceed 80 characters.
Each function or class is to have a space between the line and any preceding code if it is not directly associated with the function or class. For example:
# this is a useful comment for the bar function
def foo():
pass
Our maintainers will have a review of that and might give some suggestions or ask for more details. After they approve, your commitment can be incorporated into NLT!
If you need some ideas on what to get started with, take a look at our goals for the rest of this year in issues.