scai
Version:
> AI-powered CLI tool for commit messages **and** pull request reviews — using local models.
31 lines (28 loc) • 948 B
JavaScript
import { generate } from '../../lib/generate.js';
import { Config } from '../../config.js';
export const commitSuggesterModule = {
name: 'commitSuggester',
description: 'Suggests conventional commit messages from Git diff',
async run({ content }) {
const model = Config.getModel();
const prompt = `
Suggest ALWAYS 3 concise, conventional Git commit messages based on the input code diff.
Use this format ONLY:
1. feat: ...
2. fix: ...
3. refactor: ...
Here is the diff:
${content}
`.trim();
const response = await generate({ content: prompt }, model);
const lines = response.content
.split('\n')
.map(line => line.trim())
.filter(line => /^\d+\.\s+/.test(line));
const suggestions = lines.map(line => line.replace(/^\d+\.\s+/, '').replace(/^"(.*)"$/, '$1').trim());
return {
content,
suggestions
};
}
};