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
The blog/ directory has 29 posts but a batch of shipped, SEO-worthy features have no post yet. These are high search-intent topics (Next.js-alternative migration queries, concrete how-tos) that should drive organic traffic to the marketing site.
Design / approach
Write one markdown post per topic in blog/<slug>.md, matching the existing house style (first-person, plain-language hook, jargon explained in parentheses, no em-dashes per AGENTS.md invariant 11, SEO-rich description front matter). Slot dates into the existing timeline (latest existing post is 2026-07-06) and lightly adjust a few existing dates so the cadence reads evenly. All posts land in one PR.
Where to edit: add blog/<slug>.md files at the repo root. The blog index reads this dir directly (website/modules/blog/queries/list-posts.server.ts, BLOG_DIR = <repo>/blog), sorts by date DESC, and requires title + date front matter; description, tags (comma-separated), author optional.
Front matter shape (copy an existing post, e.g. blog/csrf-protection-without-tokens.md): title, date (ISO with +05:30), slug, description (SEO), tags, author: Vivek.
Landmines: AGENTS.md invariant 11 bans em-dashes (U+2014), space-surrounded hyphen/semicolon as pause punctuation, and a colon after a code-shaped LHS. The .claude/hooks/block-prose-punctuation.sh hook scans NEW content and will block a commit that violates it. Write clean prose.
No src changes, so the doc/scaffold/test commit gates do not apply; content-only.
Invariants: keep the first-person voice, explain acronyms in parentheses for beginners, one concept per post.
Acceptance criteria
One blog/<slug>.md per topic above, valid front matter, appears in the index sorted by date
No em-dashes or banned pause-punctuation (hook passes)
Problem
The
blog/directory has 29 posts but a batch of shipped, SEO-worthy features have no post yet. These are high search-intent topics (Next.js-alternative migration queries, concrete how-tos) that should drive organic traffic to the marketing site.Design / approach
Write one markdown post per topic in
blog/<slug>.md, matching the existing house style (first-person, plain-language hook, jargon explained in parentheses, no em-dashes per AGENTS.md invariant 11, SEO-richdescriptionfront matter). Slot dates into the existing timeline (latest existing post is 2026-07-06) and lightly adjust a few existing dates so the cadence reads evenly. All posts land in one PR.Topics (each backed by a shipped PR):
forbidden()/unauthorized(), nearest-winsnot-found, sync-or-awaitparams(Close Next.js 16 file-routing parity gaps (async params, forbidden/unauthorized, global-error/not-found, instrumentation) #848)paths(the#import alias) (feat: # path-alias imports + convert in-repo apps & scaffold #565)Implementation notes (for the implementing agent)
blog/<slug>.mdfiles at the repo root. The blog index reads this dir directly (website/modules/blog/queries/list-posts.server.ts,BLOG_DIR = <repo>/blog), sorts bydateDESC, and requirestitle+datefront matter;description,tags(comma-separated),authoroptional.blog/csrf-protection-without-tokens.md):title,date(ISO with+05:30),slug,description(SEO),tags,author: Vivek..claude/hooks/block-prose-punctuation.shhook scans NEW content and will block a commit that violates it. Write clean prose.srcchanges, so the doc/scaffold/test commit gates do not apply; content-only.Acceptance criteria
blog/<slug>.mdper topic above, valid front matter, appears in the index sorted by date