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 devto run zcliyarn lintto lint your typescript code using standardjs eslint configyarn testto 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 commitlocally andgit pushto 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.