Metadata-Version: 2.4
Name: goal
Version: 2.0.0
Summary: Automated git push with smart commit messages, changelog updates, and version tagging
Author-email: wronai <wronai@example.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/wronai/goal
Project-URL: Repository, https://github.com/wronai/goal
Project-URL: Issues, https://github.com/wronai/goal/issues
Keywords: git,automation,commit,changelog,versioning,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# Goal

Automated git push with smart commit messages, changelog updates, and version tagging.

## Installation

```bash
pip install goal
```

## Usage

### Initialize a repository

```bash
goal init
```

Creates `VERSION` and `CHANGELOG.md` files if they don't exist.

### Push changes

```bash
goal push
```

This will:
1. Stage all changes (`git add -A`)
2. Generate a smart commit message based on changed files
3. Update `CHANGELOG.md` with the changes
4. Bump the version in `VERSION` file
5. Create a git tag
6. Push to remote with tags

### Options

```bash
goal push --bump minor    # Bump minor version instead of patch
goal push --bump major    # Bump major version
goal push --no-tag        # Skip creating git tag
goal push --no-changelog  # Skip updating changelog
goal push -m "message"    # Use custom commit message
goal push --dry-run       # Show what would happen without doing it
```

### Other commands

```bash
goal status   # Show current git status and version info
goal version  # Show current and next version
```

## Makefile integration

Replace your manual push target with:

```makefile
push:
	goal push
```

## License

MIT
