-
Notifications
You must be signed in to change notification settings - Fork 2.1k
refactor(cli): port start-services.sh to TypeScript #1297
Copy link
Copy link
Closed
Labels
NemoClaw CLIUse this label to identify issues with the NemoClaw command-line interface (CLI).Use this label to identify issues with the NemoClaw command-line interface (CLI).refactorThis is a refactor of the code and/or architecture.This is a refactor of the code and/or architecture.
Description
Summary
Port scripts/start-services.sh (213 lines) to src/lib/services.ts as part of the #924 shell consolidation.
This script manages PID files and starts helper services (cloudflared tunnel, port forwarding) for nemoclaw start. Currently implemented as bash that bin/nemoclaw.js shells out to.
Approach
- Write
src/lib/services.tsusing execa for subprocess execution - Replace the shell-out in
bin/nemoclaw.jswith a direct call to the TS module - PID file management must be preserved (start/stop/status lifecycle)
- Follow the established pattern: TS source in
src/lib/, compiled todist/lib/vianpm run build:cli - Co-locate tests in
src/lib/services.test.ts, importing from../../dist/lib/servicesfor coverage attribution
Context
- Part of refactor(cli): shell consolidation, TypeScript migration & oclif #924 PR 2 scope (port shell scripts to TS)
- No blocker PRs touch this file — safe to proceed immediately
- See refactor(cli): extract pure functions from onboard.js to typed TypeScript modules #1240 and refactor(cli): migrate preflight.js to TypeScript #1262 for the established migration pattern
- Coverage ratchet must pass — add tests, never lower thresholds
Not blocked by
Any of the #924 blocker PRs (#781, #782, #819, #672, #794, #634).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
NemoClaw CLIUse this label to identify issues with the NemoClaw command-line interface (CLI).Use this label to identify issues with the NemoClaw command-line interface (CLI).refactorThis is a refactor of the code and/or architecture.This is a refactor of the code and/or architecture.