## Build Tools

For information about the Build Tools API, please refer to the [Build Tools API readme](kotlin-build-tools-api/README.md).

For information about the tests, please refer to the [Build Tools API tests readme](kotlin-build-tools-api-tests/README.md).