Skip to content

EFFECT-TS-002: Convert fileCheckers.ts to @effect/platform FileSystem #557

Description

@timbrinded

Parent Epic

#555

Milestone

1 — Foundation Services

Summary

Convert fileCheckers.ts from callback-based file I/O to @effect/platform FileSystem with typed errors.

Problem

  • checkExists() mixes file I/O with architecture validation
  • getBinaryArchitecture() uses callback-based file reading for binary header inspection
  • downloadBinsIfMissing() interleaves interactive prompts, file I/O, and subprocess invocation with untyped error handling
  • @effect/platform FileSystem is already in the dependency tree but unused here

Scope

  • Convert checkExists to use FileSystem.exists + FileSystem.access
  • Convert getBinaryArchitecture to use FileSystem.readFileString or FileSystem.read
  • Create FileCheckError, BinaryArchitectureError tagged error types
  • Convert downloadBinsIfMissing to Effect.gen with proper error channel

Files

  • Modify: src/cli/internal/fileCheckers.ts

Depends On

Nothing — can start immediately.

Size

S (~150 LOC removed, ~100 LOC added)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    EFFECT-TSEffect-TS migration of CLI orchestration layer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions