gitguide
Version:
AI-powered README generator for any project directory
76 lines • 3.43 kB
JavaScript
;
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