Create a chakra-ui based application component library with one command
Libaries created with Indigo are pre-configured with:
- GitHub actions based build process with semantic-release and automated changelog generation and publishing to the GitHub Package Repository (GPR) or NPM
- TypeScript
- Storybook
Indigo works with node versions < v15. We encourage using nvm
to easily manage your node versions.
If you're using nvm
you can ensure you're on the right version with nvm use 14
.
$ npx @alkamin/indigo new my-component-library
$ cd my-component-library
$ npm start
Defining a repository secret named RELEASE_PAT
is required for the semantic release workflow. The user who owns the token will be listed as the creator of all releases triggered by the semantic release GitHub action.
If you choose NPM as your publishing method, you will need to provide an NPM token (NPM_TOKEN
) to the build process:
- generate an NPM access token -- NPM provides helpful guidance
- in your UI library's repository, create a secret named
NPM_TOKEN
and set the value to the token you created in the previous step
By default, Indigo configures semantic-release to use the conventionalcommits
preset. Read more about conventional commits
You can alter the preset
setting of the @semantic-release/commit-analyzer
and @semantic-release/release-notes-generator
plugins in your library's package.json
file. Read more about configuring the commit message format
By default, Indigo configures the build process to generate a CHANGELOG.md
file. If you'd like to use a different name for the changelog file alter the configuration of the @semantic-release/changelog
and @semantic-release/git
plugins in your library's package.json
file.
$ npm install -g @alkamin/indigo
$ indigo COMMAND
running command...
$ indigo (-v|--version|version)
@alkamin/indigo/1.6.2 linux-x64 node-v12.22.5
$ indigo --help [COMMAND]
USAGE
$ indigo COMMAND
...
Scaffold a new component
USAGE
$ indigo generate COMPONENTNAME
ARGUMENTS
COMPONENTNAME the name of the component you want to generate
OPTIONS
-h, --help show CLI help
--skipStory
See code: src/commands/generate/index.ts
display help for indigo
USAGE
$ indigo help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
Scaffold a new UI library
USAGE
$ indigo new PACKAGENAME
ARGUMENTS
PACKAGENAME the name of the package you want to generate
OPTIONS
-h, --help show CLI help
--useNpm
See code: src/commands/new/index.ts