amplify-cli is a free, open source marketing & customer engagement project written in TypeScript and released under Apache-2.0. It has 2,876 GitHub stars, 826 forks and 883 open issues, and was last pushed 19 hours ago. On this registry it ranks #41 of 76 tracked projects in Marketing & Customer Engagement, with 5 head-to-head comparisons available. It gained 1 stars over the last 30 tracked days.

What is amplify-cli?

The AWS Amplify CLI (Gen 1) is an Apache-2.0 TypeScript toolchain, installed as @aws-amplify/cli, that lets web and mobile developers add, configure and deploy AWS serverless backends from the command line.

What it is

The AWS Amplify CLI is a toolchain with a broad feature set for simplifying mobile and web application development on AWS. It lives in the AWS ecosystem and drives AWS CloudFormation with nested stacks, which allows a developer to add or modify configurations locally before pushing them for execution in their own AWS account. The project is written in TypeScript and published under the Apache-2.0 licence. It carries 2,874 stars, 825 forks and 883 open issues, and its repository topics cover analytics, api, authentication, aws, aws-amplify, aws-appsync, aws-fargate, aws-lambda, cli, fullstack, graphql and lambda-functions.

The concrete problem it solves is the gap between a local application repository and a provisioned AWS backend. Rather than authoring and assembling CloudFormation stacks by hand for each environment, a team runs an amplify add command for a category, keeps that configuration in the project, and lets the CLI generate and provision the underlying resources. State is tracked in two directions: amplify push moves local developments to the cloud, and amplify pull fetches upstream backend environment changes and updates the local environment to match. This makes the backend environment reproducible across team members instead of living only in the AWS console.

Key capabilities

  • amplify configure collects AWS access credentials and AWS Region, and sets up a new AWS user profile.
  • amplify init initializes a project, sets up deployment resources in the cloud and prepares the project for Amplify, while amplify configure project updates the configuration settings created during that init step.
  • amplify add and amplify update add and modify cloud features in the app, across categories such as api, authentication, analytics, graphql and lambda-functions.
  • amplify push [--no-gql-override] provisions cloud resources from the latest local developments; the --no-gql-override flag skips automatic compilation of an annotated GraphQL schema and overrides local AppSync resolvers and templates instead.
  • amplify publish runs amplify push, then publishes static assets to Amazon S3 and Amazon CloudFront; the hosting category is required for this command.
  • amplify status -v shows a detailed verbose diff between local and deployed resources, including cloudformation-diff.
  • amplify serve runs amplify push and then executes the project's start command to test run the client-side application, while amplify delete removes the resources tied to the project.

Who uses it and how

  • Web and mobile application teams that want a single CLI to add authentication, GraphQL APIs and Lambda functions to an app without hand-writing CloudFormation.
  • Fullstack developers who keep backend configuration in the repository, using amplify status and amplify status -v to see which local resources are still Create, Update or Delete against the cloud.
  • Teams shipping static front ends that need CDN distribution, using amplify publish to push and place assets on Amazon S3 and Amazon CloudFront in one step.
  • Developers joining an existing environment, who use amplify pull to bring their local environment in line with the upstream backend definition.
  • Anyone testing a client application locally, using amplify serve to push and then start the project.

Getting started

Install with npm install -g @aws-amplify/cli, which requires Node.js version 22 or later, then run amplify configure to set AWS credentials, Region and a new AWS user profile before amplify init.

How it compares

No list of paid products this project replaces is provided in the facts, and the only comparable tool named is Amplify Gen 2, published as amplify-backend, which AWS recommends for new projects and which existing Gen 1 customers are encouraged to migrate to. Gen 1 remains installable and documented, but it is the earlier generation of the same toolchain rather than an independent alternative.

When to use it — and when not to

Amplify Gen 1 is in maintenance mode: from May 1, 2026 Gen 1 backends receive only critical bug fixes and security patches, and the product reaches end of life on May 1, 2027. A team starting a new project should begin with Amplify Gen 2 instead, and should not adopt Gen 1 as a long-term foundation. Existing Gen 1 users should plan a migration using the published migration guide and tooling, and should note the 883 open issues and the fact that the README excerpt is truncated mid-command list, so the command reference must be read in full at the source.

project readme (upstream, from github) — read inline
AWS Amplify

Discord Chat

Reporting Bugs/Feature Requests

Open Bugs Feature Requests Closed Issues

[!Important]

Amplify Gen 2 is now generally available

If you are starting a new project, we recommend starting with Amplify Gen 2.

If you are an existing Gen 1 customer, we encourage you to start migrating to Gen 2 using the migration guide and tooling.

⚠️ Amplify Gen 1 is in Maintenance Mode

Amplify Gen1 is in maintenance mode. Starting May 1, 2026, Gen 1 backends will receive only critical bug fixes and security patches and will reach end of life on May 1, 2027. Migrate your backend to Amplify Gen 2 using the migration guide and tooling to continue receiving new features and support.


AWS Amplify CLI (Gen 1)

The AWS Amplify CLI is a toolchain which includes a robust feature set for simplifying mobile and web application development. The CLI uses AWS CloudFormation and nested stacks to allow you to add or modify configurations locally before you push them for execution in your account.

Install the CLI

  • Requires Node.js® version 22 or later

Install and configure the Amplify CLI as follows:

$ npm install -g @aws-amplify/cli
$ amplify configure

Commands Summary

The Amplify CLI supports the commands shown in the following table.

Command Description
amplify configure Configures the AWS access credentials, AWS Region and sets up a new AWS User Profile
amplify init Initializes a new project, sets up deployment resources in the cloud and prepares your project for Amplify.
amplify configure project Updates configuration settings used to setup the project during the init step.
amplify add `` Adds cloud features to your app.
amplify update `` Updates existing cloud features in your app.
amplify push [--no-gql-override] Provisions cloud resources with the latest local developments. The 'no-gql-override' flag does not automatically compile your annotated GraphQL schema and will override your local AppSync resolvers and templates.
amplify pull Fetch upstream backend environment definition changes from the cloud and updates the local environment to match that definition.
amplify publish Runs amplify push, publishes a static assets to Amazon S3 and Amazon CloudFront (*hosting category is required).
amplify status [ ``...] Displays the state of local resources that haven't been pushed to the cloud (Create/Update/Delete).
amplify status -v [ ``...] Verbose mode - Shows the detailed verbose diff between local and deployed resources, including cloudformation-diff
amplify serve Runs amplify push, and then executes the project's start command to test run the client-side application.
amplify delete Deletes resources tied to the project.
amplify help | amplify `` help Displays help for the core CLI.
amplify codegen add | generate Performs generation of strongly typed objects using a GraphQL schema.
amplify env add | list | remove | get | pull | import | checkout See the multienv docs.

Category specific commands:

Tutorials

Developing

To set up your local development environment, go to Local Environment Setup.

To test your category, do the following:

cd <your-test-front-end-project>
amplify-dev init
amplify-dev <your-category> <subcommand>

Before pushing code or sending a pull request, do the following:

  • At the command line, run yarn lint at the top-level directory. This invokes eslint to check for lint errors in all of our packages.
  • You can use yarn lint to find some of the lint errors. To attempt fix them, go to the package that has errors and run yarn lint-fix
  • If there are any remaining lint errors, resolve them manually. Linting your code is a best practice that ensures good code quality so it's important that you don't skip this step.

Contributing

We are thankful for any contributions from the community. Look at our Contribution Guidelines.

Frequently asked questions

Is amplify-cli free to use?

amplify-cli is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does amplify-cli do?

The AWS Amplify CLI is a toolchain for simplifying serverless web and mobile development.

What is amplify-cli written in?

amplify-cli is primarily written in TypeScript. Its source is publicly available at https://github.com/aws-amplify/amplify-cli, and it has 2,876 GitHub stars.