This PR introduces Tach to maintain clean module boundaries. It is added as an optional dev dependency and as a CI check in GitHub Actions.
If changes are made which introduce new cross-module dependencies, they will cause tach check to fail and point out the offending imports. If they represent an intentional design change, they can be acknowledged with tach sync.
Particularly for new contributors, it is helpful to have an automatic check to validate that new changes do not violate the intended architecture of the project. Tach also serves as documentation of the logical flow of the project through tach.yml and tach show
This PR introduces Tach to maintain clean module boundaries. It is added as an optional dev dependency and as a CI check in GitHub Actions.
If changes are made which introduce new cross-module dependencies, they will cause
tach check
to fail and point out the offending imports. If they represent an intentional design change, they can be acknowledged withtach sync
.Particularly for new contributors, it is helpful to have an automatic check to validate that new changes do not violate the intended architecture of the project. Tach also serves as documentation of the logical flow of the project through tach.yml and
tach show
Tach docs are here: https://docs.gauge.sh/