← ClaudeAtlas

namht-rails-to-springlisted

Port a service (or a chosen set of endpoints) from one language/stack to another while PRESERVING its contract and business behavior — e.g. Ruby on Rails + GraphQL → Java Spring Boot. Contract-first and parity-verified: freeze the contract, extract the business behavior from the source with parallel multi-lens agents, capture golden/shadow tests of the real responses, re-implement on the target stack, and prove byte-for-byte parity with an INDEPENDENT reviewer before cutover — endpoint by endpoint (strangler). Use when the user says "/port", "migrate to another language", "rewrite in <language>", "Rails to Spring", "port these resolvers/APIs". Edits code — change discipline applies.
NamHT4Devlop/nam-claude-skill · ★ 0 · AI & Automation · score 72
Install: claude install-skill NamHT4Devlop/nam-claude-skill
# namht-rails-to-spring — behavior-preserving cross-stack port (parity-verified, multi-agent) Distinct from `/namht-migrate` (which evolves a contract **in place**, same codebase). This is a **rewrite onto a different stack that must behave identically** — clients must not notice. Every endpoint answers one question: *"does the new implementation return exactly what the old one did, with the same side effects?"* **The oracle is executable, not opinion.** Correctness is decided by **golden/shadow tests** — real recorded source responses that the new code must reproduce. **Agents assist** (multi-lens extraction to not miss rules; an independent reviewer to catch divergence) but **tests decide**. Never let "the agents agreed" stand in for a passing parity test. **Default target profile (this project):** Spring Boot · **MyBatis** (SQL-first, not JPA) · Flyway · Camel · SQS · MySQL, sharing the **same database** as the source. GraphQL on Java via **Spring for GraphQL** (or Netflix DGS). Confirm at step 0. ## Ground rules - **Contract frozen.** Port the GraphQL schema 1:1 and the chosen REST contracts exactly; a **diff proves** it (types, nullability, enums, pagination, status codes, JSON shape). - **Behavior parity is the acceptance bar.** An endpoint is done only when its **golden/shadow tests pass** — happy, edge, error, and auth-denied — AND its **side effects** match. - **Author ≠ reviewer.** Whoever writes the Java does NOT sign off parity. A separate, adversarial r