Public documentation site for Warframe.market developers and contributors.
The site documents the public Warframe.market HTTP API, WebSocket API, OAuth plans, shared data models, marketplace rules, and contributor guidance. It is built with Docusaurus, React, TypeScript, and Yarn 4.
| Path | Purpose |
|---|---|
docs/ |
Main documentation pages. Most content changes happen here. |
docs/api/ |
HTTP API documentation. |
docs/websockets/ |
WebSocket command, event, and payload documentation. |
docs/oauth/ |
OAuth 2.0 documentation. |
docs/contributing/ |
Contributor guides and documentation style rules. |
src/ |
Docusaurus pages, React components, and custom CSS. |
static/ |
Static assets copied into the final site. |
sidebars.ts |
Sidebar navigation order. Update this when adding docs pages. |
docusaurus.config.ts |
Docusaurus site configuration. |
- Node.js 20 or newer.
- Yarn 4.14 or newer.
- Corepack, recommended for using the Yarn version declared in
package.json.
If Yarn 4 is not already available, enable Corepack first:
corepack enableInstall dependencies:
yarn installStart the local docs site:
yarn startThis starts Docusaurus on 0.0.0.0:3001 and opens http://docs.warframe.test/docs/intro when the server is ready. In the Warframe local stack, Nginx proxies docs.warframe.test to that host-machine port.
If you are not using the Warframe local Nginx setup, use the default Docusaurus local server instead:
yarn start:localBuild the static production site:
yarn buildThe generated site is written to build/.
Start with the contributor-facing style guide: Documentation Style.
Public contributors are welcome to make wording-only improvements, such as grammar fixes, clearer explanations, formatting improvements, broken link fixes, and typo corrections.
Changes that alter documented public behavior require backend source evidence from maintainers. This includes request or response shapes, fields, enum values, authentication requirements, scopes, status codes, validation rules, WebSocket routes, OAuth behavior, and examples that imply contract changes.
Before opening a pull request:
- Keep changes small and focused.
- Read nearby docs to match existing terminology and format.
- Add new docs pages to
sidebars.ts. - Run
yarn buildfor docs, sidebar, link, or MDX changes. - Run
yarn typecheckfor TypeScript, React, or Docusaurus config changes.
Start without opening a browser:
yarn start:no-openEquivalent environment toggle:
DOCS_OPEN=false yarn startOpen a different URL after the server starts:
DOCS_OPEN_URL=http://docs.warframe.test/docs/api/overview yarn startUse a different host or port:
DOCS_HOST=127.0.0.1 DOCS_PORT=3002 yarn startThe automatic browser open uses the system opener: xdg-open on Linux, open on macOS, or cmd /c start on Windows.
| Command | What it does |
|---|---|
yarn install |
Installs project dependencies. |
yarn start |
Starts the local dev server on 0.0.0.0:3001 and opens docs.warframe.test when ready. |
yarn start:no-open |
Starts the same dev server without opening a browser. |
yarn start:local |
Starts Docusaurus with default local behavior and no automatic browser open. |
yarn build |
Builds optimized static production output into build/. Run this before publishing or reviewing docs structure changes. |
yarn serve |
Serves the already-built build/ output locally. Run yarn build first. |
yarn typecheck |
Runs TypeScript checks for Docusaurus config and custom React pages. |
yarn clear |
Clears Docusaurus caches such as .docusaurus/. Use when generated metadata, routes, or sidebars appear stale. |
yarn docusaurus |
Runs the Docusaurus CLI directly. Useful for commands that do not have a package script yet. |
yarn swizzle |
Copies selected Docusaurus theme components into this repo. Use carefully because swizzled components become maintenance burden. |
yarn deploy |
Runs the Docusaurus deployment flow. Production deployment for this project is not configured here. |
yarn write-translations |
Generates translation JSON files for a locale. Example: yarn write-translations --locale ru. |
yarn write-heading-ids |
Adds explicit heading IDs to docs. Useful before translating or linking heavily. |
Docusaurus i18n is enabled with English as the default locale and Russian as an additional locale.
Translated docs live under this shape:
i18n/<locale>/docusaurus-plugin-content-docs/current/<doc-path>.md
Example translated page:
i18n/ru/docusaurus-plugin-content-docs/current/intro.md
Run the Russian dev site in development mode:
yarn start --locale ruWithout opening a browser:
yarn start:no-open --locale ruDocusaurus serves one selected locale at the root path in dev mode. yarn start:no-open serves the default English locale only, so /ru/docs/intro is not available from the dev server. Start with --locale <locale> to work on another language. After yarn build, non-default static builds are emitted under build/<locale>, so production-style serving uses paths like /ru/docs/intro.
Generate translation message files for Russian:
yarn write-translations --locale ruTranslation guidance:
- Keep source docs in
docs/as the canonical English version. - Translate only verified public behavior.
- Keep route paths, JSON field names, headers, scopes, and enum values in code formatting and do not translate them.
- Run
yarn buildafter adding or moving translated docs.