UNPKG

tdd-guard

Version:

Automated Test-Driven Development enforcement for Claude Code

41 lines (40 loc) 1.5 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.run = run; require("dotenv/config"); const processHookData_1 = require("../hooks/processHookData"); const FileStorage_1 = require("../storage/FileStorage"); const validator_1 = require("../validation/validator"); const Config_1 = require("../config/Config"); const ModelClientProvider_1 = require("../providers/ModelClientProvider"); async function run(input, config, storage, provider) { const appConfig = config ?? new Config_1.Config(); const actualStorage = storage ?? new FileStorage_1.FileStorage(appConfig); const modelProvider = provider ?? new ModelClientProvider_1.ModelClientProvider(); const modelClient = modelProvider.getModelClient(appConfig); return (0, processHookData_1.processHookData)(input, { storage: actualStorage, validator: (context) => (0, validator_1.validator)(context, modelClient), }); } // Only run if this is the main module if (require.main === module) { let inputData = ''; process.stdin.setEncoding('utf8'); process.stdin.on('data', (chunk) => { inputData += chunk; }); process.stdin.on('end', async () => { try { const result = await run(inputData); console.log(JSON.stringify(result)); } catch (error) { console.error('Failed to parse hook data:', error); } finally { process.exit(0); } }); }