This repository contains Iteam project templates to scaffold new projects and a small CLI to initialize them.
- In your terminal, run:
npm init @iteam/templates@latest
- You will be presented with the templates available (currently koa-typescript, react-typescript, react and vite)
- When you choose a template, a sub-directory with a new project will be created.
The CLI part of this project is responsible for "end user usage", as in when you use the CLI to install a new template. All the source code for the CLI is in the src
directory.
When you run npm run build
from the root, we bundle the source files into ./index.js
. Later, when this CLI is used, said ./index.js
is executed, effectively running the CLI script in the terminal of the consumer.
You can test the script locally by running:
npm run build
node index.js
This project is set up with semantic-release.
Every push to the main branch will trigger a Github Actions workflow (./.github/workflows/release
).
This workflow will do the following:
-
Run tests
-
Run
npx semantic-relase
, which will in turn:-
Analyze the commits since the last release, using the commit names based on conventional-commits
-
If eligible*, create a new SemVer version tag based on the commit names
-
If eligible*, publish a new version of this library to NPM at
@iteam/create-templates
-
If eligible*, append the new version to the changelog
* Eligible means if the commits since the last release motivates a new release, where commit namefix:
motivates a patch version,feat:
motivates a minor version, andBREAKING CHANGE
(footer) motivates a major version. Read more at conventional-commits
-