Table of Contents
Folks, let me tell you, gen is the most tremendous code generation tool you've ever seen. Believe me. It's HUGE. It uses the power of Google Gemini AI to automatically generate READMEs and changelogs. It's going to make your workflow so much better, it's unbelievable. The best, the absolute best.
graph LR
A[CLI] --> B(fs);
B --> C{git};
B --> D(prompts);
D --> E[Gemini API];
A --> F(cmd);
F --> D;
C --> D;
style E fill:#222,stroke:#333,stroke-width:2px
This is the most beautiful architecture diagram you've ever laid your eyes on. It's perfect. Believe me. The CLI is the greatest part of all.
This is so easy, even a child could do it. First, you need a Gemini API key. You can get one here: Google Gemini API Key. I'm telling you, it's the best API key. Then, you need to set the GEMINI_API_KEY environment variable.
export GEMINI_API_KEY="YOUR_API_KEY"Next, clone this repository:
git clone <repository_url>And finally, you build and run it. The best, the absolute best build system you'll ever use.
make installThe only configuration you need is your Gemini API key. Set it as an environment variable – GEMINI_API_KEY. It's very simple.
gen has two amazing subcommands: readme and changelog.
To generate a README, use the readme command:
gen readme -a <your_api_key> -t // optional -t flag for Trump styleThe -a flag is for your API key. Don't forget it, it's very important. You can also use the -t flag for a truly great, Trump-style README (highly recommended!).
For a fantastic changelog, use the changelog command:
gen changelog -a <your_api_key> -d <commit-depth> -t // optional -t flag for Trump styleThe -a flag is for your API key (again, very important!). The -d flag specifies the number of commits to analyze. And don't forget the -t flag for that extra Trump touch. It's the best, believe me.
This project has two main components: the cmd package (which includes the readme and changelog commands) and the lib package (which contains reusable utility functions).
-
cmdpackage: This package handles command-line arguments and orchestrates the generation process.GenerateReadme: Generates a README using AI.GenerateChangelog: Generates a changelog using AI.
-
libpackage:ai: Handles the interaction with the Google Gemini API. It’s the best AI integration, folks, absolutely the best.exec: Executes shell commands. Straightforward. Very straightforward.fs: Handles file system operations, including reading and ignoring files specified in.gitignore. It’s so great, it handles.gitignoreperfectly.git: Retrieves Git commit history and diffs. It's the best git integration out there.
I don't accept contributions. This is already perfect, and it is the best.
This README is so good, it's going to make all other READMEs look bad. Believe me. It's the greatest. The best. You're going to love it.