OpenLog-Demo.mp4
OpenLog automates changelog writing. Select commits, generate an AI draft (Groq), polish in a rich BlockNote workstation, and publish to GitHub Releases.
Maintaining clear release notes is repetitive and error-prone. OpenLog pulls commits, groups them semantically, and uses a model (Groq by default) to produce concise, user-friendly changelogs you can edit and publish.
- AI-powered changelog generation (Groq / Llama 3.3) — server-side generation and streaming
- Streaming-friendly client with progressive "typewriter" reveal and skeleton loading
- BlockNote rich editor for editing generated drafts (WYSIWYG) with autosave and explicit "Restore Draft" CTA
- Commit selection UI with persisted selection per-repo
- Smart SemVer suggestions (fetch latest GitHub tag and suggest Patch/Minor/Major)
- One-click publish to GitHub Releases from the workstation
- Lightweight Model selector (Groq enabled); other models are intentionally disabled in code
Download and run locally:
git clone https://github.com/PratikRai0101/open-log.git
cd open-log
pnpm install
pnpm dev
# Visit http://localhost:3000- Node.js 18+
- pnpm (recommended)
Copy .env.example to .env.local and fill required keys. Currently required env vars:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY— Clerk frontend key (auth)CLERK_SECRET_KEY— Clerk server key (auth)GROQ_API_KEY— Groq provider API key (AI generation, required)GITHUB_OAUTH_TEMPLATE— OAuth template name used by Clerk (defaults tooauth_githubin.env.example)GITHUB_ACCESS_TOKEN— optional: a personal or machine token used server-side to fetch release metadata when present (not required for publish which uses Clerk OAuth)
Other provider keys (Gemini / Kimi) are intentionally disabled by default and are not required. See CONTRIBUTING.md for how to re-enable provider paths.
- Log in with GitHub via Clerk.
- Select a connected repository in the workspace and pick commits to include.
- Press
Generate(or⌘+Enter) to stream an AI draft (Groq). - Edit the draft using the BlockNote editor. Drafts are autosaved locally; use "Restore Draft" to recover.
- Click
Publishto create a GitHub Release for the selected repo.
| Action | Shortcut |
|---|---|
| Search Commits | ⌘K |
| Navigate Commits | J / K |
| Select Commit | Space |
| Generate Draft | ⌘ + Enter |
| Toggle Edit/Preview | ⌘E |
pnpm dev— Run the app locally- Components that are heavy (Editor, ModelSelector) are dynamically imported to reduce initial bundle size.
Local dev notes:
- Authentication: the app uses Clerk for auth. Set
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYandCLERK_SECRET_KEYin.env.localto enable full end-to-end flows that require publishing. - Publishing: the workstation uses the GitHub OAuth token issued to the signed-in user (via Clerk) to create releases. The server-side
GITHUB_ACCESS_TOKENis only used as an optional server-side fallback for metadata lookups (e.g. fetching the latest release tag).
See CONTRIBUTING.md for development conventions (Conventional Commits, branch naming, and testing).
Thanks for considering a contribution — see CONTRIBUTING.md for the full guide (commit format, branch naming, and local development steps).
MIT — built with ❤️ by Pratik Rai.