Repo structure
Runtime rules
Every package is classified as worker, browser, or Bun. The classification is stored inpackage.json under openturn.runtime, and bun run check:runtimes verifies it before CI.
- Worker packages cannot import Node builtins (
fs,path,crypto), Bun globals (Bun,process.exit), orBuffer. - Browser packages can use DOM and React. They still cannot import Node.
- Bun packages are unrestricted.
Common commands
--filter:
Updating docs
The docs site is a Mintlify project rooted atopenturn/docs/. The nav is defined in docs.json. Every page is .mdx with frontmatter title, description, and optional sidebarTitle.
When you add a new API or change an existing one, update:
- The matching reference page with the new function/type.
- The relevant how-to guide if the change affects a task.
- The relevant concept page if the change affects a mental model.
When to update design.md
design.md is internal planning, not public. Update it for:
- Package-boundary decisions.
- Upcoming architecture work that is not yet part of the public docs contract.
- Cutover plans.