releasekit

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2026 License: MIT

README

ReleaseKit

Build Status Lint Status Go Report Card Docs Visualization License

Release management toolkit for Go projects. Provides git operations, commit analysis, and release workflow automation.

Features

  • Language Auto-Detection: Automatically detects Go, TypeScript, JavaScript, Python, and Rust projects
  • Pre-Release Validation: Runs build, test, lint, and format checks
  • Git Operations: Tag management, branch analysis, commit parsing
  • Conventional Commits: Parse and categorize commits for changelogs
  • Multi-Agent Spec Output: Results conform to the AgentResult schema for agent workflow interoperability
  • Multiple Output Formats: TOON (token-efficient), JSON, and text formats

Installation

go install github.com/grokify/releasekit/cmd/releasekit@latest

Commands

Command Description
validate Run pre-release checks (auto-detects language)
check Validate version consistency between tags and CHANGELOG.json
commits Parse and analyze git commits
status Show git repository status
modules List Go module dependencies
version Print version information

Usage

Validate a Project

Run pre-release validation checks:

# Validate current directory
releasekit validate

# Validate specific directory
releasekit validate /path/to/project

# Dry run (show what would be executed)
releasekit validate --dry-run

# Skip certain checks
releasekit validate --no-lint --no-test

# Include coverage check
releasekit validate --coverage
Check Version Consistency

Validate that git tags and CHANGELOG.json are in sync:

releasekit check
releasekit check --changelog CHANGELOG.json
Analyze Commits

Parse commits using conventional commit format:

releasekit commits
releasekit commits --since v1.0.0
Output Formats

All commands support multiple output formats:

releasekit validate --format json
releasekit validate --format toon    # Default, token-efficient
releasekit validate --format text

Validation Checks

The validate command runs language-specific checks:

Go Projects
  • go build ./... - Build all packages
  • go test ./... - Run all tests
  • golangci-lint run - Run linter (if installed)
  • go mod tidy - Verify module tidiness
  • Coverage check (optional)
TypeScript/JavaScript Projects
  • npm run build or yarn build - Build project
  • npm test or yarn test - Run tests
  • npm run lint or yarn lint - Run linter

Exit Codes

Code Meaning
0 All checks passed (GO)
1 Error running checks
2 One or more checks failed (NO-GO)

Dependencies

License

MIT License. See LICENSE for details.

Directories

Path Synopsis
Package checks provides a pluggable validation framework for pre-release checks.
Package checks provides a pluggable validation framework for pre-release checks.
cmd
releasekit command
Package commits provides conventional commit parsing and changelog category suggestion for git commit messages.
Package commits provides conventional commit parsing and changelog category suggestion for git commit messages.
Package detect provides language detection for repositories by scanning for manifest files (go.mod, package.json, Cargo.toml, etc.).
Package detect provides language detection for repositories by scanning for manifest files (go.mod, package.json, Cargo.toml, etc.).
Package git provides a structured abstraction over git CLI commands, using run.Runner for all command execution.
Package git provides a structured abstraction over git CLI commands, using run.Runner for all command execution.
Package output provides formatters for rendering structured data as TOON, JSON, or plain text.
Package output provides formatters for rendering structured data as TOON, JSON, or plain text.
Package run provides a unified command execution layer for all external commands (git, go, ls, gh, linters, etc.).
Package run provides a unified command execution layer for all external commands (git, go, ls, gh, linters, etc.).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL