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
32148 skills44 agents48 commands2 MCP
Install
$ npx -y skills add giuseppe-trisciuoglio/developer-kit --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/devkit.generate-changelog

Context preview

What this command does when you run it.

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.

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
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.

Get the whole plugin, auto-invoked
Stats
321
Stars
1
Views
37
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
9mo ago
Created

Repo: giuseppe-trisciuoglio/developer-kit