UNPKG

gitguide

Version:

AI-powered README generator for any project directory

76 lines 3.43 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const chalk_1 = __importDefault(require("chalk")); const config_1 = require("./commands/config"); const generate_1 = require("./commands/generate"); const config_2 = require("./utils/config"); const program = new commander_1.Command(); program .name('gitguide') .description('AI-powered README generator for any project directory') .version('1.0.0'); program .command('config') .description('Set your Gemini API key') .action(async () => { try { await (0, config_1.setApiKey)(); } catch (error) { console.error(chalk_1.default.red('Error setting API key:'), error); process.exit(1); } }); program .command('generate') .alias('gen') .description('Generate README.md for current directory') .option('-d, --directory <path>', 'Target directory (default: current directory)', '.') .option('-o, --output <filename>', 'Output filename (default: README.md)', 'README.md') .option('--force', 'Overwrite existing README.md', false) .action(async (options) => { try { // Check if API key is configured if (!await (0, config_2.checkApiKey)()) { console.log(chalk_1.default.yellow('⚠️ Gemini API key not found.')); console.log(chalk_1.default.blue('ℹ️ Run'), chalk_1.default.cyan('gitguide config'), chalk_1.default.blue('to set your API key first.')); process.exit(1); } await (0, generate_1.generateReadme)(options); } catch (error) { console.error(chalk_1.default.red('Error generating README:'), error); process.exit(1); } }); program .command('help') .description('Show help information') .action(() => { console.log(chalk_1.default.blue.bold('\n🚀 GitGuide - AI README Generator\n')); console.log(chalk_1.default.white('Available commands:\n')); console.log(chalk_1.default.cyan(' gitguide config'), ' Set your Gemini API key'); console.log(chalk_1.default.cyan(' gitguide generate'), ' Generate README for current directory'); console.log(chalk_1.default.cyan(' gitguide gen'), ' Alias for generate'); console.log(chalk_1.default.cyan(' gitguide help'), ' Show this help message'); console.log(chalk_1.default.white('\nOptions for generate:')); console.log(chalk_1.default.gray(' -d, --directory <path>'), ' Target directory (default: current)'); console.log(chalk_1.default.gray(' -o, --output <filename>'), ' Output filename (default: README.md)'); console.log(chalk_1.default.gray(' --force'), ' Overwrite existing README.md'); console.log(chalk_1.default.white('\nExamples:')); console.log(chalk_1.default.gray(' gitguide generate')); console.log(chalk_1.default.gray(' gitguide gen -d ./my-project')); console.log(chalk_1.default.gray(' gitguide gen --output DOCUMENTATION.md --force')); console.log(chalk_1.default.blue('\nGet your Gemini API key at: https://makersuite.google.com/app/apikey\n')); }); // Default action program.action(() => { program.help(); }); program.parse(); //# sourceMappingURL=cli.js.map