用途:维护 joelclaw.com 这个 Next.js 应用(位于 joelclaw monorepo 的 apps/web/),涵盖写博客文章、编辑页面、更新网络页等任务。推送 main 分支后部署到 Vercel,采用深色、极简风格。
主要能力:内容以 Convex 为运行时来源,contentResources 中保存 article:<slug>、adr:<slug>、discovery:<slug>;apps/web/content/ 下的文件仅作种子/回填材料。文章字段沿用 MDX frontmatter 结构(title、type、date、updated、description、tags、draft、source、channel、duration),按 updated ?? date 降序排序,slug 取自 fields.slug。支持 YouTube 嵌入组件 <YouTube id="VIDEO_ID" />。
使用方式:写文章时生成 slug,以 resourceId = article:<slug> 写入 Convex,正文放 fields.content,draft 设为 true,date 用当前 ISO 时间戳;发布时把 draft 改为 false 并更新 updated,再通过 POST /api/revalidate 重新验证 tags(post:<slug>、article:<slug>、articles)与 paths(/、/<slug>、/<slug>.md、/<slug>/md、/feed.xml、/sitemap.md),并核对首页、文章页、markdown 与 feed。回填脚本为 scripts/seed-articles.ts 和 scripts/seed-adrs-discoveries.ts。
适用场景:博客文章、ADR、discoveries 与网络状态页的日常维护。
限制:公开页面须遵守 OPSEC 规则,不得暴露真实基础设施细节,主机名用 Stephen King 宇宙别名,不发布端口、真实 IP/CIDR、用户名前缀,网络设备品牌型号需泛化;Tailscale 可提及但不写 tailnet 名称或节点 IP。不得对私有 joelclaw-api 仓库添加 link: 依赖,因为 Vercel 只克隆本仓库。本地文件系统回退仅限非生产环境(JOELCLAW_ALLOW_FILESYSTEM_POSTS_FALLBACK=1、JOELCLAW_ALLOW_FILESYSTEM_CONTENT_FALLBACK=1)。写作风格使用 joel-writing-style 技能,不得编造 Joel 的观点。其余细节暂未提供。