**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.
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.
This commit introduces a new `run_git_command` utility function within `devgen.utils` to centralize and standardize the execution of Git commands. This improves code reusability and error handling for Git-related operations.
* **New Features**
* Add `run_git_command` to `devgen/utils.py` to provide a standardized, robust way to execute Git commands, capture output, and handle errors.
* Expose `run_git_command` in `__all__` for public use.
* **Enhancements & Refinements**
* Refactor `get_git_staged_files` to utilize the new `run_git_command` utility, reducing code duplication and improving consistency.
This commit refactors the way git commands are executed across the `changelog_generator` and `commit_generator` modules, leveraging a shared utility function and enhancing error handling.
* **Enhancements & Refinements**
* Replaced the internal `_exec_git` method in both `ChangelogGenerator` and `CommitEngine` with the common `run_git_command` utility from `devgen.utils`.
* Standardized and improved error handling for git command failures by wrapping `run_git_command` calls in `try-except subprocess.CalledProcessError` blocks, providing more precise logging and raising `CommitEngineError` where applicable.
* Adjusted error handling for `git reset HEAD` operations to gracefully ignore potential failures, ensuring smoother execution for non-critical resets.
* Refined the `is_ahead_of_remote` check in `CommitEngine` to correctly handle scenarios with no upstream configured by using `check=False` for `run_git_command` and broadening error catch.
This commit clarifies the project's name on PyPI and ensures all external links in the README are accurate.
* **Enhancements & Refinements**
* Added a note to the README clarifying the project's name on PyPI as `devgen-cli`.
* Refined the project description for improved readability by adjusting punctuation.
* **Bug Fixes**
* Corrected the repository case in the license badge URL.
* Updated the PyPI project URL to `https://pypi.org/project/devgen0cli` for accuracy.
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 updates the package metadata by removing declarations of custom dependency links and applies a minor file formatting correction.
* **Enhancements & Refinements**
* Removed all declarations from `devgen_cli.egg-info/dependency_links.txt`, simplifying the package's metadata and indicating that no custom dependency links are used.
* Corrected the file format of `devgen_cli.egg-info/SOURCES.txt` by adding a missing newline at the end of the file, improving file integrity.
Minor code cleanup to enhance readability and adhere to styling conventions.
* **Enhancements & Refinements**:
* Wrapped long lines for better readability in logger configuration, console theme definition, commit message panel printing, and dry run output.
* Removed an unnecessary f-string from the commit generation status message.
The commit engine now leverages the `rich` library to provide a more visually appealing and informative console experience during various stages of the commit generation and execution process.
* **New Features**
* Integrate the `rich` library for enhanced and structured console output.
* Introduce a custom `rich` theme for consistent styling of info, warning, and danger messages.
* **Enhancements & Refinements**
* Display visual feedback with `rich` status spinners during AI message generation and remote push operations.
* Present generated commit messages in a formatted `rich` Panel with Markdown rendering for improved readability.
* Provide clearer, color-coded `rich` console messages for staging files, dry run completion, overall process completion, and identifying failed groups.
* Propagate the `debug` flag to the logger to control console output during debugging sessions, aligning logger and console behavior.
The commit engine now leverages the `rich` library to provide a more visually appealing and informative console experience during various stages of the commit generation and execution process.
* **New Features**
* Integrate the `rich` library for enhanced and structured console output.
* Introduce a custom `rich` theme for consistent styling of info, warning, and danger messages.
* **Enhancements & Refinements**
* Display visual feedback with `rich` status spinners during AI message generation and remote push operations.
* Present generated commit messages in a formatted `rich` Panel with Markdown rendering for improved readability.
* Provide clearer, color-coded `rich` console messages for staging files, dry run completion, overall process completion, and identifying failed groups.
* Propagate the `debug` flag to the logger to control console output during debugging sessions, aligning logger and console behavior.
This update refines the `publish.yml` workflow by bumping the versions of several GitHub Actions and adjusting the Python version used for publishing.
* **Enhancements & Refinements**
* Updated `actions/checkout` from v4 to v6.
* Updated `actions/setup-python` from v4 to v6.
* Changed the target Python version for the workflow from 3.12 to 3.10.
Release v0.2.1 of DevGen CLI, a comprehensive toolkit automating common Git and project management tasks through AI. This initial packaging defines the project's metadata and a wide array of developer-centric features.
* **New Features**
* **AI-Powered Commit Messages:** Automatically generate semantic commit messages based on staged changes, adhering to Conventional Commits format.
* **Changelog Generation:** Create detailed changelogs from Git history, with categories for BREAKING CHANGES, Features, Bug Fixes, Documentation, and Other Changes.
* **Release Note Generation:** Produce structured release notes from Git history, ready for publication.
* **Gitignore File Generation:** Generate `.gitignore` files by selecting from GitHub's official templates, supporting interactive selection, multiple templates, and offline mode.
* **License File Generation:** Interactively generate various open-source license files (e.g., MIT, Apache-2.0, GPL-3.0), customizable with author name and year.
* **Multi-Provider AI Support:** Seamless integration with leading AI providers including Gemini, OpenAI, Anthropic, HuggingFace, and OpenRouter.
* **Enhancements & Refinements**
* **Unified CLI:** Provides a single command-line interface for all development automation tools.
* **Interactive Configuration:** Simple setup process for AI providers, models, and API keys via `devgen setup config`, stored persistently in `~/.devgen.yaml`.
* **Flexible Commit Workflow:** Offers options for dry runs, direct commits, automatic pushes, and force rebuilding of AI-generated commit messages.
* **Commit Caching:** Includes commands to list and clear cached commit messages for improved workflow.
* **Detailed Command Reference:** Comprehensive documentation for all `devgen` commands and their specific options.
* **Project Metadata:** Updated `PKG-INFO` with project summary, homepage, author details, license, keywords, classifiers, and Python requirements.
* **Dependency Management:** Specifies required Python packages including `anthropic`, `google-generativeai`, `openai`, `typer`, and `rich`.
* **Python 3.10+ Compatibility:** Ensures support for modern Python environments.