From 9f3f5d8a5ebcb249aab3d19b40090ba511a34c9d Mon Sep 17 00:00:00 2001 From: Chriscbr Date: Wed, 13 Jan 2021 00:15:26 -0500 Subject: [PATCH] docs: add projen contributing guide --- CONTRIBUTING.md | 115 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000..a0cafa84391 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,115 @@ +# Contributing to projen + +Thanks for your interest in contributing to projen! :heart: + +This document describes how to set up a development environment and submit your +contributions. Please read it carefully and let us know if it's not up-to date +(or even better, submit a pull request with your corrections! :wink:). + +## Pre-requisites + +### Manually install tools + +The following tools need to be installed to develop on projen locally. + +- [Node] +- [Yarn] + +[Node]: https://nodejs.org/en/download/ +[Yarn]: https://yarnpkg.com/en/docs/install + +## Getting Started + +The basic commands to get the repository cloned and built locally follow: + +```console +$ git clone https://github.com/projen/projen.git +$ cd projen +$ yarn # install dependencies +$ yarn build # build projen +``` + +### Development workflow + +The projen package has the following scripts: + +- `build` - builds the package and runs all unit tests +- `watch` - watches for file changes and builds them progressively +- `test` - executes all unit tests +- `test:update` - executes all unit tests and overwrites snapshot expectations (those `.snap` files). +- `test:watch` - runs all unit tests and reruns tests when files are changed +- `package` - emits publishable artifacts to `dist`. +- `eslint` - run linter against source code + +Each one of these scripts can be executed using `yarn