Skip to content

Migration Playbook

Do not start migration by replacing syntax line-by-line. Start by checking whether the code shape fits Go-first semantics.

Good first targets

  • business logic
  • data processing
  • CLI and backend workflows
  • code that already feels synchronous or explicit

Harder targets

  • heavy Promise / async flows
  • browser API-heavy code
  • code built around dynamic JS object behavior

Suggested order

  1. adjust data models and error flow
  2. choose slice<T> vs Array<T>
  3. redesign async workflows into goroutines/channels or synchronous Go-style APIs
  4. convert tests to testing.T / testing.B
  5. rerun targo init, targo check, and targo build at each boundary