Docs: hand-duplicated props tables drift risk, missing a11y sections, no per-component changelog
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 70
- Forks
- 13
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 8
Description
Summary
Component docs (apps/www) have the right shape — props table, live demo playground, accessibility notes — but three gaps showed up in a practices audit.
Issues found
-
Props tables are hand-duplicated and can drift. Each component has a shadow
props.tsfile (e.g.apps/www/src/content/docs/components/button/props.ts) read by fumadocs-typescript'sremarkAutoTypeTable(apps/www/source.config.ts:16-33,62) instead of being generated from the real component types. Comparingbutton/props.tsagainst the actualbutton.tsx:127-134union already shows props omitted from the doc. -
Accessibility sections are inconsistent. Present on Button, Dialog, Checkbox, Tabs, Select, Sidebar. Missing entirely on Combobox, Menu, ContextMenu, and DataView — notably the most complex component in the library has no accessibility documentation.
-
No per-component changelog. Only one repo-wide
packages/raystack/CHANGELOG.md(changesets-generated), and it isn't linked or surfaced anywhere on the apps/www docs site. Consumers browsing a component's docs page have no way to see what changed for that component.
Suggested approach
- Generate props tables directly from the real component source, or add a CI check that diffs the shadow
props.tsfiles against the actual exported prop types so drift fails a build instead of shipping silently. - Backfill Accessibility sections for combobox, menu, context-menu, and dataview.
- Surface per-component changelog entries on each docs page (even a filtered view of the existing changesets changelog would close most of the gap).
Notes
Found via a components.build practices audit (docs dimension).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with apps/www/src/content/docs/components/button/props.ts, the corresponding button.tsx prop types, and apps/www/source.config.ts to understand the current table generation. Review the component docs for existing accessibility sections and packages/raystack/CHANGELOG.md for changelog data. Done means the documented props no longer drift, the named components have accessibility sections, and component changes are surfaced on their docs pages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- accessibility, documentation, frontend
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100