Metadata-Version: 2.4
Name: devgen-cli
Version: 0.2.4
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">

> **Your AI Powerhouse for Git & Project Management.**
> Stop wasting time on repetitive tasks. Automate your commits, changelogs, and project essentials with a single CLI.
>
> PyPI didn't allow the original name, so you'll find it as **devgen-cli** on PyPI

<a href="https://pypi.org/project/devgen-cli"><img src="https://img.shields.io/pypi/v/devgen-cli?color=blue&label=PyPI&logo=pypi&logoColor=white" alt="PyPI"></a>
<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** isn't just another CLI tool it's your development workflow on steroids. By leveraging state of the art AI models, DevGen turns tedious manual tasks into one click magic. From semantic commit messages to comprehensive release notes, DevGen handles the boring stuff so you can focus on building.

## ⚡ Why DevGen?

**🧠 AI Brain**
Semantic, context-aware commit messages powered by Gemini, OpenAI, Claude, HuggingFace, and OpenRouter. It reads your diffs, identifies project manifests, and understands your code.

**🚀 Battle Tested**
Generates **Conventional Commits** and **Semantic Versioning** compliant changelogs that actually make sense.

**⚡ Lightning Fast**
Smart caching and async operations mean you never wait longer than necessary.

**Project Essentials**
Quickly add `.gitignore` and license files to your existing projects. Access cached templates instantly, even without internet.

**🛠️ Zero Friction**
Interactive setup gets you running in seconds.

## 📦 Installation

Get started in seconds.

```bash
# Recommended: Install via pipx for an isolated environment
pipx install devgen-cli

# Or use uv for blazing speed
uv tool install devgen-cli

# Standard pip install
pip install devgen-cli

# Enable Shell Completion (bash/zsh/fish)
devgen --install-completion
```

## 🚀 Quick Start

**1. Initialize & Configure**
Tell DevGen which AI provider to use.

```bash
devgen setup config
```

**2. Stage & Commit**
Stage your files and let AI write the message.

```bash
git add .
devgen commit run
```

_Boom. Done._

## 💡 Feature Deep Dive

### 🤖 AI Powered Commits

Stop writing "fix bug" or "wip". DevGen analyzes your staged changes, groups them by component, and generates meaningful, semantic commit messages.

```bash
# Preview what DevGen will generate
devgen commit run --dry-run

# Commit and push in one go
devgen commit run --push

# Review and edit AI messages before committing
devgen commit run --check

# Made a mistake? Undo the last AI commit and keep changes staged
devgen commit undo
```

### 🧠 Context Awareness
DevGen isn't just looking at the code changes; it's looking at the big picture. It automatically detects and analyzes:
- **Manifests**: `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, etc.
- **Lock Files**: `uv.lock`, `package-lock.json`, `poetry.lock`, etc.

This allows the AI to understand *exactly* which library versions were updated, leading to hyper-accurate dependency commit messages.

### 📝 Changelogs & Release Notes

Turn your git history into beautiful, readable documentation.

```bash
# Generate a changelog from the last tag
devgen changelog generate

# Create release notes for v2.0.0
devgen release notes --version 2.0.0
```

### 🛡️ Essential Files

Don't waste time searching for templates. Generate the essential files for your project instantly.

```bash
# Interactive search for gitignore templates
devgen gitignore generate

# Generate a license interactively
devgen license generate
```

## ⚙️ Configuration

Your settings live in `~/.devgen.yaml`. You can tweak your AI provider, model, and preferences there.

| Option     | Description                                                  |
| :--------- | :----------------------------------------------------------- |
| `provider` | `gemini`, `openai`, `anthropic`, `huggingface`, `openrouter` |
| `model`    | Specific model name (e.g., `gemini-2.5-flash`, `gpt-4o`)     |
| `emoji`           | Enable/disable gitmojis in commits (`true`/`false`)           |
| `custom_template` | Custom Jinja2 template for commit messages.                   |

### 🎨 Custom Templates
You can define your own commit message structure in `~/.devgen.yaml`. Use `devgen config info` to see available variables like `{{ group_name }}`, `{{ diff_text }}`, and `{{ context }}`.

Example:
```yaml
custom_template: |
  {{ group_name }}: {{ diff_text }}
  ---
  Manifests: {{ context }}
```

> [!TIP]
> Use `devgen config info` to see a full list of available variables and a template tip!

## 🤝 Contributing

We love contributions! Found a bug? Want a new feature? Open an issue or submit a PR.

## � Acknowledgments

DevGen wouldn't be possible without these amazing open-source projects and AI providers:

- **[Typer](https://typer.tiangolo.com/)** & **[Rich](https://rich.readthedocs.io/)** for building the beautiful, intuitive, and responsive CLI interface.
- **[Questionary](https://github.com/tmbo/questionary)** for creating interactive, user-friendly prompts and selection menus.
- **[Jinja2](https://jinja.palletsprojects.com/)** for the powerful template engine used to generate files and messages.
- **[Google Gemini](https://deepmind.google/technologies/gemini/)**, **[OpenAI](https://openai.com/)**, **[Anthropic](https://www.anthropic.com/)**, **[HuggingFace](https://huggingface.co/)**, and **[OpenRouter](https://openrouter.ai/)** for providing the advanced AI models that power the semantic generation features.

## �📝 License

Proudly open source under the [GPL-3.0-or-later](LICENSE) License.

---

<div align="center">
Made with ❤️ by <a href="https://github.com/S4NKALP">Sankalp</a>
</div>
