UNPKG

commit-amt

Version:

AI-powered conventional commit message generator using Together.ai, smart CLI for easy, consistent git commits

69 lines (61 loc) 1.8 kB
const inquirer = require('inquirer'); const chalk = require('chalk'); /** * Prompt user for Together.ai API key * @returns {Promise<{apiKey: string, save: boolean}>} User input */ async function promptForAPIKey() { console.log(chalk.yellow('\n⚠️ Together.ai API key not found')); console.log(chalk.gray('Get your free API key at https://together.ai\n')); const questions = [ { type: 'password', name: 'apiKey', message: 'Enter your Together.ai API key:', validate: input => input.length > 0 ? true : 'API key is required' }, { type: 'confirm', name: 'save', message: 'Save API key for future use?', default: true } ]; return inquirer.prompt(questions); } /** * Ask user to confirm, edit, or cancel the commit message * @returns {Promise<{action: string}>} User action choice */ async function confirmCommitMessage() { const question = { type: 'list', name: 'action', message: 'What would you like to do with this message?', choices: [ { name: chalk.green('✅ Use this message'), value: 'use' }, { name: chalk.blue('✏️ Edit this message'), value: 'edit' }, { name: chalk.red('❌ Cancel commit'), value: 'cancel' } ] }; return inquirer.prompt(question); } /** * Prompt user to edit the commit message * @param {string} suggestedMessage - The suggested commit message * @returns {Promise<{editedMessage: string}>} Edited message */ async function editCommitMessage(suggestedMessage) { const question = { type: 'input', name: 'editedMessage', message: 'Edit the commit message:', default: suggestedMessage }; return inquirer.prompt(question); } module.exports = { promptForAPIKey, confirmCommitMessage, editCommitMessage };