Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

experiment: replace @effect/docgen with TypeDoc for clickable cross-referenced module docs

Abierto
#157 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
typescript

Línea de trabajo

Empieza leyendo packages/evolution/src, el flujo de generación existente de docs/scripts/ y fumadocs source.config.ts. Ejecuta la canalización actual de documentación de módulos y, después, evalúa una salida paralela de TypeDoc en docs-typedoc/ y docs/content/docs/api/. Se considera terminado cuando se cumplan los criterios de aceptación documentados sin cambiar /docs/modules/, seguido de la auditoría de UX planificada y la decisión de migración.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

documentation enhancement

Context

The current module reference docs are generated by `@effect/[email protected]` using the `mikearnaldi/docgen-template` theme. Output is static MDX with signatures and JSDoc text — no clickable type cross-references, no source links to GitHub.

The goal is Haddock-style behaviour: every type name in a signature is a link that jumps to that type's own documentation page.

Proposed Experiment

Replace `@effect/docgen` with TypeDoc + `typedoc-plugin-markdown` on an isolated output path so both pipelines can run side-by-side without breaking the existing `/docs/modules/` route.

What TypeDoc gives us
  • Clickable cross-references for every type in every signature (uses the TypeScript compiler API to resolve them)
  • Source links to GitHub out of the box via `sourceLinkTemplate`
  • Handles generics, branded types, class methods, and conditional types correctly
  • `typedoc-plugin-markdown` emits MDX consumable by fumadocs
Implementation plan
  1. Add `typedoc`, `typedoc-plugin-markdown`, and `typedoc-plugin-frontmatter` as dev dependencies in `packages/evolution`
  2. Add a `typedoc.json` config in `packages/evolution` pointed at existing `src/` — output to a new `docs-typedoc/` directory
  3. Add a `generate-typedoc-docs` script in `docs/scripts/` that copies the output into `docs/content/docs/api/` (parallel to the existing `modules/` path)
  4. Wire the new path into fumadocs `source.config.ts` under a separate `/docs/api/` route
  5. Audit the output: verify cross-references resolve, source links point correctly, category grouping is preserved
  6. Compare UX against the existing `/docs/modules/` output and decide whether to migrate fully or keep both
Acceptance Criteria
  • TypeDoc generates MDX without errors for all exported symbols in `packages/evolution/src`
  • Cross-reference links (e.g. clicking `Data.Constr` in a TSchema signature) resolve to the correct page
  • Source links open the correct line in GitHub
  • The new output is accessible at `/docs/api/` in the docs site without affecting `/docs/modules/`
  • Existing `@effect/docgen` pipeline is untouched

Notes

  • This is explicitly experimental — full migration is a separate decision pending the audit
  • `externalPattern` exclusions for Effect library internals will likely need tuning to avoid polluting the output with Effect framework types
Lenguaje dominante
TypeScript
Estrellas
22
Forks
33
Merge medio
2 d 1 h
PR fusionados (30 d)
44

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de IntersectMBO/evolution-sdk

Todos los issues de IntersectMBO/evolution-sdk

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.