LinuxCommandLibrary

copilot

Provide AI-powered coding suggestions

TLDR

Start interactive mode

$ copilot
copy

Allow all file editing
$ copilot --allow-tool write
copy

Resume the most recent session
$ copilot --continue
copy

Resume a previous session using session picker
$ copilot --resume
copy

Use a specific model
$ copilot --model "[gpt-5]"
copy

Allow all Git commands except git push
$ copilot --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)'
copy

Execute a prompt directly without interactive mode, while allowing copilot to run any command
$ copilot [[-p|--prompt]] "[Fix the bug in main.js]" --allow-all-tools
copy

SYNOPSIS

copilot <COMMAND> [flags]

PARAMETERS

--debug
    Enable debug logging for troubleshooting.
Default: false

--help, -h
    Display help for copilot or subcommands.

--app
    Specify application name (used in many subcommands).

--env
    Specify environment name (e.g., test, prod).

--profile-cache-timeout
    Set AWS profile cache timeout duration.

--aws-config
    Path to custom AWS config file.

--aws-credentials
    Path to custom AWS credentials file.

--aws-profile
    AWS profile name for authentication.

DESCRIPTION

AWS Copilot is a command-line interface (CLI) tool designed to simplify the deployment of containerized applications and infrastructure on Amazon ECS and AWS Fargate. It abstracts complex AWS services into simple commands, enabling developers to go from local development to production with minimal configuration.

Copilot supports creating full-stack applications with services like load-balanced web services, backend services, and worker tasks. Key features include automatic infrastructure provisioning (ALB, VPC, tasks), GitHub Actions integration for CI/CD, environment management across dev/staging/prod, and observability with CloudWatch. It generates AWS infrastructure as code (CloudFormation) while hiding boilerplate.

Usage starts with copilot app init to create an app, followed by copilot svc init for services, and copilot deploy to launch. Ideal for teams familiar with Docker, it streamlines blue-green deployments and scaling. Copilot is open-source under Apache 2.0 and integrates seamlessly with AWS IAM for secure access.

CAVEATS

Requires Docker installed and AWS CLI configured with IAM permissions for ECS/ECR. Not suitable for non-containerized apps. Subcommands may require GitHub repo for CI/CD.

INSTALLATION

macOS: brew install aws/tap/aws-copilot-cli
Linux/Windows: Download from GitHub releases or use curl script.
Verify: copilot --version

COMMON WORKFLOW

1. copilot app init myapp
2. copilot svc init --name frontend --type 'Load Balanced Web Service'
3. copilot env init --name test
4. copilot deploy --env test

HISTORY

Introduced in public preview November 2020 by AWS, reached GA in 2021. Open-sourced on GitHub (aws/copilot-cli), actively developed with v1.24+ supporting EKS. Replaces deprecated ECS CLI, focusing on developer productivity.

SEE ALSO

docker(1), aws(1), kubectl(1), eksctl(1)

Copied to clipboard