This template offers an easy way to get started writing a JavaScript action with TypeScript compile time support, unit testing with Jest and using the GitHub Actions Toolkit.
See the walkthrough located here.
In addition to walking your through how to create an action, it also provides strategies for versioning, releasing and referencing your actions.