Contributing

We're so glad you're interested in Contributing to Scaffoldly or interested in learning more about our open source tooling.

If you'd like to contribute, Join the Slack Community and hop into the #contributing channel.

You can also check out the various Open Source Tooling we provide, maintain, use, and contribute to below.

Open Source Components

Scaffoldly outfits a User or Organization with a lot of tooling. For transparency, we have open-sourced the tooling and components for full transparency of stacks we create and manage

Infrastructure

Terraform for AWS

When the scaffoldly-bootstrap project is created, it's created using the Terraform AWS Archetype.

The scaffoldly-bootstrap then configures an AWS account using the Terraform AWS Bootstrap Terraform Module, which is generally available in Terraform Registry, as well as the Additional Modules that are used. Links to the GitHub repositories can be found in each module within the Scaffoldly Project on GitHub.

Code Templates

When Scaffoldly creates Microservices, we've partnered with an open-source template rendering tool called Archetect. Scaffoldly has developed a GitHub Action for Archetect to render Archetypes on a repository, and all projects are created using the GitHub Template.

Serverless Express Microservices

When Microservices are created, they're creating using the Serverless Express REST API Archetype. Various different ways we customize options in the generated tempates build it can be found here.

CI/CD

Infrastructure

Scaffoldly provides a Bootstrap Action to execute terraform plan and terraform apply operations within GitHub. This is automatically added to the scaffoldly-bootstrap repositories during Template Rendering.

Microservices

Scaffoldly provides a Bump Version Action to execute deploys to AWS for nonlive and live environments. This is automatically added to each Microservice during Template Rendering.

Libraries

TypeScript

For each Serverless Express REST API that is generated, the serverless-util NPM package is added to simplify interaction with various components in AWS, such as Getting/Fetching Secrets, interacting with DynamoDB, and much more.

Utilities

OpenAPI Generation

We've leveraged the OpenAPI Generator project to automatically generate OpenAPI/Swagger docs when the project is built. In TypeScript, it auto-generates the OpenAPI document using Tsoa.

We've written a Wrapper to the OpenAPI CLI to discover and auto-generate OpenAPI docs for each microservice in your project.

Dotenv

Each Microservice is outfitted with Dotenv. To standardize environment variable injection from multiple locations in your project, we've written the dotenv-out CLI to write multiple dotenv configurations to a single file in various formats.

Documentation

The documentation that you're reading now is Open Source and we welcome contributions to it. The documentation is hosted generously for free by GitBook.

Last updated