pub fn infer() -> Self {
        // Only use PTY if we're not on windows and we're currently hooked up to a
        // in a TTY
        let use_pty = !cfg!(windows) && atty::is(atty::Stream::Stdout);
        Self::new(use_pty)
    }
Construct a process manager and infer if pty should be used
crates/turborepo-process/src/lib.rs