← Track projects
Track project · 04

Migrate TaskFlow Lite to TypeScript

Move the working JavaScript TaskFlow Lite into TypeScript without hiding the runtime boundaries.

Definition of done

What you are building

Deliverables

Build plan

Work through it one observable step at a time

  1. 01

    Enable strict TypeScript settings.

  2. 02

    Define the smallest useful `Task` and `TaskStatus` types from actual runtime data.

  3. 03

    Migrate functions one at a time and remove implicit `any`.

  4. 04

    Represent loading/success/error UI state as a discriminated union.

  5. 05

    Use `unknown` for parsed or external data and narrow before access.

  6. 06

    Add Zod at one real runtime boundary and compare it with TypeScript-only safety.

  7. 07

    Add an exhaustiveness check to one state switch.

  8. 08

    Run typecheck, then intentionally create three type errors and explain each diagnostic.

Evidence

Do not rely on “it seems to work”

Evidence to collect

Project exit ticket

Close the project only when these are true

Completion