Repository navigation
Run other programs, your package.json scripts and a dev loop that restarts on save.
node:child_process:spawn,exec,execFileandspawnSync,execSync,execFileSync(also aschild_process, and throughrequire()). Children run with pipes or the terminal (stdio: "pipe" | "inherit" | "ignore"),cwd,env,shell,input,timeout,killSignal,maxBufferandsignal(AbortSignal).ChildProcesshasstdin/stdout/stderrstreams (data/end,setEncoding,pipe(),for await) andspawn/exit/close/errorevents;util.promisify(exec)resolves to{ stdout, stderr }. Errors match Node's (spawn foo ENOENT,Command failed: …withstatus/code/signal). Exit is tracked with a pidfd, so a running child keeps the event loop alive and costs nothing while it waits.tests/cases/child-process.mjsprints exactly what Node 22 prints.rtn run <script>: runs a"scripts"entry of the nearestpackage.json, likenpm run/bun run:pre<name>/post<name>hooks, extra arguments passed on (quoted),node_modules/.binand rtn itself onPATH, thenpm_package_*/npm_lifecycle_eventvariables, and the script's exit code.rtn runalone lists the scripts.rtn run <file>still runs a file.rtn --watch <file>: restarts the program when a.js/.ts/.json/.envfile in the project changes (inotify;node_modulesand hidden directories skipped, new directories picked up). Works with any command:rtn --watch test,rtn --watch run dev. Ctrl+C or SIGTERM stops the program too..envfiles:.env.local,.env.$NODE_ENVand.envare loaded intoprocess.envbefore your code runs (and passed on to child processes and scripts). Quotes, multi-line values, comments,export, and${VAR}/${VAR:-default}expansion. Variables already in the environment win.--env-file <file>(repeatable) loads other files instead,--no-env-fileturns it off.rtn initasks TypeScript or JavaScript: an arrow-key menu (↑/↓ or j/k,1/2, Enter; Esc or Ctrl+C cancels) picks the template. The JavaScript project hasindex.js,greet.jswith JSDoc types,greet.test.jsand ajsconfig.jsonwithcheckJs.--ts/--js(or-yfor TypeScript) skip the question, and without a terminal — scripts, CI — TypeScript is chosen as before.
Install
curl -fsSL https://byteforgestudiolab.github.io/RunTime-Now/install | bashAlready installed? Run rtn upgrade.

