UNPKG

gitmate-cli

Version:

An AI-powered Git assistant that helps you with Git commands using natural language

35 lines (34 loc) 1.3 kB
import inquirer from 'inquirer'; import fs from 'fs'; import path from 'path'; import os from 'os'; const configDir = path.join(os.homedir(), '.config', 'gmate'); const configFile = path.join(configDir, 'config.json'); export async function getOpenAIApiKey() { let apiKey; if (fs.existsSync(configFile)) { const data = JSON.parse(fs.readFileSync(configFile, 'utf-8')); apiKey = data.OPENAI_API_KEY; } if (!apiKey) { const answers = await inquirer.prompt([ { type: 'input', name: 'apiKey', message: 'Your OpenAI key is not set yet, please enter your OpenAI API Key below (you can always change it later in ~/.config/gmate/config.json):', validate: input => input.startsWith('sk-') || 'Must start with sk-', }, ]); apiKey = answers.apiKey; fs.mkdirSync(configDir, { recursive: true }); fs.writeFileSync(configFile, JSON.stringify({ OPENAI_API_KEY: apiKey }, null, 2)); console.log('API key saved successfully.'); } return apiKey; } export function isMockApiModeEnabled() { if (fs.existsSync(configFile)) { const data = JSON.parse(fs.readFileSync(configFile, 'utf-8')); return data.USE_OPENAI_MOCK; } }