Skip to content

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

License

Notifications You must be signed in to change notification settings

grokify/releasekit

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages