An AI agent that explores GitHub commits, investigates unclear changes by fetching diffs on demand, and generates developer-friendly changelogs. Built with the Claude Agent SDK and Trigger.dev.
- Next.js – Frontend framework using App Router
- Claude Agent SDK – Anthropic's agent SDK for building AI agents with custom tools
- Trigger.dev – Background task orchestration with real-time streaming to the frontend, observability, and deployment.
- Octokit – GitHub API client for fetching commits and diffs.
claude-changelog-generator.mp4
-
Install dependencies
npm install
-
Configure environment variables
cp .env.example .env
TRIGGER_SECRET_KEY– From Trigger.dev dashboardTRIGGER_PROJECT_REF– Your project ref (starts withproj_)ANTHROPIC_API_KEY– From Anthropic ConsoleGITHUB_TOKEN(optional) – For private repos, needsreposcope
-
Start development servers
# Terminal 1: Next.js npm run dev # Terminal 2: Trigger.dev npx trigger.dev@latest dev
-
Open http://localhost:3000 in your browser to see the demo
- Two-phase analysis – Lists all commits first, then selectively fetches diffs only for ambiguous ones to minimize token usage
- Custom MCP tools –
list_commitsandget_commit_diffcalled autonomously by Claude - Real-time streaming – Changelog streams to the frontend as it's generated via Trigger.dev Realtime
- Live observability – Agent phase, turn count, and tool calls broadcast via run metadata
- Markdown rendering – Streamed output formatted with Streamdown and Shiki syntax highlighting
- Private repo support – Optional GitHub token for private repositories
- trigger/generate-changelog.ts – Main task with MCP tools
- trigger/changelog-stream.ts – Stream definition
- app/api/generate-changelog/route.ts – API endpoint
- app/response/[runId]/page.tsx – Streaming display page