# Show HN: Log what you ship in your voice

> Source: <https://shiplog.life/>
> Published: 2026-08-12 05:40:45+00:00



```
░░░█▀▀░█░█░▀█▀░█▀█░█░░░█▀█░█▀▀░░
░░░▀▀█░█▀█░░█░░█▀▀░█░░░█░█░█░█░░
░░░▀▀▀░▀░▀░▀▀▀░▀░░░▀▀▀░▀▀▀░▀▀▀░░Your buddy that tracks what you ship
https://shiplog.life
```

# Log what you ship.

A single-binary CLI that crawls your repos, summarizes the work in your own voice with the AI of your choice, and stores it where *you* own the data.

[[email protected]](/cdn-cgi/l/email-protection)-- Shipped a complete password reset flow, including "forgot password" and "reset password" pages. Wired up a captcha on the auth forms. Migrated several type definitions from numbers to strings to support UUIDs, and refreshed the marketing page above the fold. == ~/code/notes-app == -- 2026-05-04 ·

[[email protected]](/cdn-cgi/l/email-protection)-- Cleaned up the search index so deleted notes drop out of results immediately instead of waiting for the nightly rebuild. Added keyboard shortcuts for the sidebar.

## install

## what it is

shiplog watches your code directory, groups commits into bundles (per‑day, per‑week, per‑commit — your call), runs each bundle through an AI to write a short, human summary in your voice, and stores the result as a `changelog.json`

in `~/.shiplog/`

. Sinks publish copies elsewhere — Cloudflare R2, S3, a CSV mirror for spreadsheets — but the local file is the source of truth.

One Go binary. No SaaS, no telemetry, no account. Bring your own AI key (Anthropic, Gemini, or local Ollama).

## first run

One wizard. Pick your identity (the git email that counts as “you”), the directory shiplog should crawl, and the AI provider it should call.

[[email protected]](/cdn-cgi/l/email-protection)code roots ~/code AI provider anthropic · claude-sonnet-4-6 · Paste your API key. Stored in your OS keyring, never in config.json. › ********************************** ✓ setup complete. try shiplog scan --dry-run to see what it’ll crawl.

From there: `shiplog scan`

writes summaries, `shiplog log`

browses them, `shiplog daemon --background`

runs the scan loop without tying up a terminal. Every flag, every config field, every troubleshooting case is in [the docs](/docs).

## what shiplog won’t do

**Send your code anywhere you didn’t configure.** The AI provider you pick is the only network call, and you can swap it for local Ollama.**Store secrets in** Every credential goes to the OS keyring.`config.json`

.**Touch your repos.** Read-only — no checkouts, no fetches, no writes.**Lock you in.** The changelog is a plain JSON array. Take it and go.
