Step 01 of 10 2-3 weeks· advanced
Step 1: Audit the WinForms App
Inventory every form, local-resource dependency, and single-user assumption. WinForms apps hide a lot in code-behind and stored procs.
Recommended prompts
Use one of these to do the work in your IDE
Open the template to read it in full. Click Copy prompt to grab it (with your stack values pre-filled where they apply) — then paste into Claude Code, Cursor, or wherever you build.
Recommended skills
Drop these into Claude Code for this phase
Skills auto-trigger on the right kind of request. Install once; they apply to every prompt that fits.
Recommended MCP configs
Wire these tools into Claude Code first
MCP servers give Claude Code direct access to external systems (Jira, browsers, databases). Configure once.
When you're done
Verify these in your own work before moving on
This is a checklist for you to mentally tick off in your repo and IDE — the site doesn't track it, you do.
- Audit document at /docs/migration/audit.md
- Form inventory: every form, its purpose, user role, complexity
- Local-resource dependencies catalogued (files, registry, COM, printers)
- Single-user assumptions identified (concurrency hot spots)
- Modal-dialog patterns identified (which workflows depend on blocking UI)
- Background work catalogued (threads, timers, scheduled tasks within the app)
- Reporting / printing requirements documented
Common pitfalls
What goes wrong at this step
- Underestimating form count — "we have 50 forms" usually turns out to be 200 when you actually count user controls too
- Missing user controls — .ascx-style controls are reused across forms and easy to overlook
- Ignoring keyboard shortcuts and power-user flows — desktop users build muscle memory; web app must replicate or have a transition plan
- Skipping the printing audit — printing is often more complex than realized (custom drivers, label printers, multi-tray printers)