Open source · free · runs on your machine

Your daily work,
stacked into a worklog.

Like a trail cairn, it stacks one mark of work each day. cairn collects your GitHub PRs and commits, summarizes them with Claude, and publishes a daily worklog to Notion — your work, documented automatically and ready to look back on.

v0.25.0 · Apple Silicon · AGPL-3.0

Unsigned app — if macOS says it's damaged on first launch, run:

How it works

Collect → Summarize → Publish

Three steps, fully automatic once set up.

01
PRfeat(api): chunk oversized queries#142
commitfix: race in publish queuea8bf3c
PRrefactor: collector dedup + cache#138

Collect

Your authored & assigned GitHub PRs and local Git commits for the day — across multiple accounts and repos. No code bodies ever leave your machine.

02

Summarize

Claude turns raw activity into a clean, quantified summary — what shipped, the outcome, the numbers. Runs on your own Claude login, no extra cost.

03

Publish

A dated worklog lands in Notion with a copy-paste-ready Share section. Weekly and monthly rollups are generated automatically.

The output

A worklog that reads itself back

Each day lands in Notion as a clean page — a project-level summary, a copy-paste-ready Share section for standups, and a detailed Done list with the numbers. Months of them roll up into the dashboard — a record you can look back on.

  • Summary · Share · Done, every day
  • Numbers preserved — counts, %, before→after
  • Weekly & monthly rollups, automatic
  • Customizable AI prompts — daily / weekly / monthly

Setup

Connected in a few minutes

cairn keeps everything on your machine — you connect your own tokens during onboarding.

NotionWhere worklogs publish

  1. Create an integration at notion.so/my-integrations and copy the token (ntn_…).
  2. Share the parent page you want worklogs under with that integration.
  3. Paste the token — cairn finds the page and auto-creates the DB.

GitHubWhere activity is collected

  1. Easiest: with the GitHub CLI (gh) installed and signed in, cairn imports the token automatically — no PAT needed.
  2. The classic-token link prefills the recommended scopes.
  3. Or a fine-grained PAT with Pull requests · Contents · Metadata = Read
  4. Paste it in onboarding — it verifies automatically.

ClaudeThe summarizer

  1. Install Claude Code and log in — cairn inherits that auth, no extra cost.
  2. Or paste an Anthropic API key. Either works.

Notion integration — 30-second walkthrough

macOS note: the app isn't code-signed yet, so the first launch is blocked by Gatekeeper. Right-click the app → Open, or run xattr -d com.apple.quarantine /Applications/Cairn.app once.

Start stacking your worklog

Download for macOS

v0.25.0 · Apple Silicon · AGPL-3.0

Unsigned app — if macOS says it's damaged on first launch, run: