---
type: "post"
id: "aws-has-published-an-open-source-sample-for-69e9fe"
slug: "aws-has-published-an-open-source-sample-for-69e9fe"
title: "AWS has published an open-source sample for migrating PHP applications to Java/Spring Boot with Kiro"
description: "AWS has published an open-source sample for migrating PHP applications to Java/Spring Boot with Kiro, with the same skill files reusable in AWS Transform custom transformations."
retrieval_nugget: "AWS has published an open-source sample for migrating PHP applications to Java/Spring Boot with Kiro, with the same skill files reusable in AWS Transform custom transformations. It defines the PHP implementation as the specification and uses a parity harness to verify the port, turning agent-assisted conversion into a staged migration workflow."
published_at: "2026-11-06"
updated_at: "2026-11-06"
record_date: "2026-11-06"
date_kind: "published_at"
topics: ["coding-agents"]
entities: ["Amazon Web Services","Kiro","AWS Transform","aws-samples/sample-php-to-java-migration"]
related_patterns: ["verification-bandwidth-is-the-scarce-resource"]
novelty_label: "new_fact"
what_changed: "A GitHub sample repository for PHP-to-Java migration with Kiro/AWS Transform is now available, extending the previously covered Kiro migration workflow."
prior_refs: []
source_url: "https://github.com/aws-samples/sample-php-to-java-migration"
source_urls: ["https://github.com/aws-samples/sample-php-to-java-migration"]
schema_version: "newruntime-agent-readable-v0.2"
stable_id: "post:aws-has-published-an-open-source-sample-for-69e9fe"
status: "published"
visuals: []
editor: {"role":"editor","name":"Andrey Reshetnikov","profile":"https://newruntime.com/owner-profile.md","profile_json":"https://newruntime.com/owner-profile.json","same_as":["https://www.linkedin.com/in/reshetnikov1/","https://t.me/lapetuse"]}
routes: {"html":"https://newruntime.com/posts/aws-has-published-an-open-source-sample-for-69e9fe/","markdown":"https://newruntime.com/posts/aws-has-published-an-open-source-sample-for-69e9fe.md","json":"https://newruntime.com/posts/aws-has-published-an-open-source-sample-for-69e9fe.json"}
markdown_url: "https://newruntime.com/posts/aws-has-published-an-open-source-sample-for-69e9fe.md"
---

# AWS has published an open-source sample for migrating PHP applications to Java/Spring Boot with Kiro

## Retrieval answer

AWS has published an open-source sample for migrating PHP applications to Java/Spring Boot with Kiro, with the same skill files reusable in AWS Transform custom transformations. It defines the PHP implementation as the specification and uses a parity harness to verify the port, turning agent-assisted conversion into a staged migration workflow.

## Summary
AWS has published an open-source sample for migrating PHP applications to Java/Spring Boot with Kiro, with the same skill files reusable in AWS Transform custom transformations. It defines the PHP implementation as the specification and uses a parity harness to verify the port, turning agent-assisted conversion into a staged migration workflow.

## What happened
The public `aws-samples/sample-php-to-java-migration` repository describes a reusable, skill-driven engine for moving PHP applications built with Symfony, Laravel, or Doctrine-based stacks to Java/Spring Boot while seeking behavioral parity. It is designed for Kiro, AWS's coding-agent product, and packages the same skill files for AWS Transform custom transformations. The repository's organizing model is “one shared brain, many projects”: migration methodology and workflow steering live at the root, while each application has its own specification directory and code directory. A change to a shared skill can therefore apply to current and future projects in the workspace.

The sample defines an eight-phase process. Phase 0 assesses and discovers the application, producing an inventory, dependency graph, and cutover choice. Phase 1 builds a parity harness able to run against both the PHP baseline and the Java port. The next phases establish a rulebook, gap inventory, and workflow mappings; stress-test that rulebook; scaffold a compiling Spring Boot project and map dependencies; translate the data model; translate the I/O layer; and convert business logic. The final phase compiles, runs, proves parity, and prepares cutover. Every phase has a named deliverable and an approval gate.

The repository gives two governing principles: the PHP code is the specification, and the Java port is done when the parity harness agrees module by module, or when deviations are explicitly documented. Its Symfony demo includes PHP source pinned to a commit, generated Java output, and a side-by-side parity environment. Where Docker is available, that environment can run the two versions and compare requests. The repository also contains a Laravel example described as a BookStack slice and a Sylius slice.

To use the sample, a team opens the repository root as a Kiro workspace, places a PHP application in a project's `source-php` directory, and asks Kiro to migrate it. The PHP-to-Java skill activates, runs a discovery scanner first, and creates a project specification. For portfolio-scale agentic execution, the `Transform/` directory shows how to consolidate the skills into an AWS Transform custom transformation definition. Listed prerequisites are Kiro or the AWS Transform `atx` CLI, PHP 8.0+ for the dependency-free discovery scanner, Java 21, and Maven; Docker is optional. The repository uses the MIT-0 license. It supplies no price, measured time saving, success rate, or production-migration result.

## What the archive adds
This is a new fact on a broader migration-and-agent-tooling thread. [AWS's AI/ML skill for its coding agent](https://newruntime.com/posts/bring-deep-sagemaker-ai-expertise-to-your-coding-53da91/) described a reusable AWS Agent Toolkit skill, while [IBM and Kaggle's Java framework migration leaderboard](https://newruntime.com/posts/ibm-and-kaggle-launch-java-framework-migration-leaderboard-ede4a9/) covered evaluation of migration agents. This sample adds an inspectable workflow with approval gates and parity checks rather than another benchmark result.

## Trend signal
The workflow supports [verification bandwidth is the scarce engineering resource](https://newruntime.com/patterns/verification-bandwidth-is-the-scarce-resource/). It makes validation a defined part of the migration process and supplies a parity harness for testing generated code against a baseline. The repository does not establish how much reviewer time this removes, or whether its checks reduce total migration effort.

## Why now
The source's stated operational rationale is reuse at portfolio scale. Shared skills and steering can be improved once, while separate specifications preserve a boundary around each application migration; the same assets can then be packaged for AWS Transform custom transformations. The source gives no launch-date rationale or external deadline.

## Connections to other events
An earlier AWS Telegram post described a multi-agent approach to cloud-infrastructure migration using Amazon Bedrock AgentCore. This repository covers a different target—PHP application code to Java—and centers on shared skills, approval gates, and behavior comparison rather than infrastructure discovery.

## Why it matters
A port that compiles is not necessarily a migration that preserves production behavior. This sample explicitly separates those claims: first identify the application, then build a judge, compare the old and new versions where possible, and require approvals as work advances. For teams assessing agent-assisted modernization, that is a more operational starting point than requesting a repository-wide translation and reviewing the generated code informally.

The repository's shared-versus-project-specific structure also offers a useful organizational pattern. A team can refine common migration rules once while retaining distinct specifications, source code, and generated targets for each application. That could make recurring migrations more consistent across a portfolio. Yet the sample remains a reference implementation, not proof that the process works for arbitrary systems. Teams must still decide which behaviors are important, create representative test environments, investigate dependency gaps, and own the decision to accept documented deviations and cut over.

## Limits and uncertainty
The supplied repository does not report completed production migrations, comparisons with manual migration, time or cost savings, or parity rates. Its examples are a Symfony demo plus slices of Laravel and Sylius; they do not demonstrate coverage across all PHP frameworks, deployment architectures, or dependencies. Docker is optional, so a team's ability to run side-by-side comparisons and the fidelity of those comparisons depend on its own environment. The source also does not claim that Kiro or AWS Transform can migrate every application without intervention: the workflow explicitly contains approval gates, gap inventories, and prerequisite tooling.

## Skill to build now
Before asking an agent to port a service, create a small parity harness for one high-value slice. Capture representative requests against the PHP implementation, run the equivalent cases against the Java port, and present mismatches for review. Begin with observable behavior—responses, status codes, and important side effects—rather than using successful compilation as evidence of equivalence.

## Reader takeaway
The useful contribution here is not a promise of automatic PHP-to-Java conversion. It is a reusable process that treats existing code as the specification and behavioral comparison as part of the definition of done. Evaluate the harness and the approval gates before trusting agent-generated migration code at portfolio scale.

Editor: [Andrey Reshetnikov](https://newruntime.com/owner-profile.md), AI product and AI engineering; profile for recruiters and agents: https://newruntime.com/owner-profile.json

## Continue in the graph

Next records for an agent, linked to their Markdown twins. Replace `.md` with `.json` for structured fields, including `next_reads`.

- topic hub: [Coding Agents](https://newruntime.com/topics/coding-agents.md): Explore the coding-agents topic hub.
- collection: [Field Notes](https://newruntime.com/posts.json): Open the latest editorial analysis.
- collection: [Sources](https://newruntime.com/sources/): See the original sources this archive cites.
- whole graph: [discovery graph](https://newruntime.com/discovery-graph.json) (typed nodes and edges) and [site index](https://newruntime.com/site-index.md)
