docs: showcase feedback, roadmap, and changelog sections#24
Conversation
Restructure the Fumadocs content so the three core products lead the docs. Add nested feedback/, roadmap/, and changelog/ sections (overview plus task pages), regroup the sidebar with Products/Concepts/Integrate/ Operate separators, and lead the index with the three products. Add a reusable Screenshot component for captioned figure placeholders that swap to real images once available. Add a Documentation Sync rule to AGENTS.md plus a scoped feature-to-doc map in apps/fumadocs/AGENTS.md so feature changes keep docs current. Generated-By: PostHog Code Task-Id: 25a957f8-b890-4614-b330-1b876f5a2a74
Address Greptile review: give roadmap/managing.mdx an explicit API status to board column table, label the index.mdx column ids and point to it, and add loading="lazy" to the Screenshot image. Generated-By: PostHog Code Task-Id: 25a957f8-b890-4614-b330-1b876f5a2a74
Address Greptile review: explain that the editor derives summary while the API takes it explicitly (changelog index + writing), and drop the duplicate caption span from the Screenshot placeholder so it shows once. Generated-By: PostHog Code Task-Id: 25a957f8-b890-4614-b330-1b876f5a2a74
Address Greptile review: point the apps/fumadocs/AGENTS.md feature map at the new feedback/roadmap/changelog sub-pages, fix the roadmap row to reference the API status mapping, drop the now-covered changelog editor gap, and cross-link the public roadmap status filter to the value table. Generated-By: PostHog Code Task-Id: 25a957f8-b890-4614-b330-1b876f5a2a74
Address Greptile review: state that POST /feedback and /interactions need no token (mirroring the SDK note), and add object-cover to the Screenshot image so a real screenshot with a mismatched ratio is not stretched. Generated-By: PostHog Code Task-Id: 25a957f8-b890-4614-b330-1b876f5a2a74
Address Greptile review: show real draftChangelog fields (title, body, kind, sourceLinks, dryRun) instead of a stub, and clarify in triaging that feedback and roadmap share display columns while the roadmap API uses its own status names. Generated-By: PostHog Code Task-Id: 25a957f8-b890-4614-b330-1b876f5a2a74
Greptile SummaryRebuilds the Fumadocs public docs around the three core products \u2014 Feedback, Roadmap, and Changelog \u2014 each with its own nested section,
Confidence Score: 4/5Safe to merge — all changes are docs content and a small React component; no application logic, routing, or API behaviour is modified. The only shipped code is the Screenshot component, which has two small gaps: the placeholder div is missing an ARIA role/label, and the real-image path omits width/height attributes. Neither causes a functional regression on a docs site. Documentation content is internally consistent and source-verified. apps/fumadocs/src/components/screenshot.tsx — the two accessibility and CLS notes are worth a quick pass before real images are wired in, since fixing them later means touching every call site. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Customer Request] --> B[Feedback Intake]
B --> B1[Portal Form]
B --> B2[SDK submitRequest]
B --> B3[REST POST /feedback]
B --> B4[importFeedback bulk]
B --> B5[Dashboard Composer]
B1 & B2 & B3 & B4 & B5 --> C[Feedback Inbox]
C --> D{Promote to Roadmap?}
D -- Yes --> E[Roadmap Item]
D -- No --> C
E --> F[Board Columns]
F --> G[Changelog Entry]
G --> H{Publish?}
H -- portal+email on --> I[Public Portal + Email]
H -- off --> J[Internal Record]
Reviews (1): Last reviewed commit: "docs: flesh out draftChangelog example a..." | Re-trigger Greptile |
| <div | ||
| className="flex flex-col items-center justify-center gap-2 bg-[repeating-linear-gradient(45deg,transparent,transparent_10px,color-mix(in_oklab,white_3%,transparent)_10px,color-mix(in_oklab,white_3%,transparent)_20px)] text-center" | ||
| style={frameStyle} | ||
| > |
There was a problem hiding this comment.
The placeholder
<div> has no ARIA role or label, so screen readers get no context — they see the badge text ("Screenshot") floating inside a generic container with no indication it represents an image. Adding role="img" and aria-label={alt ?? caption} turns the placeholder into an announced figure that assistive tech understands. Confidence this is a real issue: 4/5.
| <div | |
| className="flex flex-col items-center justify-center gap-2 bg-[repeating-linear-gradient(45deg,transparent,transparent_10px,color-mix(in_oklab,white_3%,transparent)_10px,color-mix(in_oklab,white_3%,transparent)_20px)] text-center" | |
| style={frameStyle} | |
| > | |
| <div | |
| role="img" | |
| aria-label={alt ?? caption} | |
| className="flex flex-col items-center justify-center gap-2 bg-[repeating-linear-gradient(45deg,transparent,transparent_10px,color-mix(in_oklab,white_3%,transparent)_10px,color-mix(in_oklab,white_3%,transparent)_20px)] text-center" | |
| style={frameStyle} | |
| > |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| <img | ||
| src={src} | ||
| alt={alt ?? caption} | ||
| loading="lazy" | ||
| className="block w-full object-cover" | ||
| style={frameStyle} | ||
| /> |
There was a problem hiding this comment.
The
<img> element carries no width or height attributes. Even though the aspect-ratio CSS property reserves space, browsers can still emit a CLS hit on first paint before the stylesheet is applied (or when CSS is blocked). Defaulting to width={1600} (leaving height to the aspect-ratio style) would close most of the gap. Confidence this is a real issue: 3/5 — on a docs site the real-world CLS impact is low.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
Closing as redundant: every file in this PR already merged to main via #23 (the docs SPA migration), including all the Greptile review fixes. Verified on origin/main — the three doc sections, the Screenshot component (with loading=lazy + object-cover, registered in the migrated SPA mdx provider), the AGENTS.md feature map, and the roadmap/changelog accuracy fixes are all present. This branch was based on pre-migration main, so merging would only add formatting noise. |
What
Rebuilds the public Fumadocs content so the three core products lead the docs, with real subcategory structure, screenshot placeholders, and an agent docs-sync convention.
Docs content
meta.jsonsidebar groups:feedback/— overview, collecting (portal/SDK/REST/imports/composer), triagingroadmap/— overview, managing the board, public roadmapchangelog/— overview, writing & publishing, AI draftingmeta.jsonregrouped with Products / Concepts / Integrate / Operate separators; existing pages kept.index.mdxnow leads with the three products.Screenshot placeholders
Screenshotcomponent renders a captioned figure frame now and swaps to a real image the momentsrcis passed (loading="lazy",object-cover). ~13 placed across the pages.Agent docs-sync convention
AGENTS.md(root) gains a Documentation Sync rule.apps/fumadocs/AGENTS.mdcarries the feature → doc-page map and the remaining gaps, so future feature changes keep these pages current.Accuracy
All API/SDK/CLI details verified against source (
roadmapStatusToRoadmapStatus,AmendChangelogEntryInput,AmendChangelogDraftInput). Roadmap API-status → board-column mapping and the changelogsummary(editor-derived vs API-set) are documented explicitly.Review
Five local Greptile passes; all findings resolved (roadmap status conflation, changelog summary contradiction, duplicate caption, lazy-load + object-fit, REST auth note, stub example, stale agent map).
Validation
bun run check-types(MDX generation +tsc) andoxlintpass.Created with PostHog Code