ReleaseCraft 0.5.3
dotnet add package ReleaseCraft --version 0.5.3
NuGet\Install-Package ReleaseCraft -Version 0.5.3
<PackageReference Include="ReleaseCraft" Version="0.5.3" />
<PackageVersion Include="ReleaseCraft" Version="0.5.3" />
<PackageReference Include="ReleaseCraft" />
paket add ReleaseCraft --version 0.5.3
#r "nuget: ReleaseCraft, 0.5.3"
#:package ReleaseCraft@0.5.3
#addin nuget:?package=ReleaseCraft&version=0.5.3
#tool nuget:?package=ReleaseCraft&version=0.5.3
π― ReleaseCraft
ReleaseCraft is an automated release notes generator that transforms GitHub pull requests into beautifully formatted release notes. Stop writing release notes manuallyβlet ReleaseCraft do it for you!
π Visit our website | π Documentation | π¬ Community
π¦ Current Release Status
Production Ready (v1.0):
- β GitHub connector with Octokit
- β Markdown release notes generator
- β CLI console application
- β Integration tests with real GitHub API
- β Comprehensive documentation
- β Marketing website with interactive demos
In Development (Code Exists, Not Production):
- π AI summarization (OpenAI GPT-4)
- π Multiple output formats (JSON, HTML, CSV)
Planned Features:
- β³ Config file support (.releasecraftrc.json)
- β³ GitHub Action automation
- β³ NuGet package publication
- β³ GitHub Marketplace listing
- β³ Web UI and REST API
- β³ SaaS infrastructure (Auth, Billing, Monitoring)
Note: This is an active development project. Features marked π exist in the codebase but are experimental and not production-ready yet.
β¨ Features
- π Automated Generation - Fetches merged PRs between two git tags automatically
- π Smart Categorization - Organizes changes by labels (features, bugs, docs, etc.)
- π€ AI-Powered Summarization - Generate intelligent release summaries with OpenAI GPT-4
- π Tone Control - Adapt content for different audiences (Professional, Casual, Marketing, Technical)
- π¨ Multiple Formats - Supports Markdown, JSON, HTML, and CSV formats
- β‘ CLI & Library - Use as a command-line tool or integrate into your .NET application
- π GitHub Integration - Seamless integration with GitHub API via Octokit
- ποΈ Extensible Architecture - Hexagonal design allows custom adapters and generators
π Quick Start
Prerequisites
- .NET 10.0 SDK or later
- GitHub Personal Access Token (optional, but recommended for higher rate limits)
Installation
Option 1: Install as Global Tool (Recommended)
Install the ReleaseCraft CLI as a global .NET tool:
dotnet tool install -g ReleaseCraft.CLI
Then use it from anywhere:
releasecraft --owner microsoft --repo vscode --from-tag 1.84.0 --to-tag 1.85.0
Option 2: Install as Library
Add ReleaseCraft packages to your .NET project:
# Install all components (recommended)
dotnet add package ReleaseCraft
# Or install specific components
dotnet add package ReleaseCraft.Engine # Core interfaces and models
dotnet add package ReleaseCraft.Connectors.GitHub # GitHub integration
dotnet add package ReleaseCraft.Templates # Markdown, JSON, HTML, CSV generators
dotnet add package ReleaseCraft.AI # AI-powered summarization
Option 3: Clone and Build from Source
Clone and Build:
git clone https://github.com/releasecraft/releasecraft-core.git
cd releasecraft-core
dotnet build ReleaseCraft.slnx -c Release
Basic Usage
Generate release notes from the command line:
# Using global tool
releasecraft --owner microsoft --repo vscode --from-tag 1.84.0 --to-tag 1.85.0
# Or from source
cd src/ReleaseCraft.CLI
dotnet run -- --owner microsoft --repo vscode --from-tag 1.84.0 --to-tag 1.85.0
With authentication (recommended):
export GITHUB_TOKEN="your_github_token_here"
releasecraft --owner kubernetes --repo kubernetes --from-tag v1.28.0 --to-tag v1.29.0
Save to a file:
releasecraft --owner facebook --repo react --from-tag v18.0.0 --to-tag v18.2.0 --output release-notes.md
With AI summarization:
export OPENAI_API_KEY="sk-your-openai-key"
releasecraft --owner microsoft --repo vscode --from-tag 1.84.0 --to-tag 1.85.0 --ai
With AI and custom tone:
releasecraft --owner facebook --repo react --from-tag v18.0.0 --to-tag v18.2.0 --ai --tone marketing
π€ AI Features (v0.5+) π IN DEVELOPMENT
Note: AI features exist in the codebase but are not yet production-ready. Use with caution.
ReleaseCraft includes AI-powered summarization capabilities (experimental) to generate intelligent, context-aware release notes.
Setup
- Get an OpenAI API key from OpenAI Platform
- Set environment variable:
export OPENAI_API_KEY="sk-your-openai-key-here"
Usage
Enable AI with default settings (Professional tone):
dotnet run -- --owner microsoft --repo vscode --from-tag 1.84.0 --to-tag 1.85.0 --ai
Specify a tone style:
# Professional (default) - formal, business-appropriate
dotnet run -- --owner org --repo repo --from-tag v1.0 --to-tag v2.0 --ai --tone professional
# Casual - friendly, conversational for internal teams
dotnet run -- --owner org --repo repo --from-tag v1.0 --to-tag v2.0 --ai --tone casual
# Marketing - engaging, benefit-focused for public releases
dotnet run -- --owner org --repo repo --from-tag v1.0 --to-tag v2.0 --ai --tone marketing
# Technical - precise, detailed for developer audiences
dotnet run -- --owner org --repo repo --from-tag v1.0 --to-tag v2.0 --ai --tone technical
Example Output
Without AI:
# v1.5.0
**Release Date:** 2024-02-03
## π Features
- Add dark mode support [#127](https://github.com/owner/repo/pull/127) by @user1
- Implement new search algorithm [#128](https://github.com/owner/repo/pull/128) by @user2
With AI Summarization:
# v1.5.0
**Release Date:** 2024-02-03
**Summary:** This release focuses on user experience improvements with dark mode support and significantly faster search performance. Several critical security fixes are also included.
## π Features
- Add dark mode support [#127](https://github.com/owner/repo/pull/127) by @user1
- Implement new search algorithm [#128](https://github.com/owner/repo/pull/128) by @user2
Configuration File
Create .releasecraftrc.json in your project root:
{
"owner": "microsoft",
"repo": "vscode",
"ai": {
"enabled": true,
"apiKey": "env:OPENAI_API_KEY",
"model": "gpt-4-turbo",
"tone": "professional",
"maxTokens": 1000,
"features": {
"summarization": true,
"toneControl": true
}
}
}
Cost Considerations
AI features use OpenAI's GPT-4 Turbo model. Estimated costs:
- Small release (10 PRs): ~$0.02
- Medium release (50 PRs): ~$0.10
- Large release (200 PRs): ~$0.40
Cost optimization:
- Set
maxTokensto limit usage per request - Disable AI when not needed (don't use
--aiflag) - Use cheaper models like
gpt-3.5-turboin config
Security
- Never commit API keys to source control
- Always use environment variables:
OPENAI_API_KEY - API keys are never sent to GitHub or stored in generated files
- AI is opt-in only - disabled by default
π Documentation
- Installation Guide - Detailed setup instructions
- CLI Usage - Command-line examples and troubleshooting
- GitHub Action - Using ReleaseCraft as a GitHub Action
- AI Features - AI summarization, tone control, and pricing
- API Reference - Using ReleaseCraft as a library
- Configuration - Customizing category mappings
- Examples - Sample outputs and use cases
- Contributing - How to contribute to the project
π‘ Usage Examples
CLI Examples
Generate release notes between two tags:
dotnet run -- -o nodejs -r node -f v20.0.0 -t v20.1.0
With custom output path:
dotnet run -- --owner rails --repo rails --from-tag v7.0.0 --to-tag v7.1.0 --output docs/CHANGELOG_v7.1.0.md
Library Usage
Use ReleaseCraft programmatically in your .NET application:
using ReleaseCraft.Connectors.GitHub;
using ReleaseCraft.Templates;
using ReleaseCraft.Engine.Ports;
// Configure GitHub connection
var githubOptions = new GitHubOptions
{
ProductName = "MyApp",
Token = Environment.GetEnvironmentVariable("GITHUB_TOKEN") ?? string.Empty
};
// Create services
var changeSource = new GitHubChangeSource(githubOptions);
var generator = new MarkdownReleaseNotesGenerator(new MarkdownGeneratorOptions());
// Generate release notes
var changes = await changeSource.GetMergedPullRequestsBetweenTagsAsync(
owner: "dotnet",
repo: "aspnetcore",
fromTag: "v8.0.0",
toTag: "v8.1.0",
ct: CancellationToken.None
);
var releaseNotes = generator.Generate(
changes,
version: "v8.1.0",
releaseDate: DateTimeOffset.UtcNow
);
Console.WriteLine(releaseNotes);
π¨ Configuration
ReleaseCraft categorizes pull requests based on their labels. Default categories:
| Category | Labels | Priority |
|---|---|---|
| π Security | security, vulnerability, cve |
1 |
| β οΈ Breaking Changes | breaking, breaking-change |
2 |
| π Features | feature, enhancement |
3 |
| π Bug Fixes | bug, fix |
4 |
| β‘ Performance | performance, optimization, speed |
5 |
| π Documentation | documentation, docs |
6 |
| π§ Maintenance | chore, maintenance, refactor |
7 |
| Other Changes | (unlabeled PRs) | Default |
See Configuration Guide for customization options.
π GitHub Action (v1.1+) β³ PLANNED
Note: GitHub Action is not yet implemented. This is planned for v1.1.
ReleaseCraft will be available as a GitHub Action (planned) to automatically generate and update release notes when new releases are created.
Quick Start
Add this to your repository at .github/workflows/release-notes.yml:
name: Generate Release Notes
on:
release:
types: [created]
jobs:
release-notes:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
- name: Generate Release Notes
uses: releasecraft/releasecraft-core@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
Features
- β Automatic Trigger - Runs on release creation/edit
- β Auto-Detection - Automatically finds previous release tag
- β AI Support - Optional AI summarization
- β Multiple Formats - Markdown, JSON, HTML, CSV
- β No Setup Required - Just add the workflow file
With AI Summarization
- name: Generate AI-Enhanced Release Notes
uses: releasecraft/releasecraft-core@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
enable-ai: true
ai-tone: marketing
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
For complete GitHub Action documentation, see GitHub Action Guide
ποΈ Architecture
ReleaseCraft follows Hexagonal (Ports & Adapters) Architecture:
βββββββββββββββββββββββββββββββββββββββββββ
β User Interface Layer β
β CLI β REST API β GitHub Action β
βββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββ
β Core Domain Layer β
β IGitChangeSource β IReleaseNotes β
β β Generator β
βββββββββββββββββββββββββββββββββββββββββββ
β β
ββββββββββββββββββββ ββββββββββββββββββββ
β GitHub Adapter β β Markdown Gen β
β (Octokit) β β JSON/HTML/CSV β
ββββββββββββββββββββ ββββββββββββββββββββ
For detailed architecture documentation, see ARCHITECTURE.md.
π οΈ Development
Build the Project
dotnet build ReleaseCraft.slnx -c Release
Run Tests
dotnet test ReleaseCraft.slnx
Project Structure
releasecraft-core/
βββ src/
β βββ ReleaseCraft.Engine/ # Core interfaces and models
β βββ ReleaseCraft.Connectors.GitHub/ # GitHub API adapter
β βββ ReleaseCraft.Templates/ # Output generators
β βββ ReleaseCraft.CLI/ # CLI application
βββ tests/
β βββ ReleaseCraft.Engine.Tests/ # Unit tests
β βββ ReleaseCraft.Integration.Tests/ # Integration tests
βββ docs/ # Documentation
See DEVELOPMENT.md for contributing guidelines.
π Authentication
ReleaseCraft supports two authentication methods:
Environment Variable (Recommended):
export GITHUB_TOKEN="ghp_your_token_here"Command-line Flag:
dotnet run -- --owner owner --repo repo --from-tag v1.0 --to-tag v2.0 --token ghp_your_token
Creating a GitHub Token:
- Go to GitHub Settings β Developer Settings β Personal Access Tokens
- Click "Generate new token (classic)"
- Select scopes:
public_repo(for public repos) orrepo(for private repos) - Copy the token and store it securely
See CLI Usage Guide for more details.
π€ Contributing
We welcome contributions! Please see our Contributing Guide for details.
Quick Contribution Flow:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our coding standards
- Run tests (
dotnet test) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π Roadmap
β Phase 1 β Core Engine (MVP v0.1) β COMPLETE
- β GitHub connector with Octokit
- β Markdown release notes generator
- β CLI console application
- β Integration tests
- β Documentation
Phase 2 β Intelligence (v0.5) π IN DEVELOPMENT
- π AI summarization with OpenAI GPT-4 (code exists, not in prod)
- π Tone control (Professional, Casual, Marketing, Technical) (code exists, not in prod)
- π Config file support (.releasecraftrc.json) (code exists, not in prod)
- β³ Smart categorization (planned for v0.5.1)
- β³ Audience modes (Client vs Internal) (planned)
Phase 3 β Platform (v1.0) β³ PLANNED
- β³ REST API (planned)
- β³ Multiple output formats (JSON, HTML, CSV) (code exists, not in prod)
- β³ Web UI (planned)
Phase 4 β Ecosystem (v1.1+) β³ PLANNED
- β³ GitHub Action for automation (not started)
- β³ NuGet package publishing (not started)
- β³ Marketplace distribution (not started)
See VISION.md for the complete long-term vision.
π Project Documentation
Comprehensive documentation for understanding and contributing to ReleaseCraft:
- VISION.md - Product vision, strategy, and business model
- PRD.md - Product requirements document with detailed feature specifications
- PROJECT.md - Technical project overview and architecture summary
- ARCHITECTURE.md - Detailed technical architecture and design patterns
- DEVELOPMENT.md - Developer setup, workflow, and contribution guide
- docs/ - API reference, CLI usage, and examples
Start with VISION.md to understand the product goals, then dive into technical details with ARCHITECTURE.md.
π Website
The ReleaseCraft website is now live at releasecraft.io, featuring:
- Product information and documentation
- Interactive demos and examples
- Community resources and support
- Download links and installation guides
- Privacy-focused design with no invasive tracking
Built with Angular 21, the website achieved a 9.2/10 quality score in business analysis review.
π Product-Market Fit Validation
We're validating demand for ReleaseCraft before investing in Phase 3 (Web UI + SaaS). Help us by:
- β Star this repository if you find it useful
- π¦ Download and try the CLI from NuGet
- π§ Join our early access list on releasecraft.io
- π¬ Share feedback in GitHub Discussions
We're tracking key metrics (stars, downloads, signups) to make data-driven decisions about future development. See ISSUE-26-IMPLEMENTATION.md for details on our automated PMF validation process.
Current Status: v1.1 - Website Improvements (post-launch optimizations)
Next Phase Decision: Based on community interest and usage patterns
π License
This project is licensed under the MIT License.
π Acknowledgments
- Built with Octokit.NET for GitHub API integration
- Inspired by tools like Release Drafter
π Support
- π Documentation
- π Report a Bug
- π‘ Request a Feature
- π¬ Discussions
Made with β€οΈ by the ReleaseCraft team
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- ReleaseCraft.AI (>= 0.5.3)
- ReleaseCraft.Connectors.GitHub (>= 0.5.3)
- ReleaseCraft.Engine (>= 0.5.3)
- ReleaseCraft.Templates (>= 0.5.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.5.3 | 0 | 2/12/2026 |