scai
Version:
> AI-powered CLI tool for commit messages **and** pull request reviews — using local models.
29 lines (26 loc) • 898 B
JavaScript
import { Config } from '../../config.js';
import { generate } from '../../lib/generate.js';
export const refactorModule = {
name: 'refactor',
description: 'Break code into small, clean functions',
async run(input) {
const model = Config.getModel();
const lang = Config.getLanguage();
const prompt = `
You are a senior ${lang.toUpperCase()} engineer.
Refactor the following code:
- Only split up long and complex functions
- Preserve original names and semantics
- Do NOT insert comments
- Output the full, valid ${lang.toUpperCase()} code
--- CODE START ---
${input.content}
--- CODE END ---
`.trim();
const response = await generate({ content: prompt }, model);
if (!response) {
throw new Error('❌ Model returned empty response for refactoring.');
}
return { content: response.content };
}
};