DEV Community

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.