I built a service that turns GitHub PRs to customer readable changelogs
What it does
One command:
pip install shiplog-cli
shiplog generate your-org/your-repo --days 30
It fetches your merged PRs, runs each through an AI transform, and outputs a changelog grouped by category - New, Improved, Fixed, Infrastructure. A PR titled fix: pagination offset bug in list endpoint becomes:
▎ Fixed
▎ Pagination now returns correct results - Previously, navigating past the first page of list views could skip or duplicate items due to an offset calculation error.
How it works
GitHub PRs → Shiplog API → { category, title, body } → Markdown or JSON
- Auto-detects your repo from git origin - no config needed
- Skips bot PRs (dependabot, renovate) by default
- Runs generations in parallel with automatic rate-limit retries
- Outputs markdown or JSON, to stdout or a file
Quick examples
Auto-detect repo, last 14 days:
cd your-project
shiplog generate --days 14
Specific repo, write to file:
shiplog generate owner/repo --days 30 -o CHANGELOG.md
JSON output for feeding into other tools:
shiplog generate owner/repo --format json
Transform a single PR without GitHub:
shiplog single "Add dark mode support" --body "Adds theme toggle in settings"
Why not just use git log?
git log gives you developer context. Changelogs need user context. "Refactor auth middleware to use JWT validation" means nothing to a customer. Shiplog rewrites it as something like:
▎ Improved
▎ Login sessions are now more secure - We upgraded how authentication tokens are validated, improving security without any changes on your end.
That's the gap it fills.
Try it
pip install shiplog-cli
shiplog generate --days 7
It works on any public repo without auth. For private repos, it uses GH_TOKEN or gh auth token automatically.
Site: https://shiplog.arksoft.xyz
Would love feedback - what would make this useful for your workflow?
Comments
No comments yet. Start the discussion.