Justin Duke posted this in Buttondown’s public discussions on 30 October 2024. The January 2025 stack note is the later confirmation that Linear had replaced GitHub Issues as the issue tracker.
The October post is the why. The January post is one bullet in a longer tool list, next to Plain, Trotto, and Better Stack. I am keeping those other tools out of this migration. They are on the January page if you want the rest of the stack.
The GitHub Issues → Linear playbook is the issue import, the user map, and the comment check. Justin describes a product decision and a public-roadmap rule. He does not describe an import.
Why Linear
He quotes an internal decision log. At Buttondown’s size, Linear was more pleasant. GitHub Projects still made ordinary issue-tracker work hard. The examples are upstream and downstream blockers, and a dedicated view for projects. He also says Linear is faster in a way he expects to feel across a week, on tasks Issues already does.
A second reason depends on support. If they moved from Help Scout to Plain, Linear’s helpdesk integrations were better than GitHub’s, and they could retire an internal tool called Roadmapper. In October that Plain move was still a hypothesis, with a link to a private Notion doc. By 9 January 2025 the stack page lists Plain as the Help Scout replacement. He still had not written the support migration up.
The third reason is taste. He wanted Linear’s grouped list views as a reference for Buttondown’s own interface. That is a design note, not a data migration.
What stayed on GitHub
Internal tracking moved to Linear. The public roadmap did not disappear. Notable items, he names ActivityPub and other large features, stay on GitHub so people can comment. Bugs and feature requests filed on that roadmap still sync into Linear, and Buttondown still reads them.
He does not name the sync tool, the field map, or how many open issues existed on either side. “It’ll get synced” is the whole mechanism. I am not filling in Linear’s GitHub importer, a CSV, or a count.
There is no cutover date beyond the two posts, no mention of lost comments, and no screenshot of a Linear project.
What I would copy
Split public intake from internal tracking if strangers file bugs in GitHub today. Buttondown kept a GitHub surface and pointed it at Linear. Closing Issues without that door would have dropped the roadmap conversation.
Write the blocker and the projects-view gaps down before you buy. Those are the concrete misses he lists. “More pleasant” is the mood. The misses are what you can test on a GitHub Project in an afternoon.
Treat the Help Scout and Linear decisions as coupled only where he coupled them. Linear’s helpdesk story mattered because Plain was coming. If you are not changing the support desk, that half of the log is not your requirement.
The GitHub Issues → Linear playbook is the import he skipped in public. Use the October note for the roadmap rule, and the January bullet as the confirmation that the internal tracker had changed.