Development environment
This page describes how to setup your development environment (Cloud or locally) to contribute to Powertools for AWS Lambda (TypeScript).
graph LR
Dev["Development environment"] --> Quality["Run quality checks locally"] --> PR["Prepare pull request"] --> Collaborate
End-to-end process
Requirements¶
First time contributing to an open-source project ever?
Read this introduction on how to fork and clone a project on GitHub.
You'll need the following installed:
- GitHub account. You'll need to be able to fork, clone, and contribute via pull request.
- Node.js 24.x. The repository contains an
.nvmrcfile, so if you use tools like nvm, fnm you can switch version quickly. - npm 10.x. We use it to install dependencies and manage the workspaces.
- Docker. We use it to run documentation, and non-JavaScript tooling.
- Fork the repository. You'll work against your fork of this repository.
Additional requirements if running end-to-end tests
Local environment¶
You can use npm run setup-local to install all dependencies locally and setup pre-commit hooks.
Curious about what setup-local does under the hood?
We use npm scripts to automate common tasks locally and in Continuous Integration environments.
Local documentation¶
You might find useful to run both the documentation website and the API reference locally while contributing:
Using Docker (recommended)¶
- Build the Docker image (only needed the first time):
1 | |
- Run the documentation website:
1 | |
Using Python directly¶
If you have Python installed, you can run the documentation website and API reference locally without Docker:
- Create a virtual environment and install dependencies:
1 | |
- Run the documentation website:
1 | |