You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a clean, content-only PR adding src/content/posts/ep66.mdx for the new episode about CLI tooling with TypeScript + Bun. The change follows existing conventions well.
✅ What looks good
Frontmatter structure matches the established pattern (ep65, ep64, etc.) exactly — type, status, slug, guid, season, episodeType, explicit, field ordering all consistent.
Inline code escaping for bun init / bun build --compile with backticks is the correct fix and the PR description explains the -- → smartypants issue clearly. Consistent with how other episodes handle commands.
biliUrl format (//player.bilibili.com/...) is protocol-relative, matching all recent episodes.
Shownotes tone and structure match the conversational Chinese style of the podcast.
⚠️ Items to address
size: 0 and duration: 0 on a published episode
These two fields matter for podcast RSS feeds — size is the audio file's byte count and duration the episode length. Podcast clients (小宇宙, Apple Podcasts) may display incorrect or missing playback times when these are 0. ep65 also shipped with zeros, so this is a pattern, but it's worth asking: is there a plan to backfill these, or does the 小宇宙 feed override them independently?
If the values genuinely aren't available at publish time, a comment in a future CLAUDE.md entry or issue would be useful so contributors know these can be left blank.
frontend category
The episode is about CLI tooling (citty, Ink, goreleaser). The frontend tag feels stretched — Ink uses React but the output is a terminal TUI. Minor, but tui would be more precise. Not a blocker.
No concerns on
Security (static content, no dynamic inputs)
Performance (adds one MDX file, same as every other episode)
Test coverage (no test framework in this project per CLAUDE.md; pnpm astro check passing is the appropriate gate)
The pnpm build OG-image failure noted in the PR description is a pre-existing sandbox network issue, unrelated to this change.
Overall: LGTM with one question about the size/duration zeros. If that's accepted as the current workflow, this can merge as-is.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要 / Summary
新增播客单集 EP66:用 TS 写命令行工具,比你想的简单多了,文件为
src/content/posts/ep66.mdx,沿用现有单集模板。主题:用 TypeScript + Bun 写命令行工具,命令解析用 citty、TUI 用 Ink,
bun build --compile打成单文件 binary,再用 goreleaser 搞定 checksum、changelog、签名、公证与 Homebrew 分发。元数据 / Metadata
pVQViO74jLEBV1ugVf6mEAF说明 / Notes
categories,去掉了品牌/通用标签(#程序员、#AsyncTalk、#异步聊技术)。bun init/bun build --compile用反引号包成了行内代码——否则站点默认的 smartypants 会把--吞掉,命令会变成bun build compile。这与现有单集对sudo、execCommand等的处理一致。验证 / Verification
pnpm astro check— 0 errors(frontmatter 通过 content schema 校验)/posts/ep66:标题、shownotes、YouTube + Bilibili 嵌入均正常;单集按publicationDate排在/posts列表最前pnpm build在 OG 图片生成阶段失败,原因是当前沙箱网络策略拦截了ik.imagekit.io上的 logo(HTTP 403)。该问题影响所有单集(构建在 ep0 即中断),与本次内容改动无关。https://claude.ai/code/session_01LHYnpDfJS98GD99cvCzXZb
Generated by Claude Code