grokkit/todo/queued/git-chglog.md
Greg Gauthier 0cf0351826
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 26s
CI / Build (push) Successful in 21s
chore(todo): remove priorities from queued items and add admin tool
- Removed priority lines from various TODO markdown files
- Added new admin.md for grokkit admin tool
- Updated README.md with new entry
2026-03-04 19:23:03 +00:00

61 lines
1.6 KiB
Markdown

# `grokkit agent` git-chglog integration
**Description**: Wrapper for git-chglog CLI: generates CHANGELOG.md from conventional commits/tags. AI-enhanced parsing/validation.
## Problem It Solves
changelog.md is AI-from-git-log; git-chglog is standard tool—wrapper adds agent control/previews.
## Benefits
- **Standard**: git-chglog config + AI tweaks.
- **Validate**: Check changelog before release.
- **Safe**: Dry-run, output preview.
- **Integrate**: "Generate changelog v0.2.0, commit".
## Agent Tool Examples
```
grokkit agent "Generate changelog for next release from commits"
# Grok: git-chglog --next-tag v0.2.0 → preview → append to CHANGELOG.md
```
## High-Level Implementation
1. **Detect**: `git-chglog --version`.
2. **Tool schemas**:
- `generate(tag: string) → changelog_md`
- `validate() → issues`
3. **Wrappers** in `internal/tools/git-chglog.go`:
```go
func Generate(ctx context.Context, args map[string]any) (string, error)
```
4. **Agent integration**: Release workflows.
5. **Safety**:
- --dry-run flag.
- Config file respect.
- Config: `[tools.git-chglog.enabled]`.
## Flags / Config
| Key | Description |
|-----|-------------|
| `tools.git-chglog.enabled` | Enable git-chglog |
## Implementation Notes
- **Commands**: `git-chglog --output CHANGELOG.md --next-tag vX.Y.Z`.
- **Parsing**: Markdown output.
- **Errors**: ChglogError.
- **Tests**: Mock exec.
- **Effort**: Low (~110 LOC). Complements changelog.md.
- **Prereq**: git-chglog installed.
## ROI
**Medium-High**. Release polish:
| Stage | Covered |
|-------|---------|
| Changelog | **git-chglog** ← new |
| Release | changelog.md ✓ |