tdd-guard
Version:
Automated Test-Driven Development enforcement for Claude Code
41 lines (40 loc) • 1.5 kB
JavaScript
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);
}
});
}
;