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 ```bash
# Stable release from PyPI # Stable release from PyPI
pip install devgen pip install devgen-cli
# Using pipx (recommended for isolated CLI) # Using pipx (recommended for isolated CLI)
pipx install devgen pipx install devgen-cli
# Using uv (fast Python package manager) # Using uv (fast Python package manager)
uv tool install devgen uv tool install devgen-cli
``` ```
## 🚀 Quick Start ## 🚀 Quick Start
@@ -63,12 +63,14 @@ devgen commit run --force-rebuild
``` ```
**How it works:** **How it works:**
- DevGen detects all staged and unstaged changes - DevGen detects all staged and unstaged changes
- Groups files by directory - Groups files by directory
- Generates semantic commit messages for each group using AI - Generates semantic commit messages for each group using AI
- Follows [Conventional Commits](https://www.conventionalcommits.org/) format - Follows [Conventional Commits](https://www.conventionalcommits.org/) format
**Additional commit commands:** **Additional commit commands:**
```bash ```bash
# View cached commit messages # View cached commit messages
devgen commit list-cached devgen commit list-cached
@@ -96,6 +98,7 @@ devgen changelog generate --output CHANGES.md
``` ```
The changelog follows Semantic Release conventions, categorizing commits into: The changelog follows Semantic Release conventions, categorizing commits into:
- **BREAKING CHANGES** - **BREAKING CHANGES**
- **Features** - **Features**
- **Bug Fixes** - **Bug Fixes**
@@ -136,6 +139,7 @@ devgen gitignore generate --offline Python
``` ```
**Options:** **Options:**
- `--append` / `--overwrite` - Append to or overwrite existing `.gitignore` - `--append` / `--overwrite` - Append to or overwrite existing `.gitignore`
- `--output` - Specify output file path (default: `.gitignore`) - `--output` - Specify output file path (default: `.gitignore`)
- `--offline` - Use only cached templates - `--offline` - Use only cached templates
@@ -149,12 +153,14 @@ devgen license generate
``` ```
This will: This will:
1. Show available licenses (MIT, Apache-2.0, GPL-3.0, etc.) 1. Show available licenses (MIT, Apache-2.0, GPL-3.0, etc.)
2. Prompt for author name 2. Prompt for author name
3. Prompt for year (defaults to current year) 3. Prompt for year (defaults to current year)
4. Generate the license file 4. Generate the license file
**Available licenses:** **Available licenses:**
- MIT - MIT
- Apache-2.0 - Apache-2.0
- GPL-2.0, GPL-3.0 - GPL-2.0, GPL-3.0
@@ -176,6 +182,7 @@ devgen setup config
``` ```
**Configuration options:** **Configuration options:**
- `provider` - AI provider: `gemini`, `openai`, `anthropic`, `huggingface`, or `openrouter` - `provider` - AI provider: `gemini`, `openai`, `anthropic`, `huggingface`, or `openrouter`
- `model` - Model name (e.g., `gemini-2.5-flash`, `gpt-4`, `claude-3-opus`) - `model` - Model name (e.g., `gemini-2.5-flash`, `gpt-4`, `claude-3-opus`)
- `api_key` - Your API key - `api_key` - Your API key
@@ -184,6 +191,7 @@ devgen setup config
## 📋 Command Reference ## 📋 Command Reference
### Commit Commands ### Commit Commands
```bash ```bash
devgen commit run [--dry-run] [--push] [--debug] [--force-rebuild] devgen commit run [--dry-run] [--push] [--debug] [--force-rebuild]
devgen commit validate devgen commit validate
@@ -192,27 +200,32 @@ devgen commit clear-cache
``` ```
### Changelog Commands ### Changelog Commands
```bash ```bash
devgen changelog generate [--output FILE] [--from REF] devgen changelog generate [--output FILE] [--from REF]
``` ```
### Release Commands ### Release Commands
```bash ```bash
devgen release notes [--version VERSION] [--output FILE] [--from REF] devgen release notes [--version VERSION] [--output FILE] [--from REF]
``` ```
### Gitignore Commands ### Gitignore Commands
```bash ```bash
devgen gitignore generate [TEMPLATES...] [--output FILE] [--append/--overwrite] [--offline] devgen gitignore generate [TEMPLATES...] [--output FILE] [--append/--overwrite] [--offline]
devgen gitignore list [--cached] devgen gitignore list [--cached]
``` ```
### License Commands ### License Commands
```bash ```bash
devgen license generate [--output FILE] devgen license generate [--output FILE]
``` ```
### Setup Commands ### Setup Commands
```bash ```bash
devgen setup config 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: 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)) return Environment(loader=FileSystemLoader(template_dir))
+2 -2
View File
@@ -3,8 +3,8 @@ requires = ["setuptools>=61", "wheel"]
build-backend = "setuptools.build_meta" build-backend = "setuptools.build_meta"
[project] [project]
name = "devgen" name = "devgen-cli"
version = "0.2.0" version = "0.2.1"
description = "A collection of developer tools" description = "A collection of developer tools"
readme = "README.md" readme = "README.md"
requires-python = ">=3.10" requires-python = ">=3.10"
+2 -2
View File
@@ -5,8 +5,8 @@ Setup script for devgen package.
from setuptools import find_packages, setup from setuptools import find_packages, setup
setup( setup(
name="devgen", name="devgen-cli",
version="0.2.0", version="0.2.1",
packages=find_packages(), packages=find_packages(),
include_package_data=True, include_package_data=True,
install_requires=[ install_requires=[
Generated
+3 -3
View File
@@ -188,8 +188,8 @@ wheels = [
] ]
[[package]] [[package]]
name = "devgen" name = "devgen-cli"
version = "0.1.0" version = "0.2.0"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "anthropic" }, { name = "anthropic" },
@@ -262,7 +262,7 @@ name = "exceptiongroup"
version = "1.3.1" version = "1.3.1"
source = { registry = "https://pypi.org/simple" } source = { registry = "https://pypi.org/simple" }
dependencies = [ 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" } 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 = [ wheels = [