UNPKG

gitguide

Version:

AI-powered README generator for any project directory

57 lines 2.43 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.setApiKey = setApiKey; const inquirer_1 = __importDefault(require("inquirer")); const chalk_1 = __importDefault(require("chalk")); const config_1 = require("../utils/config"); async function setApiKey() { console.log(chalk_1.default.blue.bold('\n🔧 GitGuide Configuration\n')); const currentConfig = await (0, config_1.getConfig)(); if (currentConfig.apiKey) { console.log(chalk_1.default.green('✓ Current API key:'), chalk_1.default.gray('*'.repeat(20) + currentConfig.apiKey.slice(-8))); const { shouldUpdate } = await inquirer_1.default.prompt([ { type: 'confirm', name: 'shouldUpdate', message: 'Do you want to update your API key?', default: false } ]); if (!shouldUpdate) { console.log(chalk_1.default.blue('ℹ️ Configuration unchanged.')); return; } } console.log(chalk_1.default.white('Get your Gemini API key at:'), chalk_1.default.cyan('https://makersuite.google.com/app/apikey')); console.log(chalk_1.default.gray('Your API key will be stored locally and never shared.\n')); const { apiKey } = await inquirer_1.default.prompt([ { type: 'password', name: 'apiKey', message: 'Enter your Gemini API key:', validate: (input) => { if (!input.trim()) { return 'API key is required'; } if (input.length < 20) { return 'API key seems too short. Please check and try again.'; } return true; }, mask: '*' } ]); try { await (0, config_1.saveConfig)({ apiKey: apiKey.trim() }); console.log(chalk_1.default.green('\n✅ API key saved successfully!')); console.log(chalk_1.default.blue('ℹ️ You can now run'), chalk_1.default.cyan('gitguide generate'), chalk_1.default.blue('to create README files.')); } catch (error) { console.error(chalk_1.default.red('\n❌ Failed to save API key:'), error); throw error; } } //# sourceMappingURL=config.js.map