--- name: docs-website description: "Use this skill FIRST for any task whose output lives in the `Website/` directory — the VRCQuestTools user manual / docs site (Docusaurus, bilingual en/ja). That means: editing or writing any manual page (intro.md, tutorial, component reference pages like \"Avatar Converter Settings\", menu reference, troubleshooting) — adding an entry, documenting a new or changed option, or rewriting an explanation that users found unclear (説明の追記・書き直し・わかりにくい); translating pages between en and ja; fixing sidebar ordering, theme, or site config; and diagnosing Docusaurus build failures such as broken links/anchors or locale (ja) issues. A request counts even if it never says \"docs\": mentioning マニュアル, マニュアルページ, ドキュメント, サイドバー, Website, a docs filename, or \"add/fix X on the website\" is enough, as is naming a plugin feature when the deliverable is its manual page. Read this skill before touching any file under Website/, because it defines required workflow (Japanese-first writing, URL compatibility, build verification)." --- # Documentation Website (`Website/`) Docusaurus site with English as the default locale and a Japanese translation. The website is for end users: keep technical explanations minimal and write plain, easy-to-understand text. ## Commands | Command | Description | |---------|-------------| | `cd Website && pnpm install --frozen-lockfile` | Install docs dependencies | | `cd Website && pnpm run build` | Build documentation site (Docusaurus) | ## Workflow - **Japanese first:** Update the Japanese docs first, then port the changes to the English pages. English is the default locale (`Website/docs/`); Japanese translations live in `Website/i18n/ja/docusaurus-plugin-content-docs/current/` and must mirror the same file paths, frontmatter (slugs), and explicit heading anchors (`{#id}`). - **Writing skills:** Always apply the `japanese-tech-writing` skill when writing or revising Japanese pages. On pages meant to be read from start to finish (intro, getting-started), additionally apply the `cognitive-rhythm-writing` skill on top of it, but keep the procedural skeleton (headings, numbered steps, anchors, admonitions) intact and put the pacing in the connecting prose; each page must still work for readers who land on it directly. Reference pages (components, troubleshooting, menu-reference) must stay scannable, so use `japanese-tech-writing` alone there. The English pages port the resulting content and structure in plain natural English; do not translate the Japanese rhythm devices word for word. - **UI labels:** Quote UI strings from the .po files (`Editor/I18n/ja-JP.po` for Japanese, `en-US.po` for English). Do not invent labels. - **Source of truth:** Verify every statement against the source code (components, inspectors, menus, i18n messages) so the manual stays trustworthy. Do not document behavior you have not confirmed. - **Verification:** Run `cd Website && pnpm run build` and make sure both locales build without broken links or anchors. ## Conventions - **Ordering:** List components in dictionary order. Component pages have no `sidebar_position` (the autogenerated sidebar sorts by file name); keep tables and lists sorted the same way. - **Terminology:** The docs call the Android and iOS versions of VRChat collectively "Mobile" (defined in intro.md). Match the current UI wording (Mobile/PC); do not write "Quest" except for device names. - **Links:** Use file-relative Markdown links (`./page.md`) so they resolve within each locale. Give any heading that is linked from elsewhere an explicit ID (`{#id}`), because auto-generated anchors differ between Japanese and English headings. - **Images:** Screenshots live in `Website/static/img/` and are shared by both locales. Reuse existing images only when they still match the current UI; otherwise use a screenshot placeholder ("Screenshot placeholder" / 「スクリーンショット準備中」 info admonition). Use the `docs-screenshots` skill to capture or update screenshots. - **New components:** When adding a component, create its reference page at `/docs/references/components/` (en + ja) and set the matching `[HelpURL]` attribute on the component class (with the `?lang=auto` suffix). - **Structure notes:** `docs/changelog.md` and its ja counterpart are dummy files replaced by CI with `CHANGELOG.md` / `CHANGELOG_JP.md`. Category labels in `_category_.json` are English; their Japanese translations go in `i18n/ja/docusaurus-plugin-content-docs/current.json`. ## Compatibility constraints - **URL compatibility:** Do not break URLs referenced by `[HelpURL]` attributes and `package.json`: `/docs/references/components/*`, `/docs/changelog`, `/docs/tutorial/set-up-environment`. They are pinned with explicit `slug:` frontmatter. The `?lang=auto` redirect in `src/theme/Root.tsx` must keep working. - **Deployment:** GitHub Pages builds the site from the `latest-docs` branch and overlays only `docs/` and `i18n/ja/.../current/` from master (`.github/workflows/deploy-pages.yml`). Changes to `docusaurus.config.js`, `src/`, `sidebars.ts`, or `static/` do not go live until `latest-docs` is updated. Versioned docs snapshots are created at release time with `docs:version`.