Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.
For details on contributing to documentation, see Website Directory Readme.
Install yarn on your system: https://yarnpkg.com/en/docs/install
Only required on the first run, subsequent runs can use
yarn startto both bootstrap and run the development server.
$ git clone https://github.com/netlify/netlify-cms
$ cd netlify-cms
$ yarn
$ yarn bootstrapyarn startBootstraps the monorepo.
yarn bootstrapWatches all CMS packages and transpiles them on change.
yarn watchStarts the development server. This task runs both the bootstrap and watch scripts.
yarn startRemoves all of the CMS package dist directories.
yarn cleanRuns the clean script and removes all the node_modules from the CMS packages.
yarn resetRuns the clean script and builds the CMS packages.
yarn buildRuns the build and build-preview scripts in each package and serves the resulting build locally.
yarn build-previewRuns linting and Jest tests.
yarn testRuns linting, Jest, and Cypress tests.
yarn test:allRuns Cypress e2e tests.
yarn test:e2eRuns Cypress e2e tests on watch mode with an open instance of Chrome.
yarn test:e2e:devFormats code and docs according to our style guidelines.
yarn formatWe actively welcome your pull requests!
If you need help with Git or our workflow, please ask in our community chat. We want your contributions even if you're just learning Git. Our maintainers are happy to help!
Netlify CMS uses the Forking Workflow + Feature Branches. Additionally, PR's should be rebased on master when opened, and again before merging.
- Fork the repo.
- Create a branch from
master. If you're addressing a specific issue, prefix your branch name with the issue number. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Run
yarn testand ensure the test suite passes. - Use
yarn formatto format and lint your code. - PR's must be rebased before merge (feel free to ask for help).
- PR should be reviewed by two maintainers prior to merging.
By contributing to Netlify CMS, you agree that your contributions will be licensed under its MIT license.