We use poetry to manage the dependencies.
To install them you would need to run install
command:
poetry install --all-extras
To activate your virtualenv
run command.
poetry shell
Run this command to install hooks and prepare environment for work
inv project.init
We use pre-commit
for quality control.
To run checks:
inv pre-commit.run-hooks
We use trunk based development.
What the point of this method?
- We use protected
main
branch, so the only way to push your code is via pull request - We use issue branches: to implement a new feature or to fix a bug
create a new branch named
issue-$TASKNUMBER
- Then create a pull request to
main
branch - We use
git tag
s to make releases, so we can track what has changed since the latest release
So, this way we achieve an easy and scalable development process which frees us from merging hell and long-living branches.
In this method, the latest version of the app is always in the main
branch.
Before submitting your code please do the following steps:
- Add any changes you want
- Edit documentation if you have changed something significant
- Update
CHANGELOG.md
with a quick summary of your changes - Run
pre-commit
to ensure that style is correct