Add documentation site with generated API reference - #36
Merged
Conversation
Adds apps/docs, a Next.js + Tailwind + Fumadocs documentation site, and wires the workspace packages up to TypeDoc so their TSDoc comments are published as an API reference on the site. - apps/docs: guides (introduction, getting started, per-package pages), landing page, search, llms.txt and OG images from the Fumadocs Next.js template - scripts/generate-api-docs.ts: runs TypeDoc in packages mode, then flattens the @evm-effect/<pkg> output, rewrites cross-references, adds frontmatter and writes meta.json so the generated pages slot into the Fumadocs sidebar - typedoc.base.json + packages/*/typedoc.json: shared TypeDoc settings and per-package entry points, with source links back to GitHub - workspace: add apps/* to pnpm-workspace, docs:dev / docs:build / docs:api root scripts, and a turbo config so the site builds after its dependencies The generated content/docs/api tree is git-ignored and rebuilt on every `pnpm docs:build`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sw2ocnrbaaN7ih3XjErNwB
The package and API-reference folders already show their name in the sidebar, so repeating it on the index page produced a duplicate-looking entry. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Sw2ocnrbaaN7ih3XjErNwB
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds a complete documentation site for evm-effect built with Next.js, Fumadocs, and Tailwind CSS.
Summary
The documentation site provides hand-written guides and an automatically generated API reference from TSDoc comments in all published packages. The API reference is regenerated on every build to stay in sync with the source code.
Key Changes
New
apps/docsapplication: A Next.js + Fumadocs documentation site with:API documentation generation (
scripts/generate-api-docs.ts):@evm-effect/<pkg>package paths to<pkg>/meta.jsonfiles for stable sidebar orderingTypeDoc configuration:
typedoc.base.jsonwith common settingspackages/*/typedoc.jsonDocumentation content:
Build integration:
docs:devanddocs:buildworkspace commandspnpm-workspace.yamlto includeapps/directoryNotable Implementation Details
The API generation script handles several edge cases:
node_modulesfor inherited members-altsuffixThe site supports content negotiation for LLM access via
/llms.mdx/docs/routes and full-text export at/llms-full.txtSearch functionality is provided by Fumadocs' built-in search server
https://claude.ai/code/session_01Sw2ocnrbaaN7ih3XjErNwB