Skip to content

Latest commit

 

History

History
72 lines (58 loc) · 3.31 KB

CONTRIBUTING.md

File metadata and controls

72 lines (58 loc) · 3.31 KB

Contributing to ZCLI

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

Versioning Workflow

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.

Development Workflow

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 zcli
  • yarn lint to lint your typescript code using standardjs eslint config
  • yarn 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.

Pull Request Workflow

  1. Fork the repo and create a branch. Format your branch name as username/verb-noun.
  2. If you haven't yet, get comfortable with the development environment.
  3. Regularly git commit locally and git 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.
  4. If your changes result in a major modification, be sure all documentation is up-to-date.
  5. 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).
  6. Every PR must pass CI checks and receive at least two 👍 to be considered for a merge.

License

By contributing to ZCLI, you agree that your contributions will be licensed under the Apache License, Version 2.0.