Revamp brand, docs, distribution, and analytics#1222
Conversation
Spec for the brand-standardization / README+distribution / unified-analytics program, informed by a 4-agent inventory+research pass. Decomposes into 3 focused upstream PRs. Awaiting review before implementation. Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…lve brand) - Web analytics: GoatCounter (free, GH Pages, exportable) + Cloudflare fallback - Brand: evolve indigo + Satoshi, refine mark - Editor casing: apply, user reviews diff - manifest.json name: keep 'Unity MCP' - Packaging: single phased PR (P1 brand -> P2 README -> P3 analytics) Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
User-designed split-cube mark (two iso cube-halves + 3-rung bridge). Ocean palette: blue cube #60A5FA / teal cube #2DD4BF / cyan bridge #22D3EE. Colored mark is theme-independent (renders on light + dark). Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
- sharp generator (npm run gen:brand) for favicon.png(48), favicon-32, apple-touch(180), android-chrome(192/512), package-icon(128) - fixes the broken 1024x576 favicon.png - hero banner (logo.png) + og social-card + github-social-preview rendered with the Ocean mark, wordmark, tagline - sync docs/images/logo.png hero Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…for Unity'
Single ProductInfo.{ProductName,MenuRoot} const; routes all user-facing
'MCP For Unity' (capital F) display strings to it. Internal identifiers,
namespaces, and manifest.json 'Unity MCP' unchanged.
Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
README capabilities/clients/versions/architecture/positioning + badges; PyPI project.urls; Server/README docs link + badges; zh re-sync; docs/MAINTAINER_ACTIONS.md. Sponsor/citation content preserved. Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…docs Brand: favicon/social-card/theme-color/icon headTags; navbar uses colored logo-mark.svg for both light & dark. Analytics: pypistats+goatcounter fetch (TDD, 3 tests), env-gated cookieless GoatCounter, /stats page, daily stats workflow, external-analytics doc. Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
- standardize 5 stray 'MCP For Unity' doc-comments -> 'MCP for Unity' - external-analytics: link in-product telemetry doc instead of plain ref - fetch-stats: anchor output path to import.meta.url (run-from-anywhere) - zh README: add Docs badge for EN/zh badge-row parity Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
Per request, stop publishing adoption numbers to outsiders: - remove the public /stats page + public data.json + navbar link - workflow now posts a unified PyPI+traffic table to $GITHUB_STEP_SUMMARY (visible only to repo collaborators); drops to contents: read, no commits - fetch-stats emits Markdown (renderSummary, +2 tests) instead of a public JSON - public side keeps only the README downloads badge (PyPI counts are public anyway) Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…led proxy Adds GitHub real-account signals to the private maintainer summary and reorders it honest-first: - In-product DAU/WAU flagged as the true active-user metric (pending Coplay read API) - Unique repo cloners/viewers (14d) via GitHub traffic API (needs STATS_GITHUB_TOKEN PAT with Administration: read; default token 401s) - GitHub stars/forks (public, real accounts) - PyPI downloads kept but explicitly labeled inflated install events, not users All fetches graceful on failure; 6 unit tests; build green. Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
Drop the old logo's forced 676x380 (1.78:1) sizing that squished the new 2560x880 (2.9:1) hero banner; set width=820, let height auto-compute. Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
Swap the wide hero banner for a compact mark + wordmark lockup, served via <picture> so the wordmark flips light/dark with the GitHub theme (the colored Ocean mark is theme-independent). Applies to EN + zh READMEs. Removes the now-orphaned docs/images/logo.png banner copy (the docs site keeps its own). Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
- docs-deploy.yml: map GOATCOUNTER_CODE into the Build env so the cookieless beacon actually activates when the maintainer sets the variable (was a producer-without-consumer gap that silently disabled docs traffic) - MAINTAINER_ACTIONS.md: rewrite the stats section to match the shipped private design (drop the stale 'grant Actions write + commit data.json' over-priv item, add the required STATS_GITHUB_TOKEN PAT, fix the social-preview note) - docusaurus.config.js: wire favicon-32.png (was an orphaned generated asset) - lowercase 3 stray 'MCP For Unity' refs in roslyn.md / migrations/v6.md - remove internal docs/superpowers/ spec+plan scratch from the PR (contradicted the shipped Ocean/private design); gitignore superpowers artifacts Whole-branch review: 6/6 Critical/Important confirmed, 0 refuted, all docs/config hygiene — build/tests/security/correctness all clean. These are the fixes. Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
Maintainer manages these org-gated actions directly. The analytics provisioning steps (GoatCounter, STATS_GITHUB_TOKEN PAT) remain documented in website/docs/architecture/external-analytics.md. Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…dges Center the <picture> logo header (EN + zh) via <p align=center>, and remove the Website/Visit and PyPI-version badges from the badge row (kept Downloads, Release, CI, OpenUPM, Stars, Docs, Discord, Unity, Python, MCP, MIT). Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…drop How-it-compares - center the full hero (language switcher + sponsor + badges + tagline + gif) via <div align=center>, matching the centered logo (EN + zh) - replace the repetitive all-stdio clients table with a clean inline client list - replace the plain mermaid 'How it works' with a one-line flow + architecture link - remove 'How it compares' (the hand-rolled-scripting comparison added nothing; the Aura framing already lives in the 'Unity AI Tools by Aura' section) Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…brief What-it-does, trim quickstart - replace the badge banner row with a clean Discord / Wiki link pair after the logo - move Recent Updates to the top (before What it does) - make What it does brief; move the full tool catalog to a Wiki (docs) hyperlink - delete the How it works section - drop the Asset Store alternative-install reference from the quickstart Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…s, bigger Recent Updates - favicon now rasterized from the full logo-mark.svg (was the simplified favicon-safe mini, which dropped the inner edges, 3rd rung, and node dots); remove the now-unused logo-mark-mini.svg - add docs/images/connector.svg (blue node — cyan bridge — teal node, echoing the split-cube 'two things connected') and use it between English/中文 and Discord/Wiki - bump the Recent Updates summary to an <h3> (one size up) Claude-Session: https://claude.ai/code/session_01XFiuAUxNS9riUJFFBEHvui
…combine clients+quickstart - revert Recent Updates summary <h3> -> <strong> (the <h3> made GitHub render a heading-anchor chain icon, and tools/sync_release_notes.py regenerates it as <strong> anyway, so the heading was both buggy and non-durable) - put English/中文 and Discord/Wiki on a single line under the logo at the same size - merge 'Supported clients & versions' + '60-second quickstart' into one ## Quickstart
…hinese Mirror the EN restructure on the zh README — one-line English↔中文 | Discord↔Wiki nav with the brand connector, Recent Updates moved to the top, brief 它能做什么 with the tool catalog behind a link, combined ## 快速开始, dropped badges/工作原理/Asset Store/ the giant inline tool list. Kept the zh-only detail sections (手动配置, 多实例, Roslyn, 故障排除, 贡献, 遥测) and rewrote the authored copy to read like native dev Chinese, not machine translation.
README-zh.md edits + .meta/uv.lock churn on brand-distribution-analytics, committed (not stashed) so the feature branch can be checked out in the main worktree for editor testing. Untracked .agents/ and AGENTS.md intentionally left out. Claude-Session: https://claude.ai/code/session_01Tjpb5gYgUe2AUJuRdXr7Lv
…bution-analytics # Conflicts: # README.md
|
Important Review skippedNo new commits to review since the last review. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughCentralized editor product-name strings, added a scheduled stats workflow and summary script, wired GoatCounter into docs build/runtime config, and refreshed website, README, and v10 documentation content. Several Unity ChangesEditor branding and string centralization
Website analytics, build wiring, and documentation refresh
Sequence Diagram(s)sequenceDiagram
participant GitHubActionsWorkflow
participant fetch_stats_mjs
participant GitHubAPI
participant PyPIStats
participant GoatCounter
GitHubActionsWorkflow->>fetch_stats_mjs: run node website/scripts/fetch-stats.mjs
fetch_stats_mjs->>GitHubAPI: fetch repo, clones, views
fetch_stats_mjs->>PyPIStats: fetch recent downloads
fetch_stats_mjs->>GoatCounter: fetch pageviews when configured
fetch_stats_mjs-->>GitHubActionsWorkflow: write Markdown summary
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Refreshes the public-facing surface of MCP for Unity across the docs site, repository READMEs, branding assets, and maintainer analytics, while also standardizing user-facing product naming in the Unity Editor UI.
Changes:
- Standardizes user-facing naming via a new
ProductInfoconstant and updates Unity Editor menu/window strings accordingly. - Revamps docs-site branding (new SVG mark, favicon/icon pipeline) and reorganizes docs navigation/content (analytics doc + v10 migration notes).
- Adds maintainer-only adoption stats tooling (script + workflow) and updates distribution metadata/links (PyPI, docs homepage).
Reviewed changes
Copilot reviewed 29 out of 61 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| website/static/img/logo-mark.svg | Replaces logo mark SVG with updated branded mark and accessibility labels. |
| website/static/img/logo-mark-dark.svg | Removes separate dark-mode mark asset. |
| website/sidebars.js | Adds new docs pages to the sidebar (external analytics, v10 migration). |
| website/scripts/gen-brand-assets.mjs | Adds script to rasterize SVG into favicon/app icon PNG set. |
| website/scripts/fetch-stats.test.mjs | Adds Node test coverage for stats normalization/rendering helpers. |
| website/scripts/fetch-stats.mjs | Adds script to fetch PyPI/GitHub/GoatCounter stats and render maintainer-only summary. |
| website/package.json | Adds brand generation script + new dev deps (GoatCounter plugin, sharp). |
| website/package-lock.json | Locks new Node deps introduced for analytics and brand asset generation. |
| website/docusaurus.config.js | Adds icon links, theme color, optional GoatCounter injection, and normalizes baseUrl usage. |
| website/docs/migrations/v6.md | Updates menu path casing (“MCP for Unity”). |
| website/docs/migrations/v10.md | Adds v10 release-candidate migration/notes page in the docs site. |
| website/docs/guides/roslyn.md | Updates menu path casing (“MCP for Unity”). |
| website/docs/architecture/external-analytics.md | Documents public vs private adoption signals and maintainer provisioning steps. |
| TestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/TestJobManagerInitTimeoutTests.cs.meta | Normalizes Unity .meta structure for test asset. |
| Server/uv.lock | Bumps server package version in lock to 9.7.3. |
| Server/README.md | Adds PyPI/download badges and points “Full Documentation” to the hosted docs site. |
| Server/pyproject.toml | Adds Homepage/Documentation URLs and Changelog link for distribution metadata. |
| README.md | Revamps repo front door layout, quickstart, and navigation links (incl. CN README link). |
| MCPForUnity/Runtime/Helpers/UnityFindObjectsCompat.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Windows/MCPForUnityEditorWindow.uxml | Updates header title casing (“MCP for Unity”). |
| MCPForUnity/Editor/Windows/MCPForUnityEditorWindow.cs | Uses ProductInfo.ProductName for window title + tooltips. |
| MCPForUnity/Editor/Windows/EditorPrefs/EditorPrefsWindow.cs | Updates XML doc casing (“MCP for Unity”). |
| MCPForUnity/Editor/Windows/Components/Tools/McpToolsSection.cs | Updates XML doc casing (“MCP for Unity”). |
| MCPForUnity/Editor/Windows/Components/Resources/McpResourcesSection.cs | Updates XML doc casing (“MCP for Unity”). |
| MCPForUnity/Editor/Windows/Components/Connection/McpConnectionSection.cs | Updates XML doc casing (“MCP for Unity”). |
| MCPForUnity/Editor/Windows/Components/ClientConfig/McpClientConfigSection.cs | Updates XML doc casing (“MCP for Unity”). |
| MCPForUnity/Editor/Tools/Profiler/Operations/SessionOps.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/Profiler/Operations/ObjectMemoryOps.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/Profiler/Operations/MemorySnapshotOps.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/Profiler/Operations/FrameTimingOps.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/Profiler/Operations/FrameDebuggerOps.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/Profiler/Operations/CounterOps.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/Profiler/ManageProfiler.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/ManagePackages.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Tools/ExecuteCode.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Services/ServerManagementService.cs | Updates user-facing dialog copy to use ProductInfo.ProductName. |
| MCPForUnity/Editor/Services/Server/ServerCommandBuilder.cs | Updates error message to use ProductInfo.ProductName. |
| MCPForUnity/Editor/Services/PackageJobManager.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Services/HttpAutoStartHandler.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/MenuItems/MCPForUnityMenu.cs | Centralizes Unity menu root string via ProductInfo.MenuRoot. |
| MCPForUnity/Editor/Helpers/McpLogRecord.cs.meta | Normalizes Unity .meta structure. |
| MCPForUnity/Editor/Constants/ProductInfo.cs.meta | Adds Unity .meta for new constants file. |
| MCPForUnity/Editor/Constants/ProductInfo.cs | Adds canonical product name/menu root constants. |
| docs/wiki/V10.md | Adds wiki copy of the v10 release-candidate notes. |
| docs/images/connector.svg | Adds connector SVG used in README navigation rows. |
| docs/i18n/README-zh.md | Revamps CN README structure/layout and links to match new front door. |
| .gitignore | Ignores superpowers skill working artifacts. |
| .github/workflows/stats.yml | Adds scheduled/on-demand maintainer-only adoption stats workflow. |
| .github/workflows/docs-deploy.yml | Injects GoatCounter code env var into docs build when provisioned. |
Files not reviewed (15)
- MCPForUnity/Editor/Constants/ProductInfo.cs.meta: Generated file
- MCPForUnity/Editor/Helpers/McpLogRecord.cs.meta: Generated file
- MCPForUnity/Editor/Services/HttpAutoStartHandler.cs.meta: Generated file
- MCPForUnity/Editor/Services/PackageJobManager.cs.meta: Generated file
- MCPForUnity/Editor/Tools/ExecuteCode.cs.meta: Generated file
- MCPForUnity/Editor/Tools/ManagePackages.cs.meta: Generated file
- MCPForUnity/Editor/Tools/Profiler/ManageProfiler.cs.meta: Generated file
- MCPForUnity/Editor/Tools/Profiler/Operations/CounterOps.cs.meta: Generated file
- MCPForUnity/Editor/Tools/Profiler/Operations/FrameDebuggerOps.cs.meta: Generated file
- MCPForUnity/Editor/Tools/Profiler/Operations/FrameTimingOps.cs.meta: Generated file
- MCPForUnity/Editor/Tools/Profiler/Operations/MemorySnapshotOps.cs.meta: Generated file
- MCPForUnity/Editor/Tools/Profiler/Operations/ObjectMemoryOps.cs.meta: Generated file
- MCPForUnity/Editor/Tools/Profiler/Operations/SessionOps.cs.meta: Generated file
- MCPForUnity/Runtime/Helpers/UnityFindObjectsCompat.cs.meta: Generated file
- website/package-lock.json: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "devDependencies": { | ||
| "@docusaurus/module-type-aliases": "^3.6.3", | ||
| "@docusaurus/types": "^3.6.3" | ||
| "@docusaurus/types": "^3.6.3", | ||
| "docusaurus-plugin-goatcounter": "^4.0.0", | ||
| "sharp": "^0.35.2" |
| [](https://www.python.org) | ||
| [](https://modelcontextprotocol.io/introduction) | ||
| [](https://opensource.org/licenses/MIT) | ||
| <p align="center"><b></b> MCP for Unity 通过 <a href="https://modelcontextprotocol.io/introduction">Model Context Protocol</a> 把 Claude、Cursor、VS Code、本地大模型等 AI 助手接入 Unity 编辑器,让它们直接帮你管理资源、搭场景、写脚本、跑测试,把开发流程里的重复活儿都包了。</p> |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@website/scripts/fetch-stats.mjs`:
- Around line 66-76: The PyPI fetch in fetch-stats.mjs is collapsing all request
failures into an empty data object, which makes outages look like zero
downloads. Update the get/recent flow so fetch failures from the PyPI request
are tracked as a separate “unavailable” state, and only apply 0 defaults to
missing recent.data fields after a successful response. Keep the change
localized around get and the recent assignment so the maintainer summary can
distinguish real usage from API failures.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3307a014-f68e-4a8e-952a-f315881a064a
⛔ Files ignored due to path filters (17)
Server/uv.lockis excluded by!**/*.lockdocs/images/connector.svgis excluded by!**/*.svgdocs/images/logo-header-dark.pngis excluded by!**/*.pngdocs/images/logo-header-light.pngis excluded by!**/*.pngdocs/images/logo.pngis excluded by!**/*.pngwebsite/package-lock.jsonis excluded by!**/package-lock.jsonwebsite/static/img/android-chrome-192.pngis excluded by!**/*.pngwebsite/static/img/android-chrome-512.pngis excluded by!**/*.pngwebsite/static/img/apple-touch-icon.pngis excluded by!**/*.pngwebsite/static/img/favicon-32.pngis excluded by!**/*.pngwebsite/static/img/favicon.pngis excluded by!**/*.pngwebsite/static/img/github-social-preview.pngis excluded by!**/*.pngwebsite/static/img/logo-mark-dark.svgis excluded by!**/*.svgwebsite/static/img/logo-mark.svgis excluded by!**/*.svgwebsite/static/img/logo.pngis excluded by!**/*.pngwebsite/static/img/package-icon.pngis excluded by!**/*.pngwebsite/static/img/social-card.pngis excluded by!**/*.png
📒 Files selected for processing (44)
.github/workflows/docs-deploy.yml.github/workflows/stats.yml.gitignoreMCPForUnity/Editor/Constants/ProductInfo.csMCPForUnity/Editor/Constants/ProductInfo.cs.metaMCPForUnity/Editor/Helpers/McpLogRecord.cs.metaMCPForUnity/Editor/MenuItems/MCPForUnityMenu.csMCPForUnity/Editor/Services/HttpAutoStartHandler.cs.metaMCPForUnity/Editor/Services/PackageJobManager.cs.metaMCPForUnity/Editor/Services/Server/ServerCommandBuilder.csMCPForUnity/Editor/Services/ServerManagementService.csMCPForUnity/Editor/Tools/ExecuteCode.cs.metaMCPForUnity/Editor/Tools/ManagePackages.cs.metaMCPForUnity/Editor/Tools/Profiler/ManageProfiler.cs.metaMCPForUnity/Editor/Tools/Profiler/Operations/CounterOps.cs.metaMCPForUnity/Editor/Tools/Profiler/Operations/FrameDebuggerOps.cs.metaMCPForUnity/Editor/Tools/Profiler/Operations/FrameTimingOps.cs.metaMCPForUnity/Editor/Tools/Profiler/Operations/MemorySnapshotOps.cs.metaMCPForUnity/Editor/Tools/Profiler/Operations/ObjectMemoryOps.cs.metaMCPForUnity/Editor/Tools/Profiler/Operations/SessionOps.cs.metaMCPForUnity/Editor/Windows/Components/ClientConfig/McpClientConfigSection.csMCPForUnity/Editor/Windows/Components/Connection/McpConnectionSection.csMCPForUnity/Editor/Windows/Components/Resources/McpResourcesSection.csMCPForUnity/Editor/Windows/Components/Tools/McpToolsSection.csMCPForUnity/Editor/Windows/EditorPrefs/EditorPrefsWindow.csMCPForUnity/Editor/Windows/MCPForUnityEditorWindow.csMCPForUnity/Editor/Windows/MCPForUnityEditorWindow.uxmlMCPForUnity/Runtime/Helpers/UnityFindObjectsCompat.cs.metaREADME.mdServer/README.mdServer/pyproject.tomlTestProjects/UnityMCPTests/Assets/Tests/EditMode/Services/TestJobManagerInitTimeoutTests.cs.metadocs/i18n/README-zh.mddocs/wiki/V10.mdwebsite/docs/architecture/external-analytics.mdwebsite/docs/guides/roslyn.mdwebsite/docs/migrations/v10.mdwebsite/docs/migrations/v6.mdwebsite/docusaurus.config.jswebsite/package.jsonwebsite/scripts/fetch-stats.mjswebsite/scripts/fetch-stats.test.mjswebsite/scripts/gen-brand-assets.mjswebsite/sidebars.js
|
@coderabbitai review |
✅ Action performedReview finished.
|
Description
Refreshes the public-facing project surface for MCP for Unity: brand assets, README/docs navigation, distribution metadata, analytics documentation, and V10 release-candidate notes. The branch is synced with upstream
betaand keeps the V10 docs grounded against thev9.0.0major baseline while also linking thev9.7.3patch comparison.Type of Change
Changes Made
beta.Compatibility / Package Source
#beta,#main, tag, branch, orfile:):revamp/brand-distribution-analytics, synced with upstreambeta.Packages/packages-lock.json(if using a Git package URL): Not applicable.Testing/Screenshots/Recordings
cd Server && uv run pytest tests/ -v)Additional checks run:
npm run buildinwebsiteDocumentation Updates
tools/UPDATE_DOCS_PROMPT.md(recommended)Related Issues
Relates to the brand/docs/distribution/analytics revamp and V10 release-candidate documentation work.
Additional Notes
TODO before merge:
After merge:
Summary by CodeRabbit