Skip to content

chore(start): migrate src/start from JavaScript to TypeScript #502

@JustAGhosT

Description

@JustAGhosT

Summary

The /start TUI (src/start/) is currently written in plain JavaScript (.jsx, .js). It should be migrated to TypeScript for consistency with the project's type-safety rules.

Motivation

  • All new code follows strict: true TypeScript per .claude/rules/languages/typescript.md
  • src/start/ was bootstrapped quickly with Ink/React JSX before the TS rule was enforced
  • Type errors are currently caught by JSDoc @typedef annotations in some files but not others
  • Moving to .tsx/.ts enables IDE autocomplete, cross-file refactoring, and compile-time bug detection

Scope

src/start/components/*.jsx  → *.tsx
src/start/lib/*.js          → *.ts
src/start/index.js          → index.ts

Add tsconfig.json for src/start/ (or extend root tsconfig).
Update vitest.config.* to handle .tsx/.ts imports.

Acceptance Criteria

  • All .jsx.tsx with explicit prop types (no any)
  • All .js lib files → .ts with explicit return types
  • strict: true — zero type errors
  • All 156 existing tests pass without modification
  • CI passes (lint + typecheck + tests)

Related

  • JSDoc typedefs to promote: src/start/lib/worktrees.js:14, src/start/lib/tasks.js:13
  • Coverage must not decrease (qa-coverage-threshold rule)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions