Some of these practices might be based on wrong assumptions and I'm not aware of it, so I would appreciate any feedback.
- 
avoiding some dependency conflicts: - install sbt-explicit-dependencies globally in your ~/.sbt/{0.13,1.0}/plugins/plugins.sbt
- run undeclaredCompileDependenciesand make the obvious missing dependencies explicit by adding them tolibraryDependenciesof each sub-project
- (optionally) run unusedCompileDependenciesand remove some obvious unused libraries. This has false positives, so; reload; Test/compileafter each change and ultimately run all tests to see that it didn't break anything
- (optionally) add undeclaredCompileDependenciesTestto the CI pipeline, so that it will fail if you have some undeclared dependencies
 
- install sbt-explicit-dependencies globally in your 
- 
keeping dependencies up to date and resolving conflicts: - install sbt-updates globally in your `~/.sbt/{0.13,1.0}/plugins/plugins.