Skip to content

Architecture and Web reference pages describe packages and folders that no longer exist #1790

Open

Description

@joshunrau

The Architecture concept page and the Web reference page describe a codebase that no longer exists, and the Web page's file tree does not render as a tree.

  • Architecture. The page lists 22 packages. Eleven of them are not in packages/: crypto, esbuild-plugin-runtime, i18next, instrument-renderer, instrument-runtime-env, json-utils, prisma-client, runtime-resolve, stats, tailwindcss and vite-plugin-plausible. It also lists testing/k6, which does not exist. It omits runtime-core, runtime-bundler, runtime-internal, runtime-meta, serve-instrument, instrument-guidelines, playground-url, release-info, and the top-level vendor/, storybook/ and cli/. Its Databases section says both Prisma schemas are "stored in the packages/prisma-client folder"; they are apps/api/prisma/schema.prisma and apps/gateway/prisma/schema.prisma.
  • Web. The page describes features/, typings/, Router.tsx and a config.ts-plus-Router.tsx routing setup. The app now routes with TanStack Router from src/routes/ and the generated src/route-tree.ts, and has providers/ and utils/, none of which the page mentions. The <FileTree> content has been reflowed into one paragraph, so Starlight renders a single collapsed src/ entry. Every other line appears as one long grey "comment" beside it.

A contributor using these pages to find their way around the repository is sent to directories that are not there.

Where

docs/en/4-concepts/4.0-architecture.mdx:26-53 (excerpt) and :79-82:

- packages/
  - crypto/
  - demo/
  - esbuild-plugin-runtime/
  - i18next/
  ...
- testing/
  - k6/
...
In both cases, schemas are defined using [Prisma](https://www.prisma.io/) and stored in the `packages/prisma-client`
folder.

docs/en/5-reference/5.4-web.mdx:15-20:

<FileTree>
  - src/ - assets contains static files (e.g., images, fonts) - components common reusable components - features
  contains code specific to a feature - hooks shared hooks - services re-exporting preconfigured libraries - store
  global state stores managed with zustand - testing - translations - typings - App.tsx the top-level element of the
  application - Router.tsx the routing configuration - config.ts - main.tsx the entry point to the application
</FileTree>

Built output, dist/en/docs/reference/web/index.html:

<li class="directory"><details><summary>…src/</span> <span class="comment">- assets contains static files (e.g., images, fonts) - components common reusable components - features …</span>

Reproduce

  1. Open https://opendatacapture.org/en/docs/concepts/architecture/ and compare the tree with ls packages testing.
  2. Open https://opendatacapture.org/en/docs/reference/web/ and look at the "Directory Structure" tree.

Actual: eleven listed packages and testing/k6 do not exist, eight current packages are missing, and the Prisma schema location is wrong. The Web tree is one src/ row with the entire listing as its comment.
Expected: both trees match packages/ and apps/web/src/ as they are today, and the Web tree renders one row per entry.

Tests

docs/ has no test runner (docs/AGENTS.md). The build is the check: dist/en/docs/reference/web/index.html renders one <li> per entry, with none of the listing inside a class="comment" span.

Suggested fix

Regenerate both trees from the current layout; .agents/docs/workspace-map.md already describes every workspace. In 5.4-web.mdx, write the tree as a Markdown list with one entry per line, starting at column 0 inside <FileTree>, the way 4.0-architecture.mdx does. That page's tree survived formatting, while the indented one here was reflowed into a paragraph. Point the Databases section at apps/api/prisma and apps/gateway/prisma.

Activity

  1. added
    BugType: existing behavior is wrong
    Priority: LowNice to have, cosmetic or speculative
    Difficulty: LowIsolated change, about 2 hours or less
    Area: Outreachapps/outreach and docs/ (marketing site and user documentation)
    on Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: Outreachapps/outreach and docs/ (marketing site and user documentation)BugType: existing behavior is wrongDifficulty: LowIsolated change, about 2 hours or lessPriority: LowNice to have, cosmetic or speculative

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions