成为赞助商——支持中文 Agent 生态

了解赞助
库Agent场景库
← 返回用例列表

Jones:单次 Claude Code 会话把 Laravel 应用迁到自研 PHP 框架——约 8 小时、148 测

个人;披露单会话约 8 小时墙钟、3 个 Packagist 包(30/46/35 测)+ goformx-web(37 PHP 测等)合计 148 测全绿;结构完成但未宣称生产就绪。

DeepSeekClaudeChatGPTGitHub⚡ 效率办公🛠️ 开发者工具

场景说明

面向已有详细迁移规格、想用 TDD 反馈环驱动代理迁框架的独立开发者:把「先写规格 + 可验证技能流水线」写成门禁,区别于 SST→单体与产品迁移 setup 票。

案例叙事

01他们做了什么

作者 jonesrussell 在 DEV《I Migrated a Laravel App to a Custom PHP Framework in One Claude Code Session》(JSON-LD datePublished 2026-03-23T23:30:22Z → 2026-03-23)写明:GoFormX 要 dogfood 自研 Waaseyaa,前端离开 Laravel 12/Inertia v2;真正前提不是「让模型自由发挥」,而是迁移设计文档已写清每条路由、实体字段与 API,再把 laravel-to-waaseyaa 技能收成可验证流水线。

单会话约 8 小时产出 3 个已发 Packagist 的框架包与完整应用脚手架,合计 148 测全绿;调试靠读 Inertia v3 源码、FPM 环境与 MariaDB 旁路等具体坑,而不是空喊一键迁移。Playwright MCP 验了登录闭环,作者仍列出生产前清单。

本场景据此输出「规格+TDD 技能迁框架」提纲。禁止把 148 测写成对客 SLA,或忽略作者「未生产就绪」声明。

02实际效果

  • 源披露单会话约 8 小时、三包测试 30/46/35、应用侧 37 PHP 测等合计 148 测全绿、以及「结构完成但未生产就绪」等作者口径;属单一个人产品窗口,不可外推为你的上线质量、安全审计或「任意 Laravel 仓一天可换框架」。
  • 能把「多会话边想边迁」与「先写规格 + 红灯测试反馈环 + 增量提交」拆开。
  • 为把白屏当「框架不行」、以及未测 Stripe/webhook 就宣称可收款提供提问清单。

03值得知道

  • 作者明确剩余 Form.io、Stripe webhook、资料更新接线、vault 密钥与 7 日 cutover。
  • Waaseyaa 为作者自研框架;技能绑定其约定,不能直接当通用 Laravel 卸载器。
  • 上面写的是 jonesrussell 个人实践帖,不是 Laravel/Inertia 官文。

04可复制提示词

规格驱动的框架迁栈技能简报

你是 PHP 迁栈顾问。只根据用户已有规格写技能流水线,不要编造已通过的测试数。

源栈:{{from_stack}}
目标框架边界:{{to_stack}}
规格摘要(路由/实体/API):{{spec}}
必须保留的外部系统:{{external}}

输出 Markdown:
1. 包/应用拆分与 Packagist/CI 边界
2. Scaffold→红灯测试→实现→Wire→Verify 步骤与每步验收物
3. 浏览器/E2E 最小清单
4. 人必须保留的生产密钥与 cutover 决策
禁止声称单会话等于可对客;禁止伪造「148 测保证」。

迁栈后白屏或 HMAC 空密钥复盘提纲

页面白屏或与后端签名校验失败。请写复盘提纲。

现象:{{symptom}}

输出:
1. 协议字段(如 Inertia data-page)、进程环境继承,还是数据层旁路错误
2. 最小修补与回归夹具
3. 下次验收标准
4. 人工确认清单
不要伪造「更多测试文件等于生产就绪」。

怎么做

  1. 粘贴目标框架边界、已有迁移规格(路由/实体/API)、以及必须保留的外部系统(如 Go API HMAC)
  2. Agent 按实践帖输出:包级 scaffold→红灯测试→实现→接线→全量验证的技能步骤,以及 Playwright/浏览器验收清单
  3. 人工保留生产密钥与 cutover;Agent 不代你声称「单会话等于可对客上线」

实用提示

  • 源帖(JSON-LD datePublished 2026-03-23T23:30:22Z → 2026-03-23):作者 jonesrussell(Russell Jones)把 GoFormX 前端从 Laravel 12 + Inertia v2 + Vue 3 迁到自研 Waaseyaa PHP 框架(Go API 仍管表单提交)。规格与三个新包(waaseyaa/inertia、auth、billing)原计划多会话,结果单次 Claude Code 会话约 8 小时墙钟完成:Inertia v3 适配 30 测、无外置库 TOTP 等的 auth 46 测、Stripe billing 35 测,以及 goformx-web(7 控制器、37 PHP 单测、28 Vue 页、24 shadcn-vue 目录、9 Twig SSR、5 MariaDB migration、6 服务 Docker Compose、GH Actions、Ansible)——合计 148 测。关键是可复用技能 laravel-to-waaseyaa:Scaffold→TDD→Wire→Verify→Deploy。硬坑:MariaDB 用户与框架 SQLite 实体层用 PDO UserRepository 旁路;Inertia v3 要 data-page="app" 而非 v2 的 true;PHP-FPM 默认清环境须 clear_env=no 并用 getenv()。Playwright MCP 验过登录到仪表盘;作者明确:结构完成但未生产就绪(Form.io、Stripe webhook、资料更新 POST、Ansible vault、7 日信心期 cutover 仍待)。
  • 与 khal-tessellai-serverless-to-monolith-claude / karthik-claude-setup-product-migration 不同:本条是个人表单 SaaS 从 Laravel 到自研 PHP 框架的单会话 TDD 迁栈,不是 SST 后端改单体或约 50 票产品迁移 setup
#Laravel#PHP#TDD#Inertia#Claude Code