@tirth.s/readme-wizard-cli
v1.0.2
Published
An interactive CLI tool to generate README files for your projects using Google's Gemini AI
Maintainers
Readme
Readme Wizard CLI 🧙♂️
A powerful CLI tool that uses Google's Gemini AI to generate comprehensive, well-structured README files for your projects. Analyzes your project structure and creates beautiful documentation with zero configuration.
🚀 Features
- 🤖 AI-powered README generation using Google's Gemini
- 📊 Automatic project analysis (dependencies, frameworks, testing setup)
- 🏗️ Docker and CI/CD configuration detection
- 🎯 Smart badge generation based on your tech stack
- 🔑 Multiple API key management options
- 🎨 Beautiful, standardized formatting
- 📝 Interactive CLI with customization options
- 💾 Saves configuration for future use
📦 Installation
# Install globally
npm install -g @tirth.s/readme-wizard-cli
# Or run directly with npx
npx @tirth.s/readme-wizard-cli🛠️ Prerequisites
- Node.js >= 18
- Google Gemini API Key (get one for free at AI Studio)
📘 Usage
Basic Usage
Run in your project directory:
readme-wizardThe tool will:
- Analyze your project structure
- Detect frameworks and dependencies
- Prompt for missing information
- Generate a comprehensive README.md
Command Line Options
Usage: readme-wizard [options]
Options:
-V, --version Output the version number
-k, --api-key <key> Google Gemini API key
--clear-config Clear saved configuration including API key
-h, --help Display help
Examples:
$ readme-wizard # Interactive mode
$ readme-wizard -k YOUR_API_KEY # Run with API key
$ readme-wizard --clear-config # Clear saved configurationAPI Key Management
The tool supports multiple ways to provide your Google Gemini API key:
Command Line Flag:
readme-wizard -k YOUR_API_KEYEnvironment Variable:
export GOOGLE_API_KEY=your_api_key readme-wizardInteractive Prompt: Run without a key and you'll be prompted to enter it.
Saved Configuration: The tool can save your API key securely for future use.
Project Analysis
The tool automatically analyzes your project for:
- 📝 Project metadata (name, version, license)
- 🛠️ Dependencies and frameworks
- ⚡ Testing setup and coverage
- 🐳 Docker configuration
- 🔄 CI/CD pipelines
- 📚 Documentation tools
- 🎨 UI libraries
- 🗄️ Database connections
- 📦 State management
- 🌐 API integrations
Generated README Structure
The generated README follows the Standard-README specification and includes:
Title & Description
- Project name and banner
- Concise description
- Status badges
Table of Contents
- Auto-generated
- Collapsible sections
Installation
- Prerequisites
- Step-by-step guide
- Environment setup
Usage
- Basic examples
- Common use cases
- API documentation
Project Architecture
- Structure overview
- Component interaction
- Key features
Development
- Setup guide
- Testing
- Contributing
Maintenance
- Issue reporting
- Troubleshooting
- Support
License & Credits
- License details
- Contributors
- Acknowledgments
💡 Tips & Tricks
Overwriting Existing README:
- The tool will ask before overwriting an existing README
- You can choose to create a new file instead
Project Analysis:
- Run in the root directory of your project
- Make sure package.json is present for best results
API Key Storage:
- Keys are stored in
~/.readme-wizard/config.json - Use
--clear-configto remove stored keys
- Keys are stored in
Badge Generation:
- Automatic framework version detection
- Test status badges if tests exist
- License and version badges from package.json
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
# Clone the repository
git clone https://github.com/tirthshah574/readme-wizard.git
# Install dependencies
cd readme-wizard
npm install
# Make your changes and test
npm test
# Submit a PR📃 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Google Gemini AI for powering the content generation
- Shields.io for the beautiful badges
- All the amazing contributors who help improve this tool
