Skip to content
Development
Command

/devkit.generate-changelog

Generates and manages project changelog following Keep a Changelog standard with Git integration and Conventional Commits support. Use when releasing a new version or updating the changelog after commits.

From plugin
developer-kit
36935 skills44 agents35 commands2 MCP
> /plugin marketplace add giuseppe-trisciuoglio/developer-kit
> /plugin install developer-kit@developer-kit

Command definition

devkit.generate-changelog.md
allowed-tools: Bash, Read, Write, Edit, Grep
argument-hint: "[action] [version] [format]"
description: Generates and manages project changelog following Keep a Changelog standard with Git integration and Conventional Commits support. Use when releasing a new version or updating the changelog after commits.

Project Changelog Generator and Maintainer

Overview

Generate and maintain project changelog following Keep a Changelog standard, extracting changes from Git history with support for Conventional Commits, version detection from multiple build systems (Maven, Gradle, npm, pip, Cargo), and automated changelog updates.

Usage

/devkit.generate-changelog $ARGUMENTS

Arguments

$1 specifies the action (optional - defaults to `update`):

  • `init` - Create initial CHANGELOG.md following Keep a Changelog format
  • `update` - Update changelog with changes since last tag/version
  • `release` - Generate changelog entry for new release version
  • `preview` - Preview changes without writing to file
  • `validate` - Validate existing CHANGELOG.md format

$2 specifies the version (optional - auto-detected from build file):

  • Version number (e.g., `1.2.3`, `2.0.0`)
  • `auto` - Auto-detect from build files: pom.xml, build.gradle, package.json, setup.py, Cargo.toml (default)
  • `latest-tag` - Use latest Git tag
  • `snapshot` - Mark as unreleased/snapshot

$3 specifies the format (optional - defaults to `keepachangelog`):

  • `keepachangelog` - Keep a Changelog format (default)
  • `conventional` - Conventional Changelog format
  • `github` - GitHub Release Notes format
  • `json` - Structured JSON format

Execution Instructions

**Agent Selection**: To execute this generation task, use the following approach:

  • Primary: Use `general-purpose` agent with specialized knowledge of the task domain
  • Or use appropriate specialized agent if available for the specific generation task

Context

  • **Project Root**: !`pwd`
  • **Current Branch**: !`git branch --show-current 2>/dev/null || echo "Not a git repository"`
  • **Latest Tag**: !`git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"`
  • **Build System**: !

`if [ -f pom.xml ]; then echo "Maven"; elif [ -f build.gradle ]; then echo "Gradle"; elif [ -f package.json ]; then echo "npm"; elif [ -f setup.py ]; then echo "Python"; elif [ -f Cargo.toml ]; then echo "Rust"; else echo "Generic"; fi`

  • **Existing Changelog**: !`if [ -f CHANGELOG.md ]; then echo "Found"; else echo "Not found"; fi`

Changelog Standards

Keep a Changelog Format

Follow https://keepachangelog.com/en/1.0.0/ specification:

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- New features for the next release

### Changed

- Changes in existing functionality

### Deprecated

- Soon-to-be removed features

### Removed

- Removed features

### Fixed

- Bug fixes

### Security

- Security improvements

## [1.2.0] - 2024-01-15

### Added

- User authentication with JWT tokens
- Health check endpoints
- Redis caching for sessions
- Comprehensive integration tests

### Changed

- Upgraded dependencies to latest stable versions
- Improved error handling
- Enhanced logging configuration

### Fixed

- Memory leak in background task executor
- Security vulnerability in authentication
- Timezone handling in date conversions

### Security

- Updated dependencies with known vulnerabilities
- Implemented CSRF protection
- Added rate limiting for sensitive endpoints

## [1.1.0] - 2023-12-10

### Added

- Email notification service
- Pagination for list endpoints
- Docker Compose setup for local development

### Fixed

- Null pointer exception in core service
- Transaction rollback issues

## [1.0.0] - 2023-11-01

### Added

- Initial release
- Basic CRUD operations
- REST API implementation
- Database integration
- Authentication system

[Unreleased]: https://github.com/username/project/compare/v1.2.0...HEAD

[1.2.0]: https://github.com/username/project/compare/v1.1.0...v1.2.0

[1.1.0]: https://github.com/username/project/compare/v1.0.0...v1.1.0

[1.0.0]: https://github.com/username/project/releases/tag/v1.0.0

Changelog Generation Process

1. Initialize Changelog

Create initial CHANGELOG.md structure:

#!/bin/bash
# Initialize changelog

cat > CHANGELOG.md << 'EOF'
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Features in development

### Changed
- Changes in existing functionality

### Deprecated
- Soon-to-be removed features

### Removed
- Removed features

### Fixed
- Bug fixes

### Security
- Security improvements

EOF

echo "✅ CHANGELOG.md created successfully"

2. Extract Changes from Git

Analyze Git commits since last tag:

**Detect Version from Build File**

#!/bin/bash
# detect-version.sh - Auto-detect project version

detect_maven_version() {
    if [ -f "pom.xml" ]; then
        mvn help:evaluate -Dexpression=project.version -q -DforceStdout 2>/dev/null || \
        grep -oP '<version>\K[^<]+' pom.xml | head -1
    fi
}

detect_gradle_version() {
    if [ -f "build.gradle" ]; then
        grep "version" build.gradle | grep -oP "'\K[^']+" | head -1 || \
        grep "version" build.gradle | grep -oP '"\K[^"]+' | head -1
    elif [ -f "build.gradle.kts" ]; then
        grep "version" build.gradle.kts | grep -oP '"\K[^"]+' | head -1
    fi
}

detect_npm_version() {
    if [ -f "package.json" ]; then
        grep -oP '"version":\s*"\K[^"]+' package.json | head -1
    fi
}

detect_python_version() {
    if [ -f "setup.py" ]; then
        grep -oP 'version
Read more
@giuseppe-trisciuoglio
Ships withdeveloper-kit

Modular plugin marketplace for Claude Code and agentic CLIs, with validated, spec-driven skills, agents, commands, and workflows for Java, TypeScript, Python, PHP, AWS, and AI.

369116 skills44 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
369
Star history of giuseppe-trisciuoglio/developer-kit on GitHub, a chart by star-history.com

Other commands on developer-kit.

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command