Skip to content

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

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions