Commit Graph
124 Commits
Author SHA1 Message Date
sankalp 5515ca5633 Merge pull request #5 from S4NKALP/dependabot/pip/main/google-genai-1.66.0
build(deps): bump google-genai from 0.1.0 to 1.66.0
2026-03-06 20:36:10 +05:45
sankalp e7385c55fb chore: auto-update README [skip ci] 2026-03-06 20:36:03 +05:45
dependabot[bot] 52cf0d4a7b build(deps): bump google-genai from 0.1.0 to 1.66.0
Bumps [google-genai](https://github.com/googleapis/python-genai) from 0.1.0 to 1.66.0.
- [Release notes](https://github.com/googleapis/python-genai/releases)
- [Changelog](https://github.com/googleapis/python-genai/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/python-genai/commits/v1.66.0)

---
updated-dependencies:
- dependency-name: google-genai
  dependency-version: 1.66.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:50:55 +00:00
sankalp ceebf728ca Merge pull request #8 from S4NKALP/dependabot/pip/main/rich-14.3.3
build(deps): bump rich from 14.2.0 to 14.3.3
2026-03-06 20:35:44 +05:45
dependabot[bot] 277cb324ba build(deps): bump rich from 14.2.0 to 14.3.3
Bumps [rich](https://github.com/Textualize/rich) from 14.2.0 to 14.3.3.
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v14.2.0...v14.3.3)

---
updated-dependencies:
- dependency-name: rich
  dependency-version: 14.3.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:50:01 +00:00
sankalp 8c98b64495 chore: auto-update README [skip ci] 2026-03-06 20:34:33 +05:45
sankalp b9899a774f Merge pull request #7 from S4NKALP/dependabot/pip/main/typer-0.24.1
build(deps): bump typer from 0.21.1 to 0.24.1
2026-03-06 20:34:32 +05:45
sankalp 96c8dd83b1 Merge pull request #6 from S4NKALP/dependabot/pip/main/ruff-0.15.5
build(deps): bump ruff from 0.14.13 to 0.15.5
2026-03-06 20:34:24 +05:45
sankalp 92e9f5ac19 chore: auto-update README [skip ci] 2026-03-06 20:34:08 +05:45
sankalp 75eb20fab3 Merge pull request #4 from S4NKALP/dependabot/pip/main/anthropic-0.84.0
build(deps): bump anthropic from 0.76.0 to 0.84.0
2026-03-06 20:34:00 +05:45
sankalp 5b7bd55ccd chore: auto-update README [skip ci] 2026-03-06 20:33:55 +05:45
sankalp 386e0ee72d Merge pull request #9 from S4NKALP/dependabot/pip/main/openai-2.26.0
build(deps): bump openai from 2.15.0 to 2.26.0
2026-03-06 20:33:48 +05:45
sankalp b31b06eb11 chore: auto-update README [skip ci] 2026-03-06 20:33:03 +05:45
sankalp cf637f34e8 Merge pull request #3 from S4NKALP/dependabot/github_actions/main/actions/checkout-6
build(deps): bump actions/checkout from 4 to 6
2026-03-06 20:32:30 +05:45
sankalp cb99c2fa56 Merge pull request #2 from S4NKALP/dependabot/github_actions/main/astral-sh/setup-uv-7
build(deps): bump astral-sh/setup-uv from 4 to 7
2026-03-06 20:32:19 +05:45
sankalp a67220cfb7 chore: auto-update README [skip ci] 2026-03-06 19:45:40 +05:45
dependabot[bot] f9914fa482 build(deps): bump openai from 2.15.0 to 2.26.0
Bumps [openai](https://github.com/openai/openai-python) from 2.15.0 to 2.26.0.
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-python/compare/v2.15.0...v2.26.0)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 2.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:00:39 +00:00
dependabot[bot] fab6465c69 build(deps): bump typer from 0.21.1 to 0.24.1
Bumps [typer](https://github.com/fastapi/typer) from 0.21.1 to 0.24.1.
- [Release notes](https://github.com/fastapi/typer/releases)
- [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md)
- [Commits](https://github.com/fastapi/typer/compare/0.21.1...0.24.1)

---
updated-dependencies:
- dependency-name: typer
  dependency-version: 0.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:00:33 +00:00
dependabot[bot] b94e8502c8 build(deps): bump ruff from 0.14.13 to 0.15.5
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.14.13 to 0.15.5.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.14.13...0.15.5)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.15.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:00:24 +00:00
dependabot[bot] 4fe5ef0d34 build(deps): bump anthropic from 0.76.0 to 0.84.0
Bumps [anthropic](https://github.com/anthropics/anthropic-sdk-python) from 0.76.0 to 0.84.0.
- [Release notes](https://github.com/anthropics/anthropic-sdk-python/releases)
- [Changelog](https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/anthropics/anthropic-sdk-python/compare/v0.76.0...v0.84.0)

---
updated-dependencies:
- dependency-name: anthropic
  dependency-version: 0.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:00:13 +00:00
sankalp 9e9c42ced7 chore: auto-update README [skip ci] 2026-03-06 19:45:12 +05:45
dependabot[bot] 81da7f1846 build(deps): bump actions/checkout from 4 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 14:00:04 +00:00
dependabot[bot] a01bdac09f build(deps): bump astral-sh/setup-uv from 4 to 7
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 4 to 7.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v4...v7)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 13:59:59 +00:00
sankalp b74fb8071a chore(.github/workflows): add dependabot auto-merge workflow
New Features:
- Add dependabot auto-merge workflow (dependabot-auto-merge.yml)
2026-03-06 19:44:27 +05:45
sankalp d135381ad5 chore(.github): add dependabot.yml for weekly dependency updates
Add dependabot configuration to automate weekly updates of GitHub Actions and pip packages.

New Features
- Add Dependabot configuration for GitHub Actions and pip ecosystems with weekly schedule.

Enhancements
-

Bug Fixes
-
2026-03-06 19:44:23 +05:45
sankalp daa6f203c3 refactor(devgen/modules): reformat time.sleep block for readability 2026-03-06 19:43:19 +05:45
sankalp 1b36c3f2d7 feat(devgen/providers): improve error detection for rate‑limiting and quota exceeded responses
Enhancements:
- Extend error message parsing to capture additional throttling indicators such as "RESOURCE_EXHAUSTED", "QUOTA_EXCEEDED", and "THROTTLED".
- Refactor the conditional logic for better readability and maintainability.
- Keep existing retry behavior while increasing resilience to API rate‑limit errors.
2026-03-06 19:43:16 +05:45
sankalp 9554f7af2a feat(devgen/providers): bump default Gemini model to gemini-2.5-flash and add retry handling for quota errors
The update changes the default model, refactors imports, and implements robust retry logic with exponential back‑off and clearer error messages. This improves resilience and clarifies usage.

New Features
- Exponential back‑off retry on 429/quota exhausted responses.
- Configurable max_retries and retry_delay parameters.

Enhancements
- Default model set to gemini-2.5-flash.
- Improved error output with actionable troubleshooting steps.
2026-01-30 22:36:31 +05:45
sankalp 06f25af35f chore(deps): update all python dependencies 2026-01-16 23:30:08 +05:45
sankalp cc94b53d48 chore(root): bump version to 0.2.4
- Updated version in `pyproject.toml` and `setup.py` to `0.2.4`
- Lockfile (`uv.lock`) updated to reflect dependency changes
V.0.2.4
2025-12-30 14:40:57 +05:45
sankalp b09de402cc feat(devgen): add max_groups config option 2025-12-25 09:36:05 +05:45
sankalp c121a7fa59 feat(devgen/modules): add interactive commit review and smart file grouping
- New Features:
  - Added `check` parameter to enable interactive commit message review
  - Implemented user confirmation/editing/abort workflow using questionary
  - Added smart file grouping with configurable max_groups limit
  - Files are now merged into parent directories when group count exceeds limit

- Enhancements:
  - Improved `group_files()` method with hierarchical merging logic
  - Added graceful KeyboardInterrupt handling during user review
  - Enhanced logging for group merging operations
```
2025-12-25 09:35:33 +05:45
sankalp 525aebadf4 feat(devgen/modules): enhance commit generation with manifest context and custom templates
- New Features:
  - Added `_get_manifest_context()` to extract project metadata from manifest files (pyproject.toml, package.json, etc.) for richer commit message context.
  - Added support for custom commit message templates via `custom_template` config.
  - Added emoji instruction toggle based on global `use_emoji` setting.

- Enhancements:
  - Improved error handling for git push failures with specific hints for "no upstream branch" scenarios.
  - Optimized manifest context extraction by truncating large files to avoid token bloat.
  - Refactored prompt generation to dynamically include manifest context and custom templates.
```
2025-12-25 00:04:54 +05:45
sankalp 1219c1ad81 feat(devgen/templates/commit): add context to commit message template
- New Features:
  - Added `{{ context }}` variable to the commit message template to provide additional context.
- Enhancements:
  - Removed the emoji usage line from the template to simplify the output.
```
2025-12-25 00:04:50 +05:45
sankalp cfa891dcde feat(devgen/cli): add config info command and improve undo commit message formatting 2025-12-25 00:04:48 +05:45
sankalp 286c46d2b5 feat(root): enhance commit generation with context-aware features
- Add shell completion support for bash/zsh/fish via `devgen --install-completion`
- Introduce `devgen commit undo` to revert the last AI-generated commit while preserving staged changes
- Implement context-aware commit generation by analyzing project manifests (`package.json`, `pyproject.toml`, etc.) and lock files for accurate dependency updates
- Add support for custom Jinja2 templates in `~/.devgen.yaml` with `custom_template` configuration
- Update documentation to reflect new features and provide template variable reference

This release significantly improves commit accuracy by leveraging project context and offers greater customization through templates and shell integration.
```
2025-12-25 00:04:44 +05:45
sankalp f2ff3327c3 feat(devgen): add custom template rendering function
- New Features:
  - Introduced `render_custom_template()` function to render Jinja2 templates from strings.
  - Enables dynamic template rendering without requiring file-based templates.
```
2025-12-25 00:04:40 +05:45
sankalp 37e5d94373 feat(devgen): enhance sanitize_ai_commit_message to handle bolding and labels
- Improve header detection by stripping bolding and cleaning labels like "1. Title:", "### Message:", etc.
- Stop processing lines when encountering a sponsor section
```
2025-12-24 23:49:37 +05:45
sankalp 40c9b3ca57 refactor(devgen/templates/commit): update commit message template guidelines
- Simplify and clarify the structure of commit message generation guidelines.
- Replace "Format" with "Guidelines" for better readability.
- Remove redundant section numbering.
- Streamline emoji usage instruction into a single line.
- Clarify that the output should exclude labels like "Title:" or "Format:".

**Enhancements:**
- Improved template structure for better maintainability.
- More concise and direct instructions for users.
2025-12-24 23:49:34 +05:45
sankalp 4d309c313d 1. Title: feat(root): add TODO.md for project roadmap and tasks 2025-12-24 23:44:23 +05:45
sankalp ba747c727c feat(devgen): improve sanitize_ai_commit_message function
The `sanitize_ai_commit_message` function in `devgen/utils.py` has been enhanced for better readability and maintainability. The changes include minor formatting improvements and a more consistent regex pattern definition.

**Enhancements & Refinements:**
- Improved code formatting by removing trailing whitespace and adding a comma after `re.IGNORECASE` in the regex pattern for better readability.
- Enhanced comment clarity by fixing a minor typo in the regex examples section.
```
2025-12-24 23:34:35 +05:45
sankalp 3635887a85 feat(devgen/modules): enhance changelog and license generation with improved file handling
This update introduces improvements to the changelog generator's file handling logic, including proper prepending of new entries and automatic header management. It also refines the license generator's template directory structure and cleans up minor formatting issues in the commit generator.

**New Features**
- Added intelligent changelog prepending logic that preserves existing headers and maintains proper formatting when updating files
- Implemented automatic `# CHANGELOG` header insertion for new changelog files

**Enhancements & Refinements**
- Changed changelog version headers from `#` to `##` for better markdown hierarchy
- Updated license generator to use `templates/licenses` directory instead of `prompt_templates/licenses`
- Removed unnecessary whitespace and improved code formatting in commit generator
- Enhanced changelog file writing logic to handle both new and existing files more robustly
```
2025-12-24 23:34:32 +05:45
sankalp a7507255c7 feat(root): update devgen-cli to version 0.2.3
The dependency `devgen-cli` has been upgraded from version 0.2.2 to 0.2.3 in the project's lockfile.

- **Enhancements & Refinements**
  - Updated `devgen-cli` dependency to version 0.2.3 in `uv.lock`
```
2025-12-24 23:29:47 +05:45
sankalp d373f95388 refactor(devgen): enhance AI commit message sanitization
The `sanitize_ai_commit_message` function has been significantly improved to better handle AI-generated commit messages, including support for bolded headers, more robust header detection, and a fallback mechanism for non-conventional messages.

**Enhancements & Refinements:**
- Added comprehensive docstring explaining the function's purpose and behavior
- Improved regex pattern to match conventional commit headers with optional bolding (e.g., **feat: ...**)
- Added case-insensitive matching for commit types
- Implemented a state-based approach with `found_header` flag for clearer logic
- Added automatic removal of bold markers (**) from headers
- Introduced fallback behavior to return the first non-empty line if no conventional header is found
- Improved code structure with better variable naming and comments
- Added early return for empty input strings

**Bug Fixes:**
- Fixed potential issue where the function could return empty strings for non-conventional messages
- Resolved edge case handling for messages without proper headers
```
2025-12-24 23:29:45 +05:45
sankalp fe7da77ed6 chore(root): Bump version to 0.2.3 V.0.2.3 2025-12-14 07:58:09 +05:45
sankalp 407458149b fix: remove invalid debug argument from OpenAI and OpenRouter providers
The debug argument is used internally by devgen but is not accepted by the OpenAI API client. This change filters it out from kwargs before the API call to prevent TypeError.
2025-12-14 07:57:16 +05:45
sankalp e9a45cf140 chore(root): Bump version to 0.2.2
This commit updates the project's version from 0.2.1 to 0.2.2 across the `pyproject.toml`, `setup.py`, and `uv.lock` files.
V.0.2.2
2025-12-14 00:55:19 +05:45
sankalp 70e150611b refactor(docs): Overhaul README for improved clarity and quick start
The `README.md` has undergone a significant rewrite and restructuring to enhance readability, streamline the onboarding process, and better communicate the value proposition of DevGen. This includes a new introduction, a consolidated "Why DevGen?" section, simplified quick start guides, and a dedicated feature deep dive.

*   **Enhancements & Refinements**
    *   **Improved Introduction**: Added a concise tagline and refined the introductory paragraph, positioning DevGen as an AI co-pilot for Git and project management.
    *   **Streamlined Feature Presentation**: Replaced the previous feature list with a "Why DevGen?" section, highlighting key benefits such as AI Brain (multi-provider support), battle-tested compliance (Conventional Commits, Semantic Versioning), lightning-fast performance, and zero-friction setup.
    *   **Simplified Quick Start**: Refined the initial setup and commit generation steps for a quicker onboarding experience.
    *   **Enhanced Feature Deep Dive**: Introduced a dedicated section to provide detailed usage examples for AI-powered commits, changelogs, release notes, gitignore, and license generation.
    *   **Improved Installation Instructions**: Emphasized `pipx` and `uv` as recommended installation methods for isolated and fast CLI management.
    *   **Concise Configuration Table**: Replaced verbose configuration details with a clear markdown table for easier reference.
    *   **Updated PyPI Link**: Corrected the PyPI link to `devgen-cli`.
    *   **Minor Visual Updates**: Refined badge presentation and added a centered footer with author attribution.

*   **Refactoring**
    *   **Major Content Restructuring**: Completely reordered and rewrote large sections, removing redundant information and consolidating related content to improve overall flow and conciseness.
    *   **Removed Command Reference**: Integrated command examples directly into relevant usage sections, eliminating a separate, lengthy command reference.
    *   **Removed Redundant Sections**: Consolidated information previously found in "Use Cases" and "Requirements" into other sections, streamlining the document.
2025-12-13 22:26:20 +05:45
sankalp f85da0461f feat(dry-run): Display dry run messages on console
**Enhancements & Refinements**
* Dry run commit messages are now displayed directly on the console during execution.
* Utilizes rich `Panel` and `Markdown` to provide a structured and readable console output for dry run messages.
* Offers immediate visual feedback for generated commits when performing a dry run.
2025-12-13 21:42:33 +05:45
sankalp 7c15e2183b refactor(docs): Overhaul README for improved clarity and quick start
The `README.md` has undergone a significant rewrite and restructuring to enhance readability, streamline the onboarding process, and better communicate the value proposition of DevGen. This includes a new introduction, a consolidated "Why DevGen?" section, simplified quick start guides, and a dedicated feature deep dive.

*   **Enhancements & Refinements**
    *   **Improved Introduction**: Added a concise tagline and refined the introductory paragraph, positioning DevGen as an AI co-pilot for Git and project management.
    *   **Streamlined Feature Presentation**: Replaced the previous feature list with a "Why DevGen?" section, highlighting key benefits such as AI Brain (multi-provider support), battle-tested compliance (Conventional Commits, Semantic Versioning), lightning-fast performance, and zero-friction setup.
    *   **Simplified Quick Start**: Refined the initial setup and commit generation steps for a quicker onboarding experience.
    *   **Enhanced Feature Deep Dive**: Introduced a dedicated section to provide detailed usage examples for AI-powered commits, changelogs, release notes, gitignore, and license generation.
    *   **Improved Installation Instructions**: Emphasized `pipx` and `uv` as recommended installation methods for isolated and fast CLI management.
    *   **Concise Configuration Table**: Replaced verbose configuration details with a clear markdown table for easier reference.
    *   **Updated PyPI Link**: Corrected the PyPI link to `devgen-cli`.
    *   **Minor Visual Updates**: Refined badge presentation and added a centered footer with author attribution.

*   **Refactoring**
    *   **Major Content Restructuring**: Completely reordered and rewrote large sections, removing redundant information and consolidating related content to improve overall flow and conciseness.
    *   **Removed Command Reference**: Integrated command examples directly into relevant usage sections, eliminating a separate, lengthy command reference.
    *   **Removed Redundant Sections**: Consolidated information previously found in "Use Cases" and "Requirements" into other sections, streamlining the document.
2025-12-13 21:42:33 +05:45