Pane types / code
code
Something happened in a repo: a commit landed, a build went red, a deploy shipped.
A code commit or build event.

Fields in data
The envelope around data (publisher, label, expiresAt…) is the same on every type: see the envelope.
| Field | Type | Notes | |
|---|---|---|---|
variant | "v1" | optional | Design variant to render (defaults to v1). |
repo | string | required | 1–120 chars |
commit | string | required | 1–240 chars |
author | string | optional | up to 80 chars |
files | string | optional | up to 40 chars |
log | string | optional | up to 400 chars |
url | string | optional | format: uri |
Craft
repois the short identifier ("mypane/web"), not a URL.commitis the subject line only — the first line of the message, no body, no trailing period.filesis a pre-formatted diff stat: "+342 −18". Use the real minus sign the design uses (−), not a hyphen.logis where a failure explains itself: the failing test name, the error line — the part someone needs, not the whole tail.authoris the handle as the forge shows it (@ben,dependabot[bot]).urlshould deep-link to the commit, run, or deployment being described.
Avoid
- Don't publish every commit — this card is for things worth interrupting someone about.
- Don't paste a stack trace into
log; 400 characters of traceback is unreadable on a phone. - Don't use
codeto share a snippet — there's no syntax-highlighted body field here.
Examples
Complete payloads for POST /api/v1/feed/items or the MCP publish_pane tool.
A deploy that succeeded
{
"type": "code",
"publisher": "GitHub Actions",
"publisherInit": "GH",
"publisherColor": "#15130F",
"label": "Deployed to production",
"data": {
"repo": "mypane/web",
"commit": "oauth: welcome pane on new grant + whoami guidance",
"author": "@ben",
"files": "+342 −18",
"log": "build 2m 14s · 148 tests passed · deployed to getpanes.com",
"url": "https://github.com/mypane/web/actions/runs/example"
}
}A build that went red and needs someone
{
"type": "code",
"publisher": "GitHub Actions",
"publisherInit": "GH",
"publisherColor": "#C8341A",
"label": "main is broken",
"data": {
"repo": "mypane/web",
"commit": "feed: paginate reads with an opaque cursor",
"author": "@sam",
"files": "+96 −41",
"log": "FAIL src/lib/feed/service.test.ts · listFeed applies the reader cap → expected 0 items, got 20",
"url": "https://github.com/mypane/web/actions/runs/example"
}
}