惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
博客园_首页
Schneier on Security
Schneier on Security
T
Tailwind CSS Blog
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
雷峰网
雷峰网
Jina AI
Jina AI
腾讯CDC
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
B
Blog RSS Feed
宝玉的分享
宝玉的分享
博客园 - 叶小钗
S
SegmentFault 最新的问题
酷 壳 – CoolShell
酷 壳 – CoolShell
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
A
About on SuperTechFans
爱范儿
爱范儿
Y
Y Combinator Blog
量子位
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
Hacker News - Newest:
Hacker News - Newest: "LLM"
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News | PayPal Newsroom
I
Intezer
Security Latest
Security Latest
V
Visual Studio Blog
H
Hacker News: Front Page
Scott Helme
Scott Helme
Latest news
Latest news
Forbes - Security
Forbes - Security
Engineering at Meta
Engineering at Meta
Cyberwarzone
Cyberwarzone
C
Check Point Blog
Last Week in AI
Last Week in AI
Google Online Security Blog
Google Online Security Blog
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 最新话题
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint

Buttondown's blog

Email could have been X.400 times better The physicists who convinced Fermilab to send Brazil's emails Better in-app previews Analytics 3.0 Subscriber ID variables Comments! Send latest premium action Automation filtering Free API subscribers Surveys in automations Reply to replies Labels for RSS feeds How Jeremy Singer-Vine curates curious datasets for readers 2023 (and what's next) Email vs web content Sort by engagement Better gift subscriptions How Andy Dehnart built a career reviewing television New email template Email-based automations Opt-in reply tracking Automatic alt text More social network integrations Sort by metadata Overlarge image warnings Automation tag actions Pause emails mid-flight Search tags and automations Gift via automations Subscriber-driving emails Programmatic webhooks Email page views Tag statistics Discord webhook formatting Automatic subscriber cleanup RSS subscriber count Weekly subscriber reports More list columns Customizable list views How Max Voltar turned a side gig into a trusted keyboard resource How Nick Disabato runs two newsletters from one design consultancy Made-for-you share images Automation improvements End-of-email surveys Filter by date Survey-triggered automations More automation functionality New webhooks How France Insider built a news service with paid subscribers Email as primary key How John Willshire unites two businesses in one newsletter Confirmation reminders Email churned subscribers Email-to-draft Subscriber metadata columns ChatGPT integration Faster web archives Referral program Better search results TikTok embeds Subscriber timeline Spotify embeds Improved RSS-to-email Subscribe page OG image New analytics page Google Tag Manager Even more subscriber types Integrating Duda with Buttondown Linktree integration guide Advanced and enterprise plans Framer integration guide API requests page Team collaboration In-email surveys Better CSS settings Better RSS automation fetching! Editor toolbar improvements Smart filters Faster emails page RSS automations Faster email analytics Zapier error codes Image accessibility checks Tags vs newsletters OG image picker Image editor improvements API bulk actions Improved OpenAPI spec Mastodon support Better subscriber filtering Better subscriber validation Hotkey support! Programmatic access to analytics Stronger bulk actions Faster archive page Custom canonical URLs Email slug and metadata Improved writing interface Generating a Typescript router in Django Filter emails by source
CLI
Justin Duke · 2025-05-28 · via Buttondown's blog

Command-line tool for bidirectional syncing of emails, automations, and images.

Justin Duke

Justin Duke

May 28, 2025

A screenshot of the CLI

We've launched a CLI for Buttondown!

Try it now:

pnpx @buttondown/cli login

Why build a CLI?

We've put a lot of effort into making the Buttondown API as powerful and flexible as possible, and have resisted the urge to build "yes-and" surfaces on top of it since it felt like adding surface area without commensurate value: having a Python wrapper around our API is nice, but it doesn't actually accomplish anything that twenty lines of boilerplate code can't.

Similarly, rather than be yet another CLI that acts as a glorified wrapper around the OpenAPI spec, we really wanted a CLI to be purpose-driven and accomplish something that would be otherwise onerous or impossible for an average user to build. In this case, we wanted to build a file-first sync engine for your entire newsletter. You can bidirectionally sync emails, automations, images and attachments, and much more as soon as we figure out when to build it and whether or not it's useful.

There's still a lot of functionality planned with the CLI: support for automations, attachments, and surveys will be coming soon. We also want to replace the easy-to-set-up-but-vaguely-janky API key-based auth with OAuth, like the big boys do.

But our philosophy has always been to release things not when they're finished, but when their presence is valuable enough to warrant their existence. Please take a look, give it a spin, and let us know what you think.