Babysitter cli-mock-stdin
Create mock stdin utilities for interactive CLI testing.
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/cli-mcp-development/skills/cli-mock-stdin" ~/.claude/skills/a5c-ai-babysitter-cli-mock-stdin && rm -rf "$T"
manifest:
library/specializations/cli-mcp-development/skills/cli-mock-stdin/SKILL.mdsource content
CLI Mock Stdin
Create mock stdin utilities for testing.
Generated Patterns
import { Readable } from 'stream'; export function mockStdin(inputs: string[]): Readable { let index = 0; return new Readable({ read() { if (index < inputs.length) { setTimeout(() => { this.push(inputs[index++] + '\n'); }, 10); } else { this.push(null); } }, }); } export async function runWithStdin( cmd: () => Promise<void>, inputs: string[] ): Promise<void> { const originalStdin = process.stdin; Object.defineProperty(process, 'stdin', { value: mockStdin(inputs) }); try { await cmd(); } finally { Object.defineProperty(process, 'stdin', { value: originalStdin }); } }
Target Processes
- cli-unit-integration-testing
- interactive-prompt-system