# pi-changelog

> Zero-config changelog generator for pi.dev projects from conventional commits.

## Installation

```bash
pi install npm:pi-changelog
```

## What It Does

Parses your git history for [Conventional Commits](https://www.conventionalcommits.org/) and generates a clean, grouped markdown changelog. No configuration needed — just point it at your repo.

- Parses conventional commit format (`feat:`, `fix:`, `chore:`, etc.)
- Groups changes by type with clear section headers
- Highlights breaking changes (`feat!:` or `fix!:`)
- Auto-detects version from latest git tag
- Links commit hashes to GitHub/GitLab URLs

## Tools

### `generate_changelog`

Generate a markdown changelog from git history.

**Parameters:**
- `from_ref` (string, optional) — Git ref to start from (tag, commit, branch). Defaults to latest tag.
- `to_ref` (string, optional) — Git ref to end at. Defaults to HEAD.
- `version` (string, optional) — Version label for the changelog header. Auto-detected from latest tag.

**Example:**
```
Use the generate_changelog tool with no parameters to generate from the latest tag to HEAD
```

## Commands

### `/changelog`

Generate and display a changelog from git conventional commits. Runs with sensible defaults (latest tag → HEAD).

## Supported Commit Types

| Type | Section |
|------|---------|
| `feat` | Features |
| `fix` | Bug Fixes |
| `perf` | Performance Improvements |
| `refactor` | Code Refactoring |
| `docs` | Documentation |
| `style` | Styles |
| `test` | Tests |
| `ci` | CI/CD |
| `build` | Build System |
| `chore` | Miscellaneous |
| `revert` | Reverts |

## Example Output

```markdown
# Changelog

## [v1.0.0] - 2026-06-25

### ⚠ BREAKING CHANGES

- **config:** redesign config format (abc1234)

### Features

- add user authentication (def5678)
- **api:** new REST endpoint (ghi9012)

### Bug Fixes

- resolve memory leak (jkl3456)
```

## Resources

- [npm](https://www.npmjs.com/package/pi-changelog)
- [GitHub](https://github.com/ZachDreamZ/pi-changelog)
- [pi.dev](https://pi.dev/packages/pi-changelog)

## License

MIT
