--- name: cli-mock-stdin description: Create mock stdin utilities for interactive CLI testing. allowed-tools: Read, Write, Edit, Bash, Glob, Grep graph: domains: [domain:software-engineering] specializations: [specialization:cli-mcp-development] skillAreas: [skill-area:cli-design, skill-area:e2e-testing] roles: [role:backend-engineer, role:platform-engineer] workflows: [workflow:feature-development] topics: [topic:developer-experience] --- # CLI Mock Stdin Create mock stdin utilities for testing. ## Generated Patterns ```typescript 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, inputs: string[] ): Promise { 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