Working with continuous modernization
Source management
Use atx ct source commands to connect repositories. Supported providers:
GitHub, GitLab, Bitbucket, local.
GitHub organizations
Token: personal access token (classic) with repo scope. Read-only for
analysis, full repo for remediation.
atx ct source add --namename--provider github --orgorg--tokenpat
GitLab groups and users
Token: personal access token with api scope.
atx ct source add --namename--provider gitlab --orggroup-or-user--tokenpat# Self-hosted: atx ct source add --namename--provider gitlab --orggroup-or-user--tokenpat--url https://gitlab.example.com
Bitbucket workspaces and projects
Bitbucket Cloud — scopes: read:repository:bitbucket,
write:repository:bitbucket, read:pullrequest:bitbucket,
write:pullrequest:bitbucket. Also needs --email and
--username.
atx ct source add --namename--provider bitbucket --orgworkspace--tokenapi-token--emailusername
Bitbucket Data Center:
atx ct source add --namename--provider bitbucket --orgproject-key--tokenhttp-access-token--url https://bitbucket.example.com
Local repositories
atx ct source add --namename--provider local --pathparent-directory
Important
--path must point to a parent directory containing git repos as
subdirectories, not to a single repo.
Managing sources
atx ct source list atx ct source remove --namename
Repository discovery and management
atx ct discovery scan --sourcenameatx ct discovery status --sourcenameatx ct discovery scan --sourcename--pathnew-directory
After discovery:
atx ct repository list atx ct repository list --sourcenameatx ct repository list --labels "team:frontend,priority:high" atx ct repository update --sourcename--repo "source::repo" --labels "team:frontend,priority:high" atx ct repository update --sourcename--labels "migration:wave-1"
Running analysis
The --type flag specifies the kind of analysis to run:
rapid-techdebt-analysis– Outdated dependencies and easy wins.tech-debt-comprehensive– Deeper AI-powered analysis covering dependency, security, pattern, performance, maintainability, architecture, code-quality, and infrastructure findings.security– Security vulnerabilities and exposures.agentic-readiness– Readiness of your repositories for AI agents (frameworks, APIs, documentation).modernization-readiness– Modernization opportunities across your infrastructure, application, data, security, and operations dimensions.
atx ct analysis run --typetype--sourcename[--reposource::repo] [--wait] atx ct analysis get --idid--json atx ct analysis list --json atx ct analysis list --statuspending|running|complete|cancelled|failed--json atx ct analysis list --typetype--json atx ct analysis cancel --ididatx ct analysis delete --idid[--cascade-findings]
Custom analysis
atx ct analysis run --type custom --transformation-namename--sourcesource--reposource::repo--wait
Configuration with -g flag: key-value, JSON, or file path.
List TDs: atx custom def list
Managing findings
atx ct findings list --json atx ct findings list --reposource::repo--sourcename--severityhigh|medium|low--typeanalysis-type--statusopen|dismissed|obsolete--analysis-idid--fix-transformtransform-name--json
Finding statuses
open— Activedismissed— Manually dismissed (requires reason)obsolete— System-set when re-analysis no longer produces the finding
atx ct findings update --idid--status dismissed --reason "reason" atx ct findings update --idid--status open atx ct findings batch-update --idsid1,id2--status dismissed --reason "reason" atx ct findings get --ididatx ct findings delete --idid
Finding obsolescence
Re-analysis marks resolved findings as obsolete. Cannot be re-opened. Retained for audit.
Creating remediations
Three modes: findings-based, TD override, direct TD.
atx ct remediation create --idsid1,id2--name "name" atx ct remediation create --idsid1,id2--transformation-nameTDatx ct remediation create --transformation-nameTD--reposource::repo
Output by provider: GitHub PR, GitLab MR, Bitbucket PR, Local branch.
Note
Token must have write access for PR/MR creation.
Local execution with --local flag.
atx ct remediation create --transformation-nameTD--reposource::repo-g "additionalPlanContext=Upgrade to Node.js 22" atx ct remediation list atx ct remediation status --ididatx ct remediation retry --ididatx ct remediation cancel --ididatx ct remediation delete --idid
Remote execution
By default, analyses and remediations run on your local machine. For larger portfolios,
you can offload work to remote infrastructure in your AWS account — a persistent Amazon EC2
instance or AWS Batch (Fargate) jobs. The atx ct remote commands provision,
run, monitor, and tear down this infrastructure. Regardless of where execution happens, your
source code stays under your control in your account.
Note
Provisioning, updating, and tearing down infrastructure creates and modifies AWS CloudFormation
stacks and IAM roles, and requires administrator permissions. Pass --ack to
acknowledge this and skip the interactive prompt. Running analyses and remediations on
already-provisioned infrastructure uses least-privilege executor policies — see
Tagging and access control and the compute options in
How AWS Transform continuous modernization works for the managed policies
involved.
Networking
Remote compute must run in private subnets. Discover existing networking or create a new VPC before you provision:
# List VPCs, private subnets, and security groups in the current account and Region atx ct remote network discover atx ct remote network discover --vpcvpc-id--json # Create a new VPC with private subnets, a NAT gateway, and a security group atx ct remote network create --cidr10.1.0.0/16--ack
Provisioning infrastructure
Deploy the Amazon EC2 or Batch stack. Omit --execute to preview the template or
changeset; add --execute to apply.
Provisioning creates the compute stack for the mode you choose, plus a scheduler stack:
Batch — an AWS Batch job queue and compute environment, a job definition with the continuous modernization container image, IAM roles for job execution, and a Lambda function for job submission. Batch requires a security group.
Amazon EC2 — a persistent Amazon EC2 instance with an IAM instance profile and a security group. If you omit
--securityGroup, the stack creates a security group with no inbound rules; access is via SSM.Scheduler — an
atx-schedulerstack (an Amazon EventBridge Scheduler schedule group and invocation role) used by recurring analyses. Pass--skip-schedulerto opt out.
# Preview, then deploy an EC2 stack atx ct remote provision --mode ec2 --vpcvpc-id--subnetssubnet-a,subnet-batx ct remote provision --mode ec2 --vpcvpc-id--subnetssubnet-a,subnet-b--execute --ack # Deploy a Batch stack atx ct remote provision --mode batch --vpcvpc-id--subnetssubnet-a,subnet-b--securityGroupsg-id--execute --ack # Update an existing stack to the latest template, or tear it down atx ct remote update --modeec2|batch--execute --ack atx ct remote teardown --modeec2|batch--execute --ack
Storing source credentials
Remote containers clone your repositories using tokens stored in AWS Secrets Manager. Register a token for each SCM source before running remote analysis or remediation:
atx ct remote credentials --sourcename--tokentokenatx ct remote credentials --sourcename--remove
Running remotely
Remote analysis runs one container for each repository; remote remediation runs one
container for each finding. Use --sources, --repos, and
--labels to control fan-out, and --stack-name or --tags
to select which provisioned stack to use.
# Run analysis across a source on Batch atx ct remote analysis --typetype--mode batch --sourcesname[--reposrepo1,repo2] [--labels "team:frontend"] # Run remediation for specific findings on EC2 atx ct remote remediation --mode ec2 --idsid1,id2atx ct remote remediation --mode ec2 --sourcesname--min-severity high
Monitoring and managing runs
# Check whether infrastructure is deployed atx ct remote detect --modeec2|batch# Track a submission (Batch by batch ID, EC2 by group ID) atx ct remote status --batchbatch-id--stack-namenameatx ct remote status --groupec2-group-id--wait # Resume a partially-failed Batch run (re-submits only incomplete repos). # On resume, --batch-name takes the existing batch ID reported by "remote status --batch". atx ct remote analysis --typetype--mode batch --sourcesname--resume --batch-namebatch-id# Cancel a running submission atx ct remote cancel --mode batch --batchbatch-id--stack-namenameatx ct remote cancel --mode ec2 --groupec2-group-id
Scheduling recurring analysis
Use atx ct schedule to run analyses automatically on a recurring cadence
with Amazon EventBridge Scheduler. Only analyses can be scheduled; remediations are not
scheduled. Scheduling runs on remote infrastructure, so provision an Amazon EC2 or Batch stack
first (see Remote execution). Job
options mirror atx ct remote analysis.
The --recurrence value accepts daily,
weekly: (for example,
DAYweekly:MONDAY), or monthly: where
NN is a day from 1 to 28.
atx ct schedule create --namename--modeec2|batch--recurrenceweekly:MONDAY--typetype--sourcesname[--reposrepo1,repo2] atx ct schedule list atx ct schedule getnameatx ct schedule disablenameatx ct schedule enablenameatx ct schedule deletename
To remove the scheduler role and schedule group entirely, run
atx ct schedule teardown --execute.
Tagging and access control
You can apply tags (comma-separated key=value pairs) to sources, analyses,
and remediations with the --tags option. Tags are also supported on remote
infrastructure, stored credentials, and networking resources. With tags, you can organize
resources. Combined with IAM tag conditions, tags implement attribute-based access control
(ABAC) so that teams access only the resources that carry their tags.
atx ct source add --namename--provider github --orgorg--tokenpat--tags "team=platform,env=prod" atx ct analysis run --typetype--sourcename--tags "team=platform" atx ct remediation create --idsid1,id2--tags "team=platform"
Note
Tags passed with --tags are merged over any configured default tags, and
--tags wins for any key set in both places.
AWS Transform web application (Optional)
The AWS Transform web application is an optional interface for monitoring continuous modernization analyses, findings, and remediations across your portfolio of code sources.
Before using the AWS Transform web application, you need to have a user identity enabled to access AWS Transform in your organization. For information about enabling AWS Transform, see Setting up AWS Transform.
To use the AWS Transform web application:
Visit
https://aws.amazon.com/transform/and sign in using AWS IAM Identity Center credentials.If continuous modernization does not appear after you sign in, sign in with IAM credentials instead. To enable IAM credentials sign-in:
In the AWS Management Console, open AWS Transform and choose Settings.
In the Access AWS Transform with IAM credentials section, enable IAM credentials access.
On the same settings page, copy the sign-in link shown under Web application URL (with IAM).
Paste the sign-in URL into the same browser window where the AWS Management Console is open. This ensures the web application uses the AWS credentials from that account.
Open the left navigation menu and choose continuous modernization. The Dashboard displays summary statistics including sources, repositories, total findings by severity, and analysis types.
Use the Analyses, Findings, and Remediations tabs to view detailed results.
Chat with AWS Transform directly from the web application to ask questions about your analyses, findings, or remediations.
The web application is designed for enterprise-scale operations where you need centralized visibility into continuous modernization analyses and remediations across multiple codebases.