This template library provides all the setup you need to create a new Ailo TypeScript library using all of our processes and best practices, e.g. our ESLint config, automatic deployments to buildkite, dependabot and PAT scanning, etc.
The template itself is maintained by Magma --- if you see anything that's out-of-date, please let us know, or create a PR to improve it!
To start a new library (@ailo/new-awesome-library):
- Create a
ailohq/YOUR_LIBRARYS_NAMErepo on GH. (And add permissions to theailohq/core-team). The easiest way is do this via the GitHub UI and select this repo as a template, or in the terminal:
git clone git@github.com:ailohq/typescript-starter.git YOUR_LIBRARYS_NAME
cd YOUR_LIBRARYS_NAME
git remote rm origin
git remote add origin git@github.com:ailohq/YOUR_LIBRARYS_NAME.git
- Add the repository to
#ailo-code-activitySlack channel, so that the team can track commits pushed to remote by other people. The command is:/github subscribe ailohq/YOUR_LIBRARYS_NAME - Search everywhere in the repo for
typescript-starter, and replace with your new library's name, e.g.YOUR_LIBRARYS_NAMEfrom above. - Search everywhere in the repo for
magma(case insensitive), and replace with your team name. - Remove existing
src/**files and add your own ones. - Remove
@ailo/ailornfrom package.json dependencies, unless you actually need it --- it's added here just as an example of a dependancy. - Replace this description here with something meaningful --- for example, with description and a usage example of your library.
yarn
yarn startyarn lint # prettier and eslint
yarn test # unit tests
yarn test:watch # unit tests in watch mode
yarn validate # run linters, tests and buildBuildkite automatically releases to the next patch version once changes are merged into master.