| title | Maintenance Workflow |
|---|---|
| description | Operational workflows for running the site, adding docs, adding UI, refreshing generated docs, and validating changes in the Developer Center repository. |
| navigation | false |
| layout | docs |
Use this page when you need the operational steps for working in the Developer Center repository.
For conventions and guardrails, see Best Practices.
For page front matter and _dir.yml metadata, see Front Matter Cheatsheet.
For page placement, landing-page ownership, module ordering, and sidebar file ownership, see Navigation Map.
Use this guide when you need to:
- run the site locally
- add or update docs pages
- add hidden internal pages
- add a new section or module
- change UI in the correct layer
- work with remote-backed data
- refresh generated docs
- prepare a change for merge
- Use Node 22+.
- Install dependencies:
pnpm install- Start the dev server:
pnpm dev- If port 3000 is already in use, run:
PORT=3001 HOST=127.0.0.1 pnpm devpnpm install runs nuxt prepare, so it may regenerate local Nuxt artifacts before you start the dev server.
- Put the markdown file in the correct folder under
content/. - Add front matter for the page.
- Use
navigation.titleornavigation.orderonly when placement needs to be explicit. - If you are creating a new section, add
_dir.ymlas well. - Preview the page locally with
pnpm dev.
Use Front Matter Cheatsheet for the metadata shape and Navigation Map for where the page should live.
Add a Hidden Internal Page
- Create the markdown file under the correct folder.
- Add normal page front matter.
- Set:
navigation: falseThat keeps the page routable without including it in generated navigation.
- Create a nested folder under the correct module in
content/. - Add
_dir.yml. - Set
title,icon, andnavigation.orderif label or order matters. - Add the section's pages.
- Preview the sidebar locally and confirm the new section appears in the right place.
Use Navigation Map when you need to confirm which files control section order and sidebar behavior.
- Create a new top-level folder under
content/. - Add the module overview page at
content/<module>/index.md. - Add
_dir.ymlif the module or its sections need folder metadata. - Add the module entry to
DOC_MODULESinapp/utils/modules.ts. - Preview the site locally and confirm the new module appears in the global module bar and has the expected sidebar.
Use Navigation Map for the exact ownership points and Front Matter Cheatsheet for the metadata syntax.
- Decide which layer owns the change:
content/for authored contentapp/components/for reusable local Vue UIapp/app.config.tsfor shared app and component behaviorapp/assets/css/main.cssfor global CSS, design tokens, and fonts
- Reuse existing Nuxt UI and local components before creating a new pattern.
- Add or update the component or styling in the correct layer.
- Preview the affected pages locally.
- Validate the change before you merge.
Use Best Practices for the guardrails around comments, styling, and validation.
- Add or update a Nitro endpoint under
server/api/. - Fetch the external data server-side with
$fetch. - Cache the response in the endpoint instead of having docs pages fetch raw external data from the browser.
- Point the UI or component at the local endpoint.
Current examples:
server/api/rpc-servers.get.tsserver/api/blockchain-explorers.get.ts
Both use defineCachedEventHandler(...) and fetch JSON from nimiq/awesome.
Use these commands when generated docs or their inputs need to be refreshed:
pnpm build:rpc
pnpm build:web-clientpnpm build:rpcrefreshesdata/openrpc-document.jsonusingscripts/build-rpc.tspnpm build:web-clientregenerates the web-client reference docs through Typedoc
Treat the scripts and their input data as the source of truth. Do not hand-maintain generated output when the script should be updated instead.
- Confirm you changed the correct source-of-truth files.
- Run the baseline checks:
pnpm lint
pnpm typecheck
pnpm build- Run
pnpm devand visually verify the affected pages if you changed content, navigation, styling, or UI. - Run
pnpm build:rpcorpnpm build:web-clientonly if your change touched those generated-doc flows. - Confirm metadata and page placement are correct.
- Confirm generated files are intentional.
Use Best Practices for the repo guardrails and Navigation Map plus Front Matter Cheatsheet for the supporting reference details.