Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 2.61 KB

CONTRIBUTING.md

File metadata and controls

43 lines (28 loc) · 2.61 KB

Contributing to the SaaS Builder Toolkit for AWS

We are open to and grateful for any contributions made by the community. Please read through this document before submitting a pull request to ensure that your contribution meets our guidelines.

SBT is released under the Apache license. Any code you submit will be released under that license.

This document describes how to set up a development environment and submit your changes. Please let us know if it's not up-to-date (even better, submit a PR with your corrections 😄).

Setting up your development environment

This project uses Projen.

Once you have all the required dependencies installed, you can fork this repo, then:

git clone https://github.com/{your-account}/sbt-aws.git
cd sbt-aws
npm install

When to contribute

Please note this document is largely inspired by AWS Cloud Development Kit (CDK)'s contribution guidance. Rather than repeat all of that here, we encourage you to consult their guidance specifically the advice around when and why to contribute.

In short, if your contribution contains changes that are demonstrably desired by many SBT users, we absolutely want those changes in the sbt-aws core packages. If the changes are more localized, or vendor/partner specific, we'd want to leave those changes in a vendor/partner maintained repo. To the extent the core abstractions and interfaces present in this repo satisfy the needs of integrators, we'll leave them unchanged. In the event our abstractions fall short, or need changed, we encourage a pull request with those changes.

Please consult the issues and discussions section of the SBT repo for good first issues

Development

  1. Make desired changes
  2. Make sure existing (and new) tests pass successfully by running npm run test
  3. Run npm run build to compile
  4. Go to the root of the project. Then, deploy the CDK stack using the following:
    • For core-app-plane: npx cdk deploy --app='./lib/core-app-plane/integ.default.js'
    • For control-plane: CDK_PARAM_SYSTEM_ADMIN_EMAIL="[email protected]" npx cdk deploy --app='./lib/control-plane/integ.default.js'
  5. Test out the new feature(s) and redeploy as needed
  6. Write tests for any changed code and commit
  7. Create a PR.