ReleaseCraft.AI
0.5.3-v0.5.3
dotnet add package ReleaseCraft.AI --version 0.5.3-v0.5.3
NuGet\Install-Package ReleaseCraft.AI -Version 0.5.3-v0.5.3
<PackageReference Include="ReleaseCraft.AI" Version="0.5.3-v0.5.3" />
<PackageVersion Include="ReleaseCraft.AI" Version="0.5.3-v0.5.3" />
<PackageReference Include="ReleaseCraft.AI" />
paket add ReleaseCraft.AI --version 0.5.3-v0.5.3
#r "nuget: ReleaseCraft.AI, 0.5.3-v0.5.3"
#:package ReleaseCraft.AI@0.5.3-v0.5.3
#addin nuget:?package=ReleaseCraft.AI&version=0.5.3-v0.5.3&prerelease
#tool nuget:?package=ReleaseCraft.AI&version=0.5.3-v0.5.3&prerelease
π― 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
- β GitHub Action (ready for marketplace listing)
In Development (Code Exists, Not Production):
- π AI summarization (OpenAI GPT-4)
- π Multiple output formats (JSON, HTML, CSV)
Planned Features:
- β³ Config file support (.releasecraftrc.json)
- β NuGet package publication (ALL packages published!)
- β³ GitHub Marketplace listing (assets ready, pending submission)
- β³ 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
- π Webhook Support - Real-time notifications to Slack, Teams, Discord, and custom endpoints
- β‘ 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: GitHub Action (Easiest for CI/CD)
Use ReleaseCraft in your GitHub workflows to automatically generate release notes:
# .github/workflows/release.yml
name: Release Notes
on:
release:
types: [created]
jobs:
notes:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
- uses: releasecraft/releasecraft-core@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
π Full Action Documentation | π‘ Workflow Examples
Option 2: Install as Global Tool (Recommended for CLI)
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 3: 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
dotnet add package ReleaseCraft.Webhooks # Webhook delivery for notifications
Option 4: 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
π Webhooks
ReleaseCraft supports webhooks for real-time notifications to Slack, Microsoft Teams, Discord, and custom endpoints.
Quick Setup
Add webhooks to your .releasecraftrc.json:
{
"owner": "mycompany",
"repo": "myproject",
"webhooks": [
{
"id": "slack-notifications",
"url": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL",
"kind": "slack",
"events": ["release_notes.generated"]
},
{
"id": "teams-channel",
"url": "https://outlook.office.com/webhook/YOUR-WEBHOOK-URL",
"kind": "teams",
"events": ["release_notes.generated", "release_notes.failed"]
}
]
}
Supported Platforms
- Slack - Rich Block Kit formatting
- Microsoft Teams - Adaptive Card format
- Discord - Rich embed format
- Generic - Raw JSON for custom integrations
Security
Webhooks support HMAC-SHA256 signatures and environment variable resolution for secrets:
{
"id": "secure-webhook",
"url": "https://api.example.com/webhook",
"secret": "env:WEBHOOK_SECRET",
"headers": {
"Authorization": "Bearer env:API_TOKEN"
}
}
For complete webhooks documentation, see Webhooks 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+) π IN PROGRESS
- β NuGet package publishing (ALL 7 packages now published!)
- β³ GitHub Action for automation (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
- Azure.AI.OpenAI (>= 2.1.0)
- ReleaseCraft.Engine (>= 0.5.3-v0.5.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ReleaseCraft.AI:
| Package | Downloads |
|---|---|
|
ReleaseCraft
All-in-one meta-package for ReleaseCraft containing all core components: Engine, GitHub Connector, Templates, and AI Summarization. Install this package to get everything you need to generate beautiful release notes from GitHub pull requests. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.5.3-v0.5.3 | 1 | 2/13/2026 |