Skip to content

Documentation: API reference via @effect/docgen #15

Description

@egriff38

Scope narrowed to the API reference only. Guides and playground split out to keep this issue focused.

What lands here

API reference generated by @effect/docgen — Effect's own doc tool. Every @effect/* package uses it.

  • Input: JSDoc comments on public exports (@category, @since, @example, @internal, @deprecated, description)
  • Output: docs/modules/**/*.md — one file per source module, sections grouped by @category
  • Enforcement: @since required, @example required, description required — configurable, on by default
  • Example validation: every @example block gets typechecked against our tsconfig, so snippets can't drift from the code

Acceptance

  • @effect/docgen installed and configured (docgen.json)
  • JSDoc comments on every public export in src/Provider.ts, src/Executor.ts, src/Loader.ts, src/ProviderRequest.ts, src/graphiql.ts — description + @category + @since + @example per export
  • bun run docgen produces valid Markdown in docs/modules/
  • CI runs bun run docgen and fails if generation breaks or if an @example snippet doesn't typecheck
  • Generated Markdown committed (browsable on GitHub)

Follow-ups

The generated API reference is v1's contract with users. The guides and playground layer on top.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions