Daily GitHub activity snapshots into your own Postgres, rendered back into a profile README.
shiplog is a forkable profile-README pipeline. You own the database, GitHub Actions keeps it fresh, and a daily publisher writes the generated README to the repository you choose.
Why not?
People care about control over their own data. Your contribution history is part of that data too, and it should not only live inside a platform-owned graph.
shiplog gives you your own contribution archive and one umbrella for activity across platforms. GitHub is supported first, and the shape is built so more providers can fit later.
- Setup guide: fork the repo, create the database, configure tokens, and run the workflows.
- Config builder: generate
shiplog.config.jsonand the Base64 value for workflows. - Example config: copy this when creating your own
shiplog.config.json. - Config schema: full JSON schema for the config file.
- FAQ: common setup and operations questions.
- Collects GitHub commits, pull requests, reviews, issues, repositories, languages, and organization context.
- Stores activity in Postgres with historical tables and daily rollups.
- Runs scheduled GitHub Actions for freshness, history, integrity repair, housekeeping, and once-daily publishing.
- Records short-lived diagnostic error events in Postgres for workflow investigation.
- Uses stable GitHub IDs so username, organization, and repository renames do not split history.
- Setup guide: run shiplog in your own fork.
- Schema: database tables, views, and timestamp semantics.
- GitHub mapping: how GitHub data maps into shiplog.
- Conventions: project naming and implementation conventions.
- Contributing: development workflow for changing shiplog itself.
bun run init
bun run backfill
bun run collect
bun run drift
bun run maintenance
bun run errors:prune
bun run render
bun run publishFor the full setup flow, use SETUP_GUIDE.md.