Compare commits

..
4 Commits
Author SHA1 Message Date
sankalp 6e7525241d bumped new version with fixes 2025-12-12 18:46:48 +05:45
sankalp b7faa9e17c update 2025-12-12 12:23:54 +05:45
sankalp 97a0b34f9c change package name to devgen-cli for pypi compatiable 2025-12-12 12:22:39 +05:45
sankalp b975ffc5e3 change package name to devgen-cli for pypi compatiable 2025-12-12 12:22:30 +05:45
6 changed files with 27 additions and 11 deletions

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
graft devgen/templates
include README.md
include LICENSE
+16 -3
View File
@@ -23,13 +23,13 @@
```bash
# Stable release from PyPI
pip install devgen
pip install devgen-cli
# Using pipx (recommended for isolated CLI)
pipx install devgen
pipx install devgen-cli
# Using uv (fast Python package manager)
uv tool install devgen
uv tool install devgen-cli
```
## 🚀 Quick Start
@@ -63,12 +63,14 @@ 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
@@ -96,6 +98,7 @@ devgen changelog generate --output CHANGES.md
```
The changelog follows Semantic Release conventions, categorizing commits into:
- **BREAKING CHANGES**
- **Features**
- **Bug Fixes**
@@ -136,6 +139,7 @@ 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
@@ -149,12 +153,14 @@ 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
@@ -176,6 +182,7 @@ 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
@@ -184,6 +191,7 @@ devgen setup config
## 📋 Command Reference
### Commit Commands
```bash
devgen commit run [--dry-run] [--push] [--debug] [--force-rebuild]
devgen commit validate
@@ -192,27 +200,32 @@ 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
```
+1 -1
View File
@@ -132,7 +132,7 @@ def delete_file(filepath: Path | str) -> bool:
def load_template_env(sub_dir: str) -> Environment:
template_dir = Path(__file__).parent / "prompt_templates" / sub_dir
template_dir = Path(__file__).parent / "templates" / sub_dir
return Environment(loader=FileSystemLoader(template_dir))
+2 -2
View File
@@ -3,8 +3,8 @@ requires = ["setuptools>=61", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "devgen"
version = "0.2.0"
name = "devgen-cli"
version = "0.2.1"
description = "A collection of developer tools"
readme = "README.md"
requires-python = ">=3.10"
+2 -2
View File
@@ -5,8 +5,8 @@ Setup script for devgen package.
from setuptools import find_packages, setup
setup(
name="devgen",
version="0.2.0",
name="devgen-cli",
version="0.2.1",
packages=find_packages(),
include_package_data=True,
install_requires=[
Generated
+3 -3
View File
@@ -188,8 +188,8 @@ wheels = [
]
[[package]]
name = "devgen"
version = "0.1.0"
name = "devgen-cli"
version = "0.2.0"
source = { editable = "." }
dependencies = [
{ name = "anthropic" },
@@ -262,7 +262,7 @@ name = "exceptiongroup"
version = "1.3.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
wheels = [