- A repo using Tool Kit should be familiar to a JavaScript developer
- Tool Kit provides sensible, foundational configuration for common tasks for Customer Products repos
- There should be less friction using Tool Kit than implementing tooling ad hoc in a team yourself
- Tool Kit defines the development lifecycle for Customer Products repos
- Tool Kit manages configuration files in your repo for running development lifecycle tasks
- Tool Kit is modular: the core doesn't make assumptions about what tooling you're using, and plugins are independent of each other
- Tool Kit enables integration with tooling to be reusable across Customer Products teams
- Tool Kit is extensible by teams outside of Platforms without necessarily involving us
- When a team has extended Tool Kit, that can be reused by other teams
- Tool Kit's internals should be familiar to a JavaScript developer
- Keeping Tool Kit up-to-date in your repo should not be a chore
Platforms reserves the right to ignore these principles if it's too hard to follow them :(