Files
DevGen/devgen_cli.egg-info/PKG-INFO
T
sankalp 7f6b247b40 feat(cli): Introduce AI-powered developer toolkit
Release v0.2.1 of DevGen CLI, a comprehensive toolkit automating common Git and project management tasks through AI. This initial packaging defines the project's metadata and a wide array of developer-centric features.

*   **New Features**
    *   **AI-Powered Commit Messages:** Automatically generate semantic commit messages based on staged changes, adhering to Conventional Commits format.
    *   **Changelog Generation:** Create detailed changelogs from Git history, with categories for BREAKING CHANGES, Features, Bug Fixes, Documentation, and Other Changes.
    *   **Release Note Generation:** Produce structured release notes from Git history, ready for publication.
    *   **Gitignore File Generation:** Generate `.gitignore` files by selecting from GitHub's official templates, supporting interactive selection, multiple templates, and offline mode.
    *   **License File Generation:** Interactively generate various open-source license files (e.g., MIT, Apache-2.0, GPL-3.0), customizable with author name and year.
    *   **Multi-Provider AI Support:** Seamless integration with leading AI providers including Gemini, OpenAI, Anthropic, HuggingFace, and OpenRouter.

*   **Enhancements & Refinements**
    *   **Unified CLI:** Provides a single command-line interface for all development automation tools.
    *   **Interactive Configuration:** Simple setup process for AI providers, models, and API keys via `devgen setup config`, stored persistently in `~/.devgen.yaml`.
    *   **Flexible Commit Workflow:** Offers options for dry runs, direct commits, automatic pushes, and force rebuilding of AI-generated commit messages.
    *   **Commit Caching:** Includes commands to list and clear cached commit messages for improved workflow.
    *   **Detailed Command Reference:** Comprehensive documentation for all `devgen` commands and their specific options.
    *   **Project Metadata:** Updated `PKG-INFO` with project summary, homepage, author details, license, keywords, classifiers, and Python requirements.
    *   **Dependency Management:** Specifies required Python packages including `anthropic`, `google-generativeai`, `openai`, `typer`, and `rich`.
    *   **Python 3.10+ Compatibility:** Ensures support for modern Python environments.
2025-12-12 18:56:25 +05:45

300 lines
7.7 KiB
Plaintext

Metadata-Version: 2.4
Name: devgen-cli
Version: 0.2.1
Summary: A collection of developer tools
Home-page: https://github.com/S4NKALP/devgen
Author: Sankalp Tharu
Author-email: Sankalp Tharu <sankalptharu50028@gmail.com>
License: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/S4NKALP/devgen
Keywords: devgen,cli,git,changelog,gitignore,license,commit-generator,commit
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: anthropic>=0.75.0
Requires-Dist: google-generativeai>=0.8.5
Requires-Dist: jinja2>=3.1.6
Requires-Dist: openai>=2.11.0
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: questionary>=2.1.1
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=14.2.0
Requires-Dist: toml>=0.10.2
Requires-Dist: typer>=0.20.0
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python
# DevGen
<div align="center">
<img src="https://img.shields.io/pypi/v/devgen?color=blue&label=PyPI&logo=pypi&logoColor=white" alt="PyPI">
<img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white" alt="Python">
<a href="https://github.com/S4NKALP/devgen/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-GPL--3.0--or--later-blue.svg" alt="License"></a>
</div>
**DevGen** is an AI-powered developer toolkit that automates common Git and project management tasks. Generate semantic commit messages, changelogs, release notes, `.gitignore` files, and licenses—all from a single unified CLI.
## ✨ Features
- 🚀 **AI-Powered Commit Messages** - Automatically generate semantic commit messages from your staged changes using AI
- 📝 **Changelog Generation** - Create changelogs from git history using conventional commits
- 🚀 **Release Notes** - Generate clean, emoji-enhanced release notes for your releases
- 🙈 **Gitignore Templates** - Generate `.gitignore` files from GitHub's official templates
- 📄 **License Generation** - Quickly generate open source licenses with interactive setup
- ⚙️ **Multi-Provider AI Support** - Works with Gemini, OpenAI, Anthropic, HuggingFace, and OpenRouter
## 📦 Installation
```bash
# Stable release from PyPI
pip install devgen-cli
# Using pipx (recommended for isolated CLI)
pipx install devgen-cli
# Using uv (fast Python package manager)
uv tool install devgen-cli
```
## 🚀 Quick Start
### 1. Initial Setup
Configure your AI provider and API key:
```bash
devgen setup config
```
This will create a configuration file at `~/.devgen.yaml` with your preferred AI provider, model, and API key.
### 2. Generate Commit Messages
Stage your changes and let DevGen generate semantic commit messages:
```bash
# Dry run to preview commit messages
devgen commit run --dry-run
# Actually commit with AI-generated messages
devgen commit run
# Commit and automatically push
devgen commit run --push
# Force regeneration of commit messages
devgen commit run --force-rebuild
```
**How it works:**
- DevGen detects all staged and unstaged changes
- Groups files by directory
- Generates semantic commit messages for each group using AI
- Follows [Conventional Commits](https://www.conventionalcommits.org/) format
**Additional commit commands:**
```bash
# View cached commit messages
devgen commit list-cached
# Clear the commit cache
devgen commit clear-cache
# Check what files are staged
devgen commit validate
```
### 3. Generate Changelogs
Create changelogs from your git history:
```bash
# Generate changelog from last tag to HEAD
devgen changelog generate
# Generate from a specific reference
devgen changelog generate --from v1.0.0
# Output to a custom file
devgen changelog generate --output CHANGES.md
```
The changelog follows Semantic Release conventions, categorizing commits into:
- **BREAKING CHANGES**
- **Features**
- **Bug Fixes**
- **Documentation**
- **Other Changes**
### 4. Generate Release Notes
Create release notes for your releases:
```bash
# Generate release notes
devgen release notes --version 1.4.0
# Custom output file
devgen release notes --version 1.4.0 --output RELEASE.md
# From a specific reference
devgen release notes --version 1.4.0 --from v1.3.0
```
### 5. Generate .gitignore Files
Create `.gitignore` files from GitHub templates:
```bash
# Interactive mode (search and select templates)
devgen gitignore generate
# Specify templates directly
devgen gitignore generate Python Node Docker
# List available templates
devgen gitignore list
# Use cached templates (offline mode)
devgen gitignore generate --offline Python
```
**Options:**
- `--append` / `--overwrite` - Append to or overwrite existing `.gitignore`
- `--output` - Specify output file path (default: `.gitignore`)
- `--offline` - Use only cached templates
### 6. Generate Licenses
Generate open source licenses interactively:
```bash
devgen license generate
```
This will:
1. Show available licenses (MIT, Apache-2.0, GPL-3.0, etc.)
2. Prompt for author name
3. Prompt for year (defaults to current year)
4. Generate the license file
**Available licenses:**
- MIT
- Apache-2.0
- GPL-2.0, GPL-3.0
- LGPL-2.1
- AGPL-3.0
- BSD-2-Clause, BSD-3-Clause
- MPL-2.0
- EPL-2.0
- BSL-1.0
- CC0-1.0
- Unlicense
## ⚙️ Configuration
Configuration is stored in `~/.devgen.yaml`. You can edit it manually or use the interactive setup:
```bash
devgen setup config
```
**Configuration options:**
- `provider` - AI provider: `gemini`, `openai`, `anthropic`, `huggingface`, or `openrouter`
- `model` - Model name (e.g., `gemini-2.5-flash`, `gpt-4`, `claude-3-opus`)
- `api_key` - Your API key
- `emoji` - Enable/disable emojis in commit messages (default: `true`)
## 📋 Command Reference
### Commit Commands
```bash
devgen commit run [--dry-run] [--push] [--debug] [--force-rebuild]
devgen commit validate
devgen commit list-cached
devgen commit clear-cache
```
### Changelog Commands
```bash
devgen changelog generate [--output FILE] [--from REF]
```
### Release Commands
```bash
devgen release notes [--version VERSION] [--output FILE] [--from REF]
```
### Gitignore Commands
```bash
devgen gitignore generate [TEMPLATES...] [--output FILE] [--append/--overwrite] [--offline]
devgen gitignore list [--cached]
```
### License Commands
```bash
devgen license generate [--output FILE]
```
### Setup Commands
```bash
devgen setup config
```
## 🎯 Use Cases
- **Automated Commit Workflow**: Let AI analyze your changes and generate meaningful commit messages
- **Release Preparation**: Automatically generate changelogs and release notes from git history
- **Project Setup**: Quickly add `.gitignore` and license files to new projects
- **CI/CD Integration**: Use in scripts to automate documentation generation
## 🔧 Requirements
- Python 3.10 or higher
- Git repository (for commit/changelog/release features)
- API key for your chosen AI provider
## 📝 License
This project is licensed under the GPL-3.0-or-later License - see the [LICENSE](LICENSE) file for details.
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## 📚 Links
- **Homepage**: [https://github.com/S4NKALP/devgen](https://github.com/S4NKALP/devgen)
- **PyPI**: [https://pypi.org/project/devgen](https://pypi.org/project/devgen)
## 🙏 Acknowledgments
- Uses GitHub's official [gitignore templates](https://github.com/github/gitignore)
- Follows [Conventional Commits](https://www.conventionalcommits.org/) specification