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
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)
Summary
The
/startTUI (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
strict: trueTypeScript per.claude/rules/languages/typescript.mdsrc/start/was bootstrapped quickly with Ink/React JSX before the TS rule was enforced@typedefannotations in some files but not others.tsx/.tsenables IDE autocomplete, cross-file refactoring, and compile-time bug detectionScope
Add
tsconfig.jsonforsrc/start/(or extend root tsconfig).Update
vitest.config.*to handle.tsx/.tsimports.Acceptance Criteria
.jsx→.tsxwith explicit prop types (noany).jslib files →.tswith explicit return typesstrict: true— zero type errorsRelated
src/start/lib/worktrees.js:14,src/start/lib/tasks.js:13