UNPKG

scai

Version:

> AI-powered CLI tool for commit messages **and** pull request reviews — using local models.

38 lines (33 loc) 1.25 kB
import { generate } from '../../lib/generate.js'; import { Config } from '../../config.js'; export const reviewModule = { name: 'review', description: 'Reviews code diff or PR content and provides feedback', async run({ content, filepath }) { const model = Config.getModel(); const prompt = ` Suggest ALWAYS 3 concise suggestions for improvements based on the input code diff. - Use one of these types for each suggestion: style, refactor, bug, docs, test - Keep each message short, clear, and actionable Format your response exactly as: 1. <type>: <message> 2. <type>: <message> 3. <type>: <message> Changes: ${content} `.trim(); const response = await generate({ content: prompt, filepath }, model); // Parse response: only keep numbered lines const lines = response.content .split('\n') .map(line => line.trim()) .filter(line => /^\d+\.\s+/.test(line)); // Remove numbering and any surrounding quotes const suggestions = lines.map(line => line.replace(/^\d+\.\s+/, '').replace(/^"(.*)"$/, '$1').trim()); return { content: response.content, filepath, suggestions }; } };