docs: rebrand site with new chef logo and warm culinary palette#8587
docs: rebrand site with new chef logo and warm culinary palette#8587
Conversation
Replace the old logo and color scheme with the new chef character branding. Introduces Roc Grotesk font for UI elements, Cormorant Garamond for body text, two-column hero layout, and a warm burgundy/gold/sage color palette across light and dark modes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| "link", | ||
| { | ||
| href: "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;500;600;700;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap", | ||
| href: "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=JetBrains+Mono:wght@400;500;600;700&display=swap", |
There was a problem hiding this comment.
Unused DM Sans font loaded on every page
Medium Severity
The Google Fonts URL loads DM+Sans (with full italic and weight range), but DM Sans is never referenced in any CSS or component. The site only uses Cormorant Garamond, Roc Grotesk (self-hosted), and JetBrains Mono. Every visitor downloads this unused font family, adding unnecessary latency to every page load.
| -webkit-background-clip: text; | ||
| background-clip: text; | ||
| -webkit-text-fill-color: transparent; | ||
| } |
There was a problem hiding this comment.
Entire HomeHero.vue component is unused dead code
Medium Severity
HomeHero.vue was updated with the new branding (chef logos, burgundy palette, dark mode variants) but is never imported or referenced anywhere in the codebase. The new Layout.vue replaces its functionality via VitePress slot overrides. This is ~395 lines of dead code that was modified as part of the rebrand but serves no purpose.
| opacity: 1; | ||
| transform: translateY(0) scale(1); | ||
| } | ||
| } |
There was a problem hiding this comment.
Unused heroLogoIn and heroFadeUp keyframe animations defined
Low Severity
Two @keyframes animations — heroLogoIn and heroFadeUp — are defined in Layout.vue but never referenced by any CSS animation property. These appear to be leftover from development and are dead CSS code.
Additional Locations (1)
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request delivers a comprehensive visual and content overhaul of the documentation site. The primary goal is to establish a new brand identity with a distinctive chef-themed aesthetic and a warm, inviting color scheme. This transformation enhances the user experience through improved typography, a redesigned homepage, and clearer introductory content, ensuring a more cohesive and engaging presentation of the project's documentation. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
Greptile SummaryThis PR is a comprehensive visual rebrand of the mise documentation site, replacing the cyan/green developer-tool aesthetic with a warm culinary palette (burgundy Key changes:
Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Layout.vue
participant ClipboardAPI as navigator.clipboard
User->>Layout.vue: clicks install command div
Layout.vue->>ClipboardAPI: writeText("curl https://mise.run | sh")
Note over Layout.vue: copied.value = true (immediately, sync)
Layout.vue-->>User: shows ✓ confirmation
ClipboardAPI-->>Layout.vue: Promise resolves/rejects (async, unhandled)
Note over Layout.vue: setTimeout 2s → copied.value = false
Layout.vue-->>User: reverts to ⎘ icon
|
| function copyInstall() { | ||
| navigator.clipboard.writeText("curl https://mise.run | sh"); | ||
| copied.value = true; | ||
| setTimeout(() => (copied.value = false), 2000); | ||
| } |
There was a problem hiding this comment.
Unhandled clipboard promise gives false positive confirmation
navigator.clipboard.writeText() returns a Promise that can reject (e.g., when the page is served over HTTP, when clipboard permission is denied, or in older browsers). Because the result is not awaited, copied.value = true is set synchronously regardless of whether the copy actually succeeded — the user will see the ✓ confirmation even when nothing was written to the clipboard.
Additionally, if navigator.clipboard is undefined (non-HTTPS context), the call will throw a TypeError at runtime with no error boundary to catch it.
| function copyInstall() { | |
| navigator.clipboard.writeText("curl https://mise.run | sh"); | |
| copied.value = true; | |
| setTimeout(() => (copied.value = false), 2000); | |
| } | |
| async function copyInstall() { | |
| try { | |
| await navigator.clipboard.writeText("curl https://mise.run | sh"); | |
| copied.value = true; | |
| setTimeout(() => (copied.value = false), 2000); | |
| } catch { | |
| // clipboard unavailable or permission denied — silently ignore | |
| } | |
| } |
| .VPFeature:hover { | ||
| border-color: var(--vp-c-brand-1); | ||
| transform: translateY(-4px); | ||
| box-shadow: 0 12px 24px rgba(0, 217, 255, 0.1); | ||
| transform: translateY(-6px) !important; | ||
| } |
There was a problem hiding this comment.
Duplicate .VPFeature:hover rule
There are two .VPFeature:hover declarations: this one (line 656) sets only transform: translateY(-6px) !important, and a second complete block at line 685 sets border-color, the same transform, and box-shadow. Because this first block uses !important on transform, it wins the cascade battle for that property over the identical (non-!important) value in the second block — which is confusing but happens to produce the same visual result.
The first block is redundant and the !important is unnecessary; the second block already covers the same transform. Consider removing lines 656-658 to reduce confusion and make the !important flag meaningful if it ever actually needs to override VitePress defaults.
| @keyframes heroLogoIn { | ||
| from { | ||
| opacity: 0; | ||
| transform: translateY(-30px) scale(0.95); | ||
| } | ||
| to { | ||
| opacity: 1; | ||
| transform: translateY(0) scale(1); | ||
| } | ||
| } |
There was a problem hiding this comment.
Unused @keyframes heroLogoIn and @keyframes heroFadeUp
Both @keyframes heroLogoIn (line 201) and @keyframes heroFadeUp (line 297) are defined in this file but are never referenced by any animation or animation-name property. They appear to be leftover from an earlier design iteration. Consider removing them to keep the stylesheet clean.
There was a problem hiding this comment.
Code Review
This pull request introduces a comprehensive visual redesign of the documentation website, transitioning from a 'modern developer aesthetic' to a 'warm culinary aesthetic' with new brand colors, custom fonts, and updated logos. Key changes include replacing the old SVG logo with a new 'chef icon' SVG, implementing a custom home page layout with atmospheric background effects and a two-column hero section, and revamping the entire color palette and typography across the site. The README.md and docs/getting-started.md files also received minor content and styling updates for consistency. Review comments highlight the need to handle potential promise rejections in the copyInstall function, consolidate redundant td element styles in custom.css, and address the excessive use of !important declarations in the CSS for better maintainability.
| function copyInstall() { | ||
| navigator.clipboard.writeText("curl https://mise.run | sh"); | ||
| copied.value = true; | ||
| setTimeout(() => (copied.value = false), 2000); | ||
| } |
There was a problem hiding this comment.
The navigator.clipboard.writeText method returns a Promise that can reject if the clipboard write fails (e.g., due to permissions or not being in a secure context). This unhandled rejection will result in an error in the browser console. It's best practice to handle this potential error. Also, the success feedback (copied.value = true) should only be shown after the promise resolves successfully.
function copyInstall() {
navigator.clipboard.writeText("curl https://mise.run | sh").then(() => {
copied.value = true;
setTimeout(() => (copied.value = false), 2000);
}).catch(err => {
console.error('Failed to copy command:', err);
});
}
| .vp-doc p, | ||
| .vp-doc li, | ||
| .vp-doc td, | ||
| .vp-doc blockquote { |
There was a problem hiding this comment.
The styles for td elements are defined here and then overridden in the table styling section (lines 740-744). This creates conflicting and redundant styles. To improve clarity and maintainability, td styles should be consolidated in one place. I recommend removing .vp-doc td from this selector block.
.vp-doc p,
.vp-doc li,
.vp-doc blockquote {| .VPSidebarItem .link.active { | ||
| background-color: var(--vp-c-brand-soft); | ||
| color: var(--vp-c-brand-1); | ||
| font-weight: 600; | ||
| border-left: 3px solid var(--vp-c-brand-1); | ||
| background-color: rgba(139, 34, 82, 0.15) !important; | ||
| color: var(--vp-c-brand-1) !important; | ||
| font-weight: 700 !important; | ||
| border-left: 3px solid var(--vp-c-brand-1) !important; | ||
| padding-left: 10px !important; | ||
| border-radius: 0 6px 6px 0 !important; | ||
| box-shadow: inset 0 0 0 1px rgba(139, 34, 82, 0.08); | ||
| } |
There was a problem hiding this comment.
This file contains a large number of !important declarations, especially in this block. While sometimes necessary to override theme styles, excessive use of !important can make the CSS difficult to maintain and debug. It creates a high level of specificity that is hard to override later. Consider increasing selector specificity as an alternative where possible. For example, you might be able to use a selector like :root .VPSidebarItem .link.active to increase specificity without !important.
Hyperfine Performance
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.8 x -- echo |
25.7 ± 0.3 | 25.2 | 30.7 | 1.00 |
mise x -- echo |
26.3 ± 0.3 | 25.8 | 29.0 | 1.02 ± 0.02 |
mise env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.8 env |
25.1 ± 0.6 | 24.6 | 31.4 | 1.00 |
mise env |
25.6 ± 0.2 | 25.1 | 27.7 | 1.02 ± 0.03 |
mise hook-env
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.8 hook-env |
25.8 ± 0.2 | 25.4 | 26.9 | 1.00 |
mise hook-env |
26.4 ± 0.2 | 26.0 | 27.7 | 1.02 ± 0.01 |
mise ls
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
mise-2026.3.8 ls |
25.0 ± 0.2 | 24.1 | 26.4 | 1.00 |
mise ls |
25.4 ± 0.3 | 24.8 | 27.7 | 1.02 ± 0.01 |
xtasks/test/perf
| Command | mise-2026.3.8 | mise | Variance |
|---|---|---|---|
| install (cached) | 159ms | 161ms | -1% |
| ls (cached) | 86ms | 88ms | -2% |
| bin-paths (cached) | 89ms | 92ms | -3% |
| task-ls (cached) | 812ms | 815ms | +0% |
### 🚀 Features - **(github)** use release latest endpoint to get latest release by @roele in [#8516](#8516) - **(install)** add shared and system install directories by @jdx in [#8581](#8581) - **(vfox)** add provenance metadata to lockfile for tool plugins by @malept in [#8544](#8544) ### 🐛 Bug Fixes - **(aqua)** expose main binary when files field is empty and symlink_bins is enabled by @AlexanderTheGrey in [#8550](#8550) - **(env)** redact secrets in `mise set` listing and task-specific env by @jdx in [#8583](#8583) - **(prepare)** install config tools before running prepare steps by @jdx in [#8582](#8582) - **(task)** allow ctrl-c to interrupt tool downloads during `mise run` by @jdx in [#8571](#8571) - **(tasks)** add file task header parser support for spaces around = by @roele in [#8574](#8574) ### 📚 Documentation - **(task)** add property description for interactive by @roele in [#8562](#8562) - add missing `</bold>` closing tag by @muzimuzhi in [#8564](#8564) - rebrand site with new chef logo and warm culinary palette by @jdx in [#8587](#8587) ### 📦️ Dependency Updates - update ghcr.io/jdx/mise:alpine docker digest to de4657e by @renovate[bot] in [#8577](#8577) - update ghcr.io/jdx/mise:copr docker digest to eef29a2 by @renovate[bot] in [#8578](#8578) - update ghcr.io/jdx/mise:rpm docker digest to 5a96587 by @renovate[bot] in [#8580](#8580) - update ghcr.io/jdx/mise:deb docker digest to 464cf7c by @renovate[bot] in [#8579](#8579) ### 📦 Registry - fix flatc version test mismatch by @jdx in [#8588](#8588) ### Chore - **(registry)** skip spark test-tool by @jdx in [#8572](#8572) ### New Contributors - @AlexanderTheGrey made their first contribution in [#8550](#8550) ## 📦 Aqua Registry Updates #### New Packages (6) - [`bahdotsh/mdterm`](https://github.com/bahdotsh/mdterm) - [`callumalpass/mdbase-lsp`](https://github.com/callumalpass/mdbase-lsp) - [`facebook/ktfmt`](https://github.com/facebook/ktfmt) - [`gurgeous/tennis`](https://github.com/gurgeous/tennis) - [`tektoncd/pipelines-as-code`](https://github.com/tektoncd/pipelines-as-code) - [`weedonandscott/trolley`](https://github.com/weedonandscott/trolley) #### Updated Packages (2) - [`apple/container`](https://github.com/apple/container) - [`cocogitto/cocogitto`](https://github.com/cocogitto/cocogitto)
|
Are contributions welcome to make the UI look less like slop? |
|
Sure |
…8587) ## Summary - Replace old logo with new chef character branding (light + dark SVG variants) - Introduce warm culinary color palette: burgundy, gold, sage with cream/brown backgrounds - Add Roc Grotesk font (self-hosted) for headings, nav, buttons, sidebar, tables - Use Cormorant Garamond for body prose, keeping JetBrains Mono for code - Redesign hero as two-column layout: logo + tagline left, install command + action buttons right - Update favicons, site manifest, and README badge colors - Rewrite getting-started.md for better readability - Improve table styling, sidebar active states, and responsive breakpoints ## Test plan - [ ] Verify landing page hero layout in both light and dark mode - [ ] Check navbar logo swaps correctly between light/dark - [ ] Test mobile responsive layout (hero stacks to single column) - [ ] Verify all fonts load (Roc Grotesk, Cormorant Garamond, JetBrains Mono) - [ ] Check sidebar active state visibility in both modes - [ ] Verify tables fill their container width - [ ] Test install command copy-to-clipboard functionality - [ ] Review getting-started.md content changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk because changes are limited to documentation site styling/assets and copy; the only behavior change is a small `navigator.clipboard` handler for the home-page install snippet. > > **Overview** > **Rebrands the docs site UI** with a new chef-logo identity and warm culinary color system (burgundy/gold/sage) across light/dark modes, including updated fonts, buttons, sidebar/table styling, and README badge colors. > > **Redesigns the home hero** by introducing a custom VitePress `Layout` that adds atmospheric background effects plus a two-column hero with an install command (click-to-copy) and new action links; also updates theme config to support light/dark logos, enables the appearance toggle, refreshes homepage feature copy/icons, and rewrites `getting-started.md` for clearer onboarding. > > **Updates branding assets** by replacing the old `logo.svg` and adding light/dark + full-wordmark SVG variants, and adjusts `site.webmanifest` theme/background colors to match the new palette. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 2021a44. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
### 🚀 Features - **(github)** use release latest endpoint to get latest release by @roele in [jdx#8516](jdx#8516) - **(install)** add shared and system install directories by @jdx in [jdx#8581](jdx#8581) - **(vfox)** add provenance metadata to lockfile for tool plugins by @malept in [jdx#8544](jdx#8544) ### 🐛 Bug Fixes - **(aqua)** expose main binary when files field is empty and symlink_bins is enabled by @AlexanderTheGrey in [jdx#8550](jdx#8550) - **(env)** redact secrets in `mise set` listing and task-specific env by @jdx in [jdx#8583](jdx#8583) - **(prepare)** install config tools before running prepare steps by @jdx in [jdx#8582](jdx#8582) - **(task)** allow ctrl-c to interrupt tool downloads during `mise run` by @jdx in [jdx#8571](jdx#8571) - **(tasks)** add file task header parser support for spaces around = by @roele in [jdx#8574](jdx#8574) ### 📚 Documentation - **(task)** add property description for interactive by @roele in [jdx#8562](jdx#8562) - add missing `</bold>` closing tag by @muzimuzhi in [jdx#8564](jdx#8564) - rebrand site with new chef logo and warm culinary palette by @jdx in [jdx#8587](jdx#8587) ### 📦️ Dependency Updates - update ghcr.io/jdx/mise:alpine docker digest to de4657e by @renovate[bot] in [jdx#8577](jdx#8577) - update ghcr.io/jdx/mise:copr docker digest to eef29a2 by @renovate[bot] in [jdx#8578](jdx#8578) - update ghcr.io/jdx/mise:rpm docker digest to 5a96587 by @renovate[bot] in [jdx#8580](jdx#8580) - update ghcr.io/jdx/mise:deb docker digest to 464cf7c by @renovate[bot] in [jdx#8579](jdx#8579) ### 📦 Registry - fix flatc version test mismatch by @jdx in [jdx#8588](jdx#8588) ### Chore - **(registry)** skip spark test-tool by @jdx in [jdx#8572](jdx#8572) ### New Contributors - @AlexanderTheGrey made their first contribution in [jdx#8550](jdx#8550) ## 📦 Aqua Registry Updates #### New Packages (6) - [`bahdotsh/mdterm`](https://github.com/bahdotsh/mdterm) - [`callumalpass/mdbase-lsp`](https://github.com/callumalpass/mdbase-lsp) - [`facebook/ktfmt`](https://github.com/facebook/ktfmt) - [`gurgeous/tennis`](https://github.com/gurgeous/tennis) - [`tektoncd/pipelines-as-code`](https://github.com/tektoncd/pipelines-as-code) - [`weedonandscott/trolley`](https://github.com/weedonandscott/trolley) #### Updated Packages (2) - [`apple/container`](https://github.com/apple/container) - [`cocogitto/cocogitto`](https://github.com/cocogitto/cocogitto)


Summary
Test plan
🤖 Generated with Claude Code
Note
Low Risk
Low risk because changes are limited to documentation site styling/assets and copy; the only behavior change is a small
navigator.clipboardhandler for the home-page install snippet.Overview
Rebrands the docs site UI with a new chef-logo identity and warm culinary color system (burgundy/gold/sage) across light/dark modes, including updated fonts, buttons, sidebar/table styling, and README badge colors.
Redesigns the home hero by introducing a custom VitePress
Layoutthat adds atmospheric background effects plus a two-column hero with an install command (click-to-copy) and new action links; also updates theme config to support light/dark logos, enables the appearance toggle, refreshes homepage feature copy/icons, and rewritesgetting-started.mdfor clearer onboarding.Updates branding assets by replacing the old
logo.svgand adding light/dark + full-wordmark SVG variants, and adjustssite.webmanifesttheme/background colors to match the new palette.Written by Cursor Bugbot for commit 2021a44. This will update automatically on new commits. Configure here.