Skip to content

Latest commit

 

History

History
84 lines (59 loc) · 3.36 KB

CONTRIBUTING.md

File metadata and controls

84 lines (59 loc) · 3.36 KB

Contributing

We can use help in a bunch of areas and any help is appreciated. Our GitHub issues serve as a place for any discussion, whether it's bug reports, questions, project direction etc. As the project grows this policy may change.

Our Discord server is open for help and more adhoc discussion. All activity on the Discord is still moderated and will be strictly enforced under the project's Code of Conduct.

Getting Started

Building this project requires Node.js v19.1.0, which can be installed using nvm (recommended) or Node.js. We use pnpm 8.3.1 as a package manager, which can be installed following pnpm Installation.

Clone the repository and navigate to the zut directory:

git clone https://github.com/jundaoapp/zut
cd zut

Install all packages and dependencies:

pnpm install

Running dev build watcher:

pnpm dev

Running dev test server: (run in parallel in seperate terminal)

pnpm test:dev

User files

If files specific to your local development environment should be ignored, please add these files to a global git ignore file rather than to a git ignore file within Jundao Design.

You can find more information on this process here.

Checks

  • pnpm format is script that runs Rome under the hood;
  • pnpm check also runs Rome.
  • pnpm check-typescript is script that runs the Typescript compiler;

Tip: use pnpm ca to run all of them.

Commit messages

Internally, the Jundao Design adheres as closely as possible to the conventional commit specification. The following this convention encourages commit best-practices and facilitates commit-powered features like change log generation.

The following commit prefixes are supported:

  • feat:, a new feature
  • fix:, a bugfix
  • docs:, a documentation update
  • test:, a test update
  • chore:, project housekeeping
  • perf:, project performance
  • refactor:, refactor of the code without change in functionality
  • style:, changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • ci:, changes to CI configuration files and scripts

To skip automatic releases include [skip release] in the commit message.

Below are examples of well-formatted commits:

feat(button): handle click event
fix: fix font size on Safari
docs: fix link to website page
test(input): add more cases to handle keyboard events

Feature feat: prefixes should not be scoped for new components.

Creating pull requests

When creating a new pull request, it's preferable to use a conventional commit-formatted title, as this title will be used as the default commit message on the squashed commit after merging.

Versioning

We follow the Semantic Versioning 2.0.0.

New releases are automatically managed by semantic-release.