build(packaging): Remove .egg-info build artifacts
This commit removes the entire `devgen_cli.egg-info` directory and its contents from the repository. This cleanup is part of streamlining the project's packaging and build process, as `.egg-info` directories typically contain transient metadata generated during package installation or building, and are generally not intended to be version controlled.
* **Enhancements & Refinements**
* Deleted the `devgen_cli.egg-info` directory, which contained build-time metadata.
* Removed `PKG-INFO`, `SOURCES.txt`, `dependency_links.txt`, `entry_points.txt`, `requires.txt`, and `top_level.txt`.
* Improved project hygiene by no longer tracking generated packaging metadata in version control.
* Streamlined project build artifacts, potentially reflecting a modernization of the packaging setup.
This commit is contained in:
6 files changed
-361
No files matched your search
@@ -1,299 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
LICENSE
|
|
||||||
MANIFEST.in
|
|
||||||
README.md
|
|
||||||
pyproject.toml
|
|
||||||
setup.py
|
|
||||||
devgen/__init__.py
|
|
||||||
devgen/ai.py
|
|
||||||
devgen/utils.py
|
|
||||||
devgen/cli/__init__.py
|
|
||||||
devgen/cli/changelog.py
|
|
||||||
devgen/cli/commit.py
|
|
||||||
devgen/cli/config.py
|
|
||||||
devgen/cli/gitignore.py
|
|
||||||
devgen/cli/license.py
|
|
||||||
devgen/cli/main.py
|
|
||||||
devgen/cli/release.py
|
|
||||||
devgen/cli/setup.py
|
|
||||||
devgen/modules/__init__.py
|
|
||||||
devgen/modules/changelog_generator.py
|
|
||||||
devgen/modules/commit_generator.py
|
|
||||||
devgen/modules/gitignore_generator.py
|
|
||||||
devgen/modules/license_generator.py
|
|
||||||
devgen/modules/release_note_generator.py
|
|
||||||
devgen/providers/__init__.py
|
|
||||||
devgen/providers/anthropic.py
|
|
||||||
devgen/providers/gemini.py
|
|
||||||
devgen/providers/huggingface.py
|
|
||||||
devgen/providers/openai.py
|
|
||||||
devgen/providers/openrouter.py
|
|
||||||
devgen/templates/commit/commit_message.j2
|
|
||||||
devgen/templates/licenses/agpl-3.0.json
|
|
||||||
devgen/templates/licenses/apache-2.0.json
|
|
||||||
devgen/templates/licenses/bsd-2-clause.json
|
|
||||||
devgen/templates/licenses/bsd-3-clause.json
|
|
||||||
devgen/templates/licenses/bsl-1.0.json
|
|
||||||
devgen/templates/licenses/cc0-1.0.json
|
|
||||||
devgen/templates/licenses/epl-2.0.json
|
|
||||||
devgen/templates/licenses/gpl-2.0.json
|
|
||||||
devgen/templates/licenses/gpl-3.0.json
|
|
||||||
devgen/templates/licenses/lgpl-2.1.json
|
|
||||||
devgen/templates/licenses/mit.json
|
|
||||||
devgen/templates/licenses/mpl-2.0.json
|
|
||||||
devgen/templates/licenses/unlicense.json
|
|
||||||
devgen_cli.egg-info/PKG-INFO
|
|
||||||
devgen_cli.egg-info/SOURCES.txt
|
|
||||||
devgen_cli.egg-info/dependency_links.txt
|
|
||||||
devgen_cli.egg-info/entry_points.txt
|
|
||||||
devgen_cli.egg-info/requires.txt
|
|
||||||
devgen_cli.egg-info/top_level.txt
|
|
||||||
Whitespace-only changes.
@@ -1,2 +0,0 @@
|
|||||||
[console_scripts]
|
|
||||||
devgen = devgen.cli.main:app
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
anthropic>=0.75.0
|
|
||||||
google-generativeai>=0.8.5
|
|
||||||
jinja2>=3.1.6
|
|
||||||
openai>=2.11.0
|
|
||||||
pyyaml>=6.0.3
|
|
||||||
questionary>=2.1.1
|
|
||||||
requests>=2.32.5
|
|
||||||
rich>=14.2.0
|
|
||||||
toml>=0.10.2
|
|
||||||
typer>=0.20.0
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
devgen
|
|
||||||
Reference in new issue
Block a user