UNPKG

smart-git-commit

Version:

AI-powered smart commit message generator for Git diffs.

34 lines (30 loc) 938 B
import axios from "axios"; import { getApiKey } from "../utils/getApiKey.js"; import buildPrompt from "./buildPrompt.js"; import { basicCommit } from "./basicCommit.js"; export default async function suggestCommit(fileChanges) { const apiKey = await getApiKey(); try { const prompt = buildPrompt(fileChanges); const response = await axios.post( "https://api.openai.com/v1/chat/completions", { model: "gpt-3.5-turbo", messages: [{ role: "user", content: prompt }], max_tokens: 50, temperature: 0.5, }, { headers: { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json", }, } ); const aiMessage = response.data.choices[0].message.content.trim(); return aiMessage; } catch (err) { console.error("AI Suggestion failed, falling back to basic commit."); return basicCommit(fileChanges); } }