Getting started

The steps below will help you get set up to open a pull request in the Amplify JS project. Check out the CONTRIBUTING.md in each project's repository for instructions on how to get started with local environment set up.

The Amplify Contributor Program is an open invitation for you to participate in the Amplify open source development journey. It is a great way to learn more about the Amplify ecosystem and make constructive, helpful pull requests. It builds your resume by demonstrating that you can collaborate with others on code, and it feels good to give back to a project you use! We're looking forward to developing with you!

Prerequisites

  • A GitHub account. You can create one here .

  • IDE (e.g. VS Code)

  • Amplify JS development environment. Follow the steps here to get set up.

  • Set up the Amplify Docs development environment .Optional

Steps to take to make your contribution

  1. Start on the contributing page of the Amplify JS repo and find the right issue for you.

  2. Fork the Amplify JS GitHub project.

  3. Open VS Code and clone your fork down to your machine so you can begin making changes.

    VS Code
  4. Run git status before you start coding to make sure everything in the project files are updated with the origin/main branch.

    1git status
    2
    3On branch main
    4Your branch is up to date with 'origin/main'.
    5
    6nothing to commit, working tree clean
  5. Use one of the commands below to create a new branch within your fork.

    1git checkout -b "<group-token>/<short-token>/<branch-name>"
    2# or
    3git checkout -b "<short-token>/<branch-name>"

    Use the group-token to indicate the category you are working on. e.g. amplify-datastore.

    The short-token can be one of the following: feat, chore, or bug.

    The branch-name should be representative of the feature or fix.

  6. Make your contribution and then run git add, git commit and push your branch.
    1git add .
    2git commit -m "A commit message"
    3git push -u origin <branch-name>

    GitHub will process the push command and display a link to create a pull request.

    1Enumerating objects: 5, done.
    2Counting objects: 100% (5/5), done.
    3Delta compression using up to 8 threads
    4Compressing objects: 100% (3/3), done.
    5Writing objects: 100% (3/3), 323 bytes | 323.00 KiB/s, done.
    6Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
    7remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
    8remote:
    9remote: Create a pull request for <branch-name> on GitHub by visiting:
    10remote: https://github.com/offlineprogrammer/amplify-js/pull/new/feat/<branch-name>
    11remote:
    12To https://github.com/offlineprogrammer/amplify-js.git
    13 * [new branch] feat/my-amazing-branche -> feat/<branch-name>
    14Branch 'feat/<branch-name>' set up to track remote branch 'feat/<branch-name>' from 'origin'.
  7. Click on the link to create a new pull request using the Amplify JS PR template.

    Open GitHub PR

That's it!

The Amplify team will review your PR and provide feedback if needed. The review process might require API design & security reviews. For such cases it might take up to 4 weeks to complete the review. Make sure to address any automated check that fail (such as linting, unit tests, etc. in the CI pipeline). Finally, once your changes meet the requirements and checks, the team will merge your changes into the Amplify JS repo.

Well done and congrats! We're very excited about your contribution!

Resources

We've put together a few resources that can help you create quality PRs.

Amplify JS Contributing Guidelines

Please read through these guidelines carefully before submitting a PR.

Amplify Documentation

Learn more about the AWS Amplify JS library.

Amplify Community Discord server

This is a great place to meet other developers using Amplify, ask questions, and share what you're building with Amplify.

The #contribute-to-javascript Discord channel

Meet other contributors and ask questions related to contributing to Amplify JS.

Amplify Discord Office Hours

Join the weekly office hour in the Discord Voice channel where you can ask questions, share what you're working on and get feedback.