Add auto-generated client library generation to Activate Account API
As part of ongoing work on the activate account API, we would like to implement a mechanism to build client libraries as part of the API's release process.
We intend to do this by automatically generating client code as part of the release pipeline for the API, which will then publish that library to the API repositories internal registry. Our initial target will be for Typescript clients.
I am suggesting we encapsulate our generation mechanism in a docker image, so that it can be repeatably run locally and in CI jobs.
We expect that the CI job to be completely agnostic to the mechanism that OpenAPI specification is provided. We expect the OpenAPI specification to be a release artefact. This means that in principal the client library can be entirely generated from the release artefacts (aside from the client library itself).
**We expect the client library to stay in-step with the API application version, and to support all the API endpoint versions.**
## Acceptance Criteria
- Minimal boilerplate needed in API repository.
- Included script and processes from common tooling.
- We have created that common tooling as part of this library.
- Typescript client library built and accessible to downstream systems each time a release is created for the API.
- We would like our tooling to be able to build more client libraries in the future.
- Documentation the process for generating the client code.
- This is generic documentation to apply this process to any repository.
epic