Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 3.94 KB

CONTRIBUTING.md

File metadata and controls

64 lines (47 loc) · 3.94 KB

Contributing to Mantine

First of all, thank you for showing interest in contributing to Mantine, all your contributions are extremely valuable to the project!

Ways to contribute

  • Improve documentation: fix incomplete or missing docs, bad wording, examples or explanations
  • Give feedback: we are constantly working on making Mantine better, please share how you use Mantine, what features are missing and what is done good via GitHub Discussions or Discord
  • Share Mantine: share link to Mantine docs with everyone who can be interested, share Mantine on Twitter
  • Contribute to codebase: propose new feature via GitHub Issues or find an existing one that you are interested in and work on it
  • Give us a code review: help us identify problems with source code or make Mantine more performant

Contributing workflow

  • Decide what you want to contribute
  • If you want to implement new feature discuss it with maintainer (GitHub Discussions or Discord) before jumping into code
  • After finalizing issue details work on code, please follow commit convention
  • Run tests with npm test and submit a PR if everything is fine
  • Get a code review and fix all issues noticed by maintainer
  • If you cannot finish your task or changed your mind – that's totally fine, just let us know in GitHub issue that you've created in first step. Mantine community is friendly – we won't judge or ask any questions if you decide to cancel your submission
  • Your PR is merged, you are awesome!

Git branches

  • master – current version, patches for current minor version (1.0.x)
  • dev – contains next minor version (1.x.0), most likely you would want to create a PR to this branch

Get started with Mantine locally

  • Install the editorconfig extension for your editor.
  • Fork the repository, then clone or download your fork.
  • Run nvm use to switch to the Node version specified in .nvmrc file (nvm installation instructions).
  • Install dependencies with yarn – yarn
  • Setup project – npm run setup
  • Build local version of all packages – npm run build all
  • To start storybook – npm run storybook
  • To start docs – npm run docs
  • To rebuild props descriptions – npm run docs:docgen

npm scripts

All npm scripts are located at main package.json, individual packages do not have dedicated scripts.

Development scripts

  • docs – starts docs development server
  • storybook – starts storybook development server

Testing scripts

  • syncpack – runs syncpack
  • typecheck – runs TypeScript typechecking with tsc --noEmit on all packages and docs
  • lint – runs ESLint on src folder
  • jest – runs tests with jest
  • test – runs all above testing scripts

Docs scripts

  • docs:docgen – generates components types information with docgen script
  • docs:sizes – generates bundle size information for all packages
  • docs:clean – runs gatsby clean
  • docs:build – runs all above docs scripts and build production docs bundle
  • docs:deploy – runs all above docs scripts and deploys docs to GitHub Pages