Keen to contribute to ZCLI? We're stoked to have you join us. You may find that opening an issue is the best way to get a conversation started. When you're ready to submit a pull request, follow the steps below. We follow a code of conduct as our guide for community behavior.
This is a multi-package repo which uses Lerna to manage shared and cross-package dependencies. The basic repo layout includes:
├── package.json
– the top-level "project" package that contains the dependencies and scripts needed to manage the multi-package repo. This package will never be published to the npm registry.└─── packages/
– the folder that contains individual packages which are published to the npm registry.
├── zcli/
– contains the main package and is published as@zendesk/zcli
├── zcli-apps/
- contains apps related commands as a npm plugin
├── zcli-themes/
- contains themes related commands as a npm plugin
ZCLI follows semantic versioning. We release patch versions for bugfixes, minor versions for new features, and major versions for any breaking changes.
The pull request workflow along with the PR template will help us determine how to version your contributions.
All changes are recorded in applicable package CHANGELOG files after your PR is merged.
Before you start, be sure yarn is installed
on your system. After you clone this repo, run yarn
to install
dependencies needed for development. After installation, the following
commands are available:
yarn dev
to run zcliyarn lint
to lint your typescript code using standardjs eslint configyarn test
to run test in all the packages
Running yarn dev
or ./packages/zcli/bin/run
will run the cli locally. Alternatively, you can also symlink your local CLI as a global zcli
binary by running yarn run link:bin
.
- Fork the repo and create a branch. Format your branch name as
username/verb-noun
. - If you haven't yet, get comfortable with the development environment.
- Regularly
git commit
locally andgit push
to the remote branch. Use whatever casual commit messaging you find suitable. We'll help you apply an appropriate squashed conventional commit message when it's time to merge to master. - If your changes result in a major modification, be sure all documentation is up-to-date.
- When your branch is ready, open a new pull request via GitHub. The repo PR template will guide you toward describing your contribution in a format that is ultimately suitable for a structured conventional commit (used to automatically advance published package versions).
- Every PR must pass CI checks and receive at least two 👍 to be considered for a merge.
By contributing to ZCLI, you agree that your contributions will be licensed under the Apache License, Version 2.0.