docs: content update and migration - #865
Conversation
…/docs Copies the 44-page legacy pages/** tree into content/docs/**, adds meta.json per folder to restore the old sidebars.js nav order, converts Docusaurus Tabs/TabItem to fumadocs-ui Tabs/Tab and admonitions to Callout, and excludes content/docs/fragments/ (MDX partials) from routing via defineDocs' files glob in lib/source.ts.
Swaps the placeholder nav title for the light/dark Devsy logo, wires light-default/OS-respecting color mode via RootProvider, and remaps the brand primary color from custom.css into Fumadocs' --color-fd-primary. Drops custom.css and custom.js entirely: their component overrides have native Fumadocs equivalents (Tabs, Callout, sidebar, copy button) and the hand-rolled active-TOC/scroll-spy highlighting is fully superseded by Fumadocs' built-in IntersectionObserver-based TOC.
Copy static/media/* to public/docs/media/ and devsy-favicon.svg to app/icon.svg so hardcoded /docs/media/... MDX references resolve correctly under Fumadocs' default routing (no basePath). Remove the now-unused static/ directory.
…x port Add a Next.js Metadata export to app/(home)/layout.tsx carrying the title, description, and Open Graph/Twitter Card tags from the original static public/index.html <head>, which had no JSX equivalent after the port.
Adds scripts/check-links.mts (registered via fumadocs-mdx's Node ESM loader since the macro-based source config can't run under a plain tsx invocation) to catch broken relative links and stale heading anchors from the Fumadocs migration. Enables checkRelativePaths and populates TOC-derived hashes, since next-validate-link silently skips both checks by default.
Task 10 verification found sites/docs-devsy-sh/README.md still described the old Docusaurus/yarn setup and a since-deleted gen-docs.go versioning script. Replace it with the current npm-based Fumadocs commands (dev, build, check-links).
The plan document driving the migration executed in this branch's subsequent commits.
- Set metadataBase on the root layout so OG/Twitter image URLs on all docs pages resolve to https://www.devsy.sh instead of falling back to http://localhost:3000 in production. - Declare next-themes as an explicit dependency instead of relying on it being hoisted transitively via fumadocs-ui. - Correct the stale next.config.mjs comment referencing the deleted legacy Docusaurus pages/ directory.
✅ Deploy Preview for devsydev ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Warning Review limit reached
Next review available in: 10 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (15)
📝 WalkthroughWalkthroughThe documentation site migrates from Docusaurus to Next.js and Fumadocs. It adds a new Devsy homepage, documentation routes, search and LLM endpoints, updated content and navigation, link checking, redirects, and static Netlify deployment. ChangesDevsy documentation migration
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
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 |
✅ Deploy Preview for images-devsy-sh canceled.
|
Fixes 32 findings from an automated CodeRabbit CLI review: 1 critical (unauthenticated Docker daemon TCP exposure in the WSL provider tutorial, replaced with SSH-based Docker contexts), 7 major (security guidance on credential/SSH-agent forwarding, Podman socket/compose setup corrections, inconsistent duration format), and 24 minor (broken links, grammar, an invalid devcontainer.json example, a missing nav aria-label, an unsupported next start script under static export, and missing provider entries).
Executes the content-review workstream: cross-references doc claims (commands, flags, error codes, provider schemas, architecture) against current Go source rather than trusting existing prose. - Replaces fabricated structured CLI error codes (DOCKER_NOT_RUNNING, PODMAN_SOCKET_UNAVAILABLE, KUBE_CONFIG_MISSING, AWS_*, etc.) with the actual 4-member error code enum from pkg/clierr/errors.go, and corrects which flag/mode actually triggers JSON error output. - Adds missing devsy machine start/describe/inspect subcommands. - Corrects stale architecture claims across how-it-works/*: removes an inaccurate "wraps kubectl" claim (the Kubernetes driver uses client-go directly) and a nonexistent "kaniko" build driver reference, replacing both with the real build/driver mechanisms. - Fixes provider-schema documentation drift in developing-providers/* (missing option fields, missing Apple/Microsandbox/Custom driver sections, stale Kubernetes driver field list) and corrects Kubernetes' misclassification as an external provider repo when it's actually a first-party embedded built-in. - Adds notes for two real, recent behavior changes (platform-pin and Docker-env propagation in compose builds) that shipped without a corresponding doc update. - Fixes a placeholder IP octet left in an example command output. - Normalizes rename-provider.md to .mdx for consistency with the rest of the tree.
There was a problem hiding this comment.
Actionable comments posted: 16
🧹 Nitpick comments (2)
sites/docs-devsy-sh/app/(home)/page.tsx (1)
485-524: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winAdd post-submit feedback for the contact form.
The form posts without an
actiontarget or client-side handling. After a successful Netlify Forms submission, the user gets no visible confirmation beyond a page reload. Add anactionattribute pointing to a thank-you route, or add a client-side submit handler that shows a success state.🤖 Prompt for 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. In `@sites/docs-devsy-sh/app/`(home)/page.tsx around lines 485 - 524, Add post-submit feedback to the contact form by setting its action attribute to an existing thank-you route, or implement client-side submission handling that displays a clear success state after Netlify accepts the form. Update the form element identified by name="contact" while preserving its existing Netlify and honeypot configuration.sites/docs-devsy-sh/app/(home)/home.css (1)
155-163: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winRemove or apply the unused
.nav-link-singleCSS rule.
home.cssdefines.nav-link-singlestyling for a standalone nav-cta link, but no element inpage.tsxuses this class. This indicates either leftover dead CSS from an earlier design iteration, or a missed class assignment on the "Docs" link.
sites/docs-devsy-sh/app/(home)/home.css#L155-L163: Remove this rule if it is unused, or apply it as intended.sites/docs-devsy-sh/app/(home)/home.css#L260-L265: Remove the.nav-cta .nav-link-singleselector if.nav-link-singleis not used, or keep it consistent with the intended element.sites/docs-devsy-sh/app/(home)/page.tsx#L69-L74: If the "Docs" link was meant to be visually distinct in the mobile nav-cta area, move it out of.nav-linksand addclassName="nav-link-single".🤖 Prompt for 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. In `@sites/docs-devsy-sh/app/`(home)/home.css around lines 155 - 163, Resolve the unused nav-link-single styling consistently across sites/docs-devsy-sh/app/(home)/home.css lines 155-163 and 260-265 and sites/docs-devsy-sh/app/(home)/page.tsx lines 69-74: either remove both CSS rules when the class is not intended, or move the Docs link out of nav-links in page.tsx and assign className nav-link-single so both selectors apply to the intended mobile nav-cta link.
🤖 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 `@sites/docs-devsy-sh/app/`(home)/page.tsx:
- Line 84: Replace the home page’s useTheme/setTheme dependency around the theme
toggle with a supported approach: either move the control into a client
component that owns and applies its theme state, or consistently add and use a
shared next-themes ThemeProvider through the app layout Provider. Ensure the
onClick handler is connected to the selected theme implementation and remove
unavailable useTheme usage from the home page.
In
`@sites/docs-devsy-sh/content/docs/developing-in-workspaces/devcontainer-json.mdx`:
- Around line 145-149: Update the `devsy workspace up` example in the workspace
devcontainer documentation to explicitly select the SSH provider by adding the
documented `--provider ssh` option, while preserving the existing repository URL
and `--ide=none` arguments.
In
`@sites/docs-devsy-sh/content/docs/developing-in-workspaces/dotfiles-in-a-workspace.mdx`:
- Around line 29-31: Restore the recognized installer path to script/setup in
the documented setup-location list, replacing setup/setup, so repositories using
script/setup are detected and executed before falling back to hidden-file
linking.
In
`@sites/docs-devsy-sh/content/docs/developing-in-workspaces/inactivity-timeout.mdx`:
- Line 27: Update the inactivity-timeout documentation paragraph to use “it's”
for the contractions and remove the redundant “again” from “restart the
container again,” while preserving the existing meaning.
In `@sites/docs-devsy-sh/content/docs/developing-providers/agent.mdx`:
- Line 49: Update the path option description in the agent configuration
documentation to state that path controls the remote agent location, while local
execution requires setting local: true; remove the implication that using
${DEVSY} alone selects the local machine.
In `@sites/docs-devsy-sh/content/docs/fragments/add-provider.mdx`:
- Around line 4-13: Update the alt attributes on the two images in the provider
setup instructions so each conveys its distinct screen: provider selection for
add-provider-1.png and provider configuration/add-provider action for
add-provider-2.png. Do not retain the generic “Devsy Flow” text; use empty alt
text only if the adjacent figcaptions fully describe the images.
In `@sites/docs-devsy-sh/content/docs/fragments/setup-virtualbox.mdx`:
- Around line 4-15: Update the “Recommended machine requirements” table to
require at least 16GB of host RAM, matching the 8192 MB guest allocation
described in the related VirtualBox walkthrough; keep the other minimum
requirements unchanged.
In `@sites/docs-devsy-sh/content/docs/fragments/virtualbox-ubuntu-22.04.mdx`:
- Line 7: Update the Ubuntu 22.04 ISO download instruction to explicitly state
that this tutorial requires an x86-64 host and guest image, or provide a tested
arm64 VirtualBox installation path instead. Keep the existing Ubuntu 22.04
download guidance aligned with the supported architecture.
In `@sites/docs-devsy-sh/content/docs/managing-machines/manage-machines.mdx`:
- Line 58: Update the description near the machine configuration JSON output to
remove the claim that it is the “full configuration.” State that it prints the
machine configuration, including provider and provider options, with sensitive
values redacted and hidden options omitted.
In `@sites/docs-devsy-sh/content/docs/troubleshooting/linux-troubleshooting.mdx`:
- Line 12: Correct the spelling in the troubleshooting documentation by
replacing “neccesary” with “necessary” in the explanatory sentence.
- Around line 96-113: Correct the Podman provider guidance in
sites/docs-devsy-sh/content/docs/troubleshooting/linux-troubleshooting.mdx lines
96-113 and sites/docs-devsy-sh/content/docs/tutorials/podman-provider-setup.mdx
lines 205-222: remove docker-compose-plugin as the default Option 2, document
only podman-compose or a real docker-compose executable, and update each
verification command to check the provider actually installed.
In `@sites/docs-devsy-sh/content/docs/tutorials/podman-provider-setup.mdx`:
- Around line 70-74: Update both Podman API service examples in
podman-provider-setup.mdx at lines 70-74 and 187-191 to use a detached or
persistent launcher instead of relying on trailing “&” alone, so the service
survives terminal closure. Retain “--time=0” solely to disable the API
inactivity shutdown timeout.
In
`@sites/docs-devsy-sh/content/docs/tutorials/reduce-build-times-with-cache.mdx`:
- Around line 35-39: Update the containerd verification command in the “Verify
the active storage driver” section to query Docker’s DriverStatus using the
formatted docker info output, rather than grepping the storage driver field.
Keep the check focused on confirming the containerd snapshotter status.
In `@sites/docs-devsy-sh/content/docs/what-is-devsy.mdx`:
- Line 9: Update the img element’s alt text to summarize the workflow
information shown in devsy-flow.gif; if the surrounding content already conveys
it, use an empty alt attribute to mark the image decorative.
In `@sites/docs-devsy-sh/lib/cn.ts`:
- Line 1: Declare cnfast as a direct dependency in the site’s package manifest
so the existing cn re-export remains backed by an explicitly installed package;
alternatively, replace the import in the cn module with an equivalent dependency
already declared by the site.
In `@sites/docs-devsy-sh/README.md`:
- Around line 5-30: Update the Installation, Local Development, Build, and Check
Links headings to level 2, mark each command fence as sh, and remove the leading
$ prompts from the commands while preserving the surrounding documentation.
---
Nitpick comments:
In `@sites/docs-devsy-sh/app/`(home)/home.css:
- Around line 155-163: Resolve the unused nav-link-single styling consistently
across sites/docs-devsy-sh/app/(home)/home.css lines 155-163 and 260-265 and
sites/docs-devsy-sh/app/(home)/page.tsx lines 69-74: either remove both CSS
rules when the class is not intended, or move the Docs link out of nav-links in
page.tsx and assign className nav-link-single so both selectors apply to the
intended mobile nav-cta link.
In `@sites/docs-devsy-sh/app/`(home)/page.tsx:
- Around line 485-524: Add post-submit feedback to the contact form by setting
its action attribute to an existing thank-you route, or implement client-side
submission handling that displays a clear success state after Netlify accepts
the form. Update the form element identified by name="contact" while preserving
its existing Netlify and honeypot configuration.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: fa22e096-2a0c-47d8-a1bc-442ee4edd059
⛔ Files ignored due to path filters (20)
sites/docs-devsy-sh/app/icon.svgis excluded by!**/*.svgsites/docs-devsy-sh/package-lock.jsonis excluded by!**/package-lock.jsonsites/docs-devsy-sh/public/docs/media/add-provider-1.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/add-provider-2.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_build.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_build_k8s.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_k8s.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_machines.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_workspaces.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/cluster-compatibility.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/devsy-dark.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/devsy-favicon.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/devsy-flow.gifis excluded by!**/*.gifsites/docs-devsy-sh/public/docs/media/devsy-icon.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/devsy-logo-horizontal-dark.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/devsy-logo-horizontal.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/devsy.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/slack.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/up_sequence.pngis excluded by!**/*.pngsites/docs-devsy-sh/yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (96)
sites/docs-devsy-sh/.gitignoresites/docs-devsy-sh/README.mdsites/docs-devsy-sh/app/(home)/home.csssites/docs-devsy-sh/app/(home)/layout.tsxsites/docs-devsy-sh/app/(home)/page.tsxsites/docs-devsy-sh/app/api/search/route.tssites/docs-devsy-sh/app/docs/[[...slug]]/page.tsxsites/docs-devsy-sh/app/docs/layout.tsxsites/docs-devsy-sh/app/global.csssites/docs-devsy-sh/app/layout.tsxsites/docs-devsy-sh/app/llms-full.txt/route.tssites/docs-devsy-sh/app/llms.mdx/docs/[[...slug]]/route.tssites/docs-devsy-sh/app/llms.txt/route.tssites/docs-devsy-sh/app/og/docs/[...slug]/route.tsxsites/docs-devsy-sh/components/mdx.tsxsites/docs-devsy-sh/components/provider.tsxsites/docs-devsy-sh/components/search.tsxsites/docs-devsy-sh/content/docs/developing-in-workspaces/connect-to-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/continuous-integration.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/create-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/credentials.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/devcontainer-json.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/dotfiles-in-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/inactivity-timeout.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/mcp-server.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/meta.jsonsites/docs-devsy-sh/content/docs/developing-in-workspaces/prebuild-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/secrets.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/stop-and-delete-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/workspace-snapshots.mdxsites/docs-devsy-sh/content/docs/developing-providers/agent.mdxsites/docs-devsy-sh/content/docs/developing-providers/binaries.mdxsites/docs-devsy-sh/content/docs/developing-providers/driver.mdxsites/docs-devsy-sh/content/docs/developing-providers/meta.jsonsites/docs-devsy-sh/content/docs/developing-providers/options.mdxsites/docs-devsy-sh/content/docs/developing-providers/quickstart.mdxsites/docs-devsy-sh/content/docs/fragments/add-provider.mdxsites/docs-devsy-sh/content/docs/fragments/meta.jsonsites/docs-devsy-sh/content/docs/fragments/setup-virtualbox.mdxsites/docs-devsy-sh/content/docs/fragments/virtualbox-ubuntu-22.04.mdxsites/docs-devsy-sh/content/docs/getting-started/install.mdxsites/docs-devsy-sh/content/docs/getting-started/meta.jsonsites/docs-devsy-sh/content/docs/getting-started/quickstart.mdxsites/docs-devsy-sh/content/docs/getting-started/update.mdxsites/docs-devsy-sh/content/docs/how-it-works/deploying-workspaces.mdxsites/docs-devsy-sh/content/docs/how-it-works/meta.jsonsites/docs-devsy-sh/content/docs/how-it-works/overview.mdxsites/docs-devsy-sh/content/docs/managing-machines/manage-machines.mdxsites/docs-devsy-sh/content/docs/managing-machines/meta.jsonsites/docs-devsy-sh/content/docs/managing-machines/what-are-machines.mdxsites/docs-devsy-sh/content/docs/managing-providers/manage-providers.mdxsites/docs-devsy-sh/content/docs/managing-providers/meta.jsonsites/docs-devsy-sh/content/docs/managing-providers/what-are-providers.mdxsites/docs-devsy-sh/content/docs/meta.jsonsites/docs-devsy-sh/content/docs/troubleshooting/linux-troubleshooting.mdxsites/docs-devsy-sh/content/docs/troubleshooting/meta.jsonsites/docs-devsy-sh/content/docs/troubleshooting/troubleshooting.mdxsites/docs-devsy-sh/content/docs/tutorials/docker-provider-via-wsl.mdxsites/docs-devsy-sh/content/docs/tutorials/meta.jsonsites/docs-devsy-sh/content/docs/tutorials/minikube-vscode-browser.mdxsites/docs-devsy-sh/content/docs/tutorials/podman-provider-setup.mdxsites/docs-devsy-sh/content/docs/tutorials/reduce-build-times-with-cache.mdxsites/docs-devsy-sh/content/docs/what-is-devsy.mdxsites/docs-devsy-sh/docusaurus.config.jssites/docs-devsy-sh/lib/cn.tssites/docs-devsy-sh/lib/layout.shared.tsxsites/docs-devsy-sh/lib/shared.tssites/docs-devsy-sh/lib/source.tssites/docs-devsy-sh/netlify.tomlsites/docs-devsy-sh/next.config.mjssites/docs-devsy-sh/package.jsonsites/docs-devsy-sh/pages/developing-in-workspaces/delete-a-workspace.mdxsites/docs-devsy-sh/pages/developing-in-workspaces/environment-variables-in-devcontainer-json.mdxsites/docs-devsy-sh/pages/developing-in-workspaces/what-are-workspaces.mdxsites/docs-devsy-sh/pages/developing-providers/driver.mdxsites/docs-devsy-sh/pages/how-it-works/building-workspaces.mdxsites/docs-devsy-sh/pages/how-it-works/deploy-k8s.mdxsites/docs-devsy-sh/pages/how-it-works/deploy-machines.mdxsites/docs-devsy-sh/pages/how-it-works/deploying-workspaces.mdxsites/docs-devsy-sh/pages/managing-providers/remove-provider.mdxsites/docs-devsy-sh/pages/managing-providers/rename-provider.mdsites/docs-devsy-sh/pages/managing-providers/set-source.mdxsites/docs-devsy-sh/postcss.config.mjssites/docs-devsy-sh/public/_redirectssites/docs-devsy-sh/public/index.htmlsites/docs-devsy-sh/scripts/check-links.mtssites/docs-devsy-sh/sidebars.jssites/docs-devsy-sh/src/components/Highlight/Highlight.jssites/docs-devsy-sh/src/components/Highlight/styles.module.csssites/docs-devsy-sh/src/components/Step/Step.jssites/docs-devsy-sh/src/components/Step/styles.module.csssites/docs-devsy-sh/src/css/custom.csssites/docs-devsy-sh/src/pages/index.jssites/docs-devsy-sh/src/pages/styles.module.csssites/docs-devsy-sh/static/js/custom.jssites/docs-devsy-sh/tsconfig.json
💤 Files with no reviewable changes (23)
- sites/docs-devsy-sh/content/docs/getting-started/update.mdx
- sites/docs-devsy-sh/pages/developing-in-workspaces/delete-a-workspace.mdx
- sites/docs-devsy-sh/pages/managing-providers/rename-provider.md
- sites/docs-devsy-sh/pages/how-it-works/deploying-workspaces.mdx
- sites/docs-devsy-sh/pages/how-it-works/building-workspaces.mdx
- sites/docs-devsy-sh/src/components/Highlight/styles.module.css
- sites/docs-devsy-sh/docusaurus.config.js
- sites/docs-devsy-sh/pages/developing-providers/driver.mdx
- sites/docs-devsy-sh/pages/how-it-works/deploy-k8s.mdx
- sites/docs-devsy-sh/src/pages/index.js
- sites/docs-devsy-sh/pages/developing-in-workspaces/environment-variables-in-devcontainer-json.mdx
- sites/docs-devsy-sh/public/index.html
- sites/docs-devsy-sh/src/components/Step/styles.module.css
- sites/docs-devsy-sh/pages/how-it-works/deploy-machines.mdx
- sites/docs-devsy-sh/pages/managing-providers/remove-provider.mdx
- sites/docs-devsy-sh/pages/managing-providers/set-source.mdx
- sites/docs-devsy-sh/pages/developing-in-workspaces/what-are-workspaces.mdx
- sites/docs-devsy-sh/src/components/Highlight/Highlight.js
- sites/docs-devsy-sh/src/css/custom.css
- sites/docs-devsy-sh/src/components/Step/Step.js
- sites/docs-devsy-sh/src/pages/styles.module.css
- sites/docs-devsy-sh/static/js/custom.js
- sites/docs-devsy-sh/sidebars.js
| type="button" | ||
| aria-label={themeLabel} | ||
| title={themeLabel} | ||
| onClick={() => setTheme(isDark ? 'light' : 'dark')} |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Confirm the ThemeProvider is configured with attribute="class".
rg -n -C4 'ThemeProvider' sites/docs-devsy-sh/components/provider.tsxRepository: devsy-org/devsy
Length of output: 153
🏁 Script executed:
#!/bin/bash
set -u
echo "Candidate provider files:"
fd -i 'provider' sites/docs-devsy-sh || true
echo
echo "ThemeProvider occurrences in sites/docs-devsy-sh:"
rg -n -C5 'ThemeProvider|next-themes|setTheme|dark|isDark' sites/docs-devsy-sh || true
echo
echo "Page relevant lines if present:"
fd -a 'page\.tsx' sites/docs-devsy-sh/app | while read -r f; do
if rg -q 'setTheme|useTheme|theme' "$f"; then
echo "--- $f"
rg -n -C8 'setTheme|useTheme|theme' "$f"
fi
doneRepository: devsy-org/devsy
Length of output: 13305
🏁 Script executed:
#!/bin/bash
set -u
echo "Layout and page imports/usages:"
fd -a 'layout\.tsx$|page\.tsx$' sites/docs-devsy-sh/app | sort | while read -r f; do
if [ -f "$f" ]; then
echo "--- $f"
sed -n '1,220p' "$f"
fi
done
echo
echo "All next-themes imports/usages in sites/docs-devsy-sh:"
rg -n -C3 'next-themes|ThemeProvider|useTheme' sites/docs-devsy-sh || true
echo
echo "Package metadata for next-themes 0.4.6:"
python3 - <<'PY'
import json, urllib.request
url='https://unpkg.com/next-themes@0.4.6/package.json'
try:
raw=urllib.request.urlopen(url, timeout=10).read()
data=json.loads(raw)
print(data.get('name'), data.get('version'), data.get('main'), data.get('types'))
except Exception as e:
print("package-fetch-error", repr(e))
PYRepository: devsy-org/devsy
Length of output: 17683
🌐 Web query:
next-themes 0.4.6 ThemeProvider attribute default data-theme
💡 Result:
In next-themes version 0.4.6, the default value for the attribute prop in ThemeProvider is 'data-theme' [1][2][3]. When the ThemeProvider is used without a custom attribute prop, it automatically modifies the 'data-theme' attribute on the element of the document based on the currently active theme [1][4][5]. This allows you to target the theme in your CSS using attribute selectors, such as [data-theme='dark'] [3][6]. Key points regarding the attribute behavior: - Default Attribute: The default attribute is 'data-theme' [1][2]. - Customization: You can change the attribute to 'class' (often used with Tailwind CSS) or any other custom data attribute (e.g., 'data-mode', 'data-color') by passing the attribute prop to the ThemeProvider [1][4][3]. - Value Mapping: If you need the DOM attribute value to differ from the theme name stored in localStorage, you can use the value prop to provide a mapping object (e.g., <ThemeProvider value={{ light: 'light-mode', dark: 'dark-mode' }}>) [3][6].
Citations:
- 1: https://www.npmjs.com/package/next-themes
- 2: https://github.com/pacocoursey/next-themes?tab=readme-ov-file
- 3: https://registry.npmjs.org/next-themes
- 4: https://github.com/pacocoursey/next-themes/blob/master/next-themes/README.md
- 5: https://github.com/pacocoursey/next-themes
- 6: pacocoursey/next-themes@v0.3.0...v0.4.6
Don’t apply useTheme to this home page layout.
site/docs-devsy-sh app layout wraps content with Provider, not a next-themes ThemeProvider, and there is no shared ThemeProvider usage in the site. This makes useTheme()/setTheme() unavailable and leaves the theme toggle unmapped to setTheme. Move the home-specific theme control into a client component that owns its own theme state or wire a shared ThemeProvider consistently before calling useTheme().
🤖 Prompt for 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.
In `@sites/docs-devsy-sh/app/`(home)/page.tsx at line 84, Replace the home page’s
useTheme/setTheme dependency around the theme toggle with a supported approach:
either move the control into a client component that owns and applies its theme
state, or consistently add and use a shared next-themes ThemeProvider through
the app layout Provider. Ensure the onClick handler is connected to the selected
theme implementation and remove unavailable useTheme usage from the home page.
| - setup/setup | ||
|
|
||
| If none of the previous location are found, Devsy will just link every hidden file (files starting with `.`) | ||
| If none of the previous locations are found, Devsy will just link every hidden file (files starting with `.`) |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Restore the recognized script/setup path.
setup/setup is not listed as a recognized installer path. Current Devsy documentation and GitHub Codespaces documentation list script/setup instead. (devsy.sh)
With this change, repositories that contain script/setup can fall through to hidden-file linking instead of running their setup script.
Proposed fix
-setup/setup
+script/setup📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - setup/setup | |
| If none of the previous location are found, Devsy will just link every hidden file (files starting with `.`) | |
| If none of the previous locations are found, Devsy will just link every hidden file (files starting with `.`) | |
| - script/setup | |
| If none of the previous locations are found, Devsy will just link every hidden file (files starting with `.`) |
🤖 Prompt for 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.
In
`@sites/docs-devsy-sh/content/docs/developing-in-workspaces/dotfiles-in-a-workspace.mdx`
around lines 29 - 31, Restore the recognized installer path to script/setup in
the documented setup-location list, replacing setup/setup, so repositories using
script/setup are detected and executed before falling back to hidden-file
linking.
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 16
🧹 Nitpick comments (2)
sites/docs-devsy-sh/app/(home)/page.tsx (1)
485-524: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winAdd post-submit feedback for the contact form.
The form posts without an
actiontarget or client-side handling. After a successful Netlify Forms submission, the user gets no visible confirmation beyond a page reload. Add anactionattribute pointing to a thank-you route, or add a client-side submit handler that shows a success state.🤖 Prompt for 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. In `@sites/docs-devsy-sh/app/`(home)/page.tsx around lines 485 - 524, Add post-submit feedback to the contact form by setting its action attribute to an existing thank-you route, or implement client-side submission handling that displays a clear success state after Netlify accepts the form. Update the form element identified by name="contact" while preserving its existing Netlify and honeypot configuration.sites/docs-devsy-sh/app/(home)/home.css (1)
155-163: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winRemove or apply the unused
.nav-link-singleCSS rule.
home.cssdefines.nav-link-singlestyling for a standalone nav-cta link, but no element inpage.tsxuses this class. This indicates either leftover dead CSS from an earlier design iteration, or a missed class assignment on the "Docs" link.
sites/docs-devsy-sh/app/(home)/home.css#L155-L163: Remove this rule if it is unused, or apply it as intended.sites/docs-devsy-sh/app/(home)/home.css#L260-L265: Remove the.nav-cta .nav-link-singleselector if.nav-link-singleis not used, or keep it consistent with the intended element.sites/docs-devsy-sh/app/(home)/page.tsx#L69-L74: If the "Docs" link was meant to be visually distinct in the mobile nav-cta area, move it out of.nav-linksand addclassName="nav-link-single".🤖 Prompt for 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. In `@sites/docs-devsy-sh/app/`(home)/home.css around lines 155 - 163, Resolve the unused nav-link-single styling consistently across sites/docs-devsy-sh/app/(home)/home.css lines 155-163 and 260-265 and sites/docs-devsy-sh/app/(home)/page.tsx lines 69-74: either remove both CSS rules when the class is not intended, or move the Docs link out of nav-links in page.tsx and assign className nav-link-single so both selectors apply to the intended mobile nav-cta link.
🤖 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 `@sites/docs-devsy-sh/app/`(home)/page.tsx:
- Line 84: Replace the home page’s useTheme/setTheme dependency around the theme
toggle with a supported approach: either move the control into a client
component that owns and applies its theme state, or consistently add and use a
shared next-themes ThemeProvider through the app layout Provider. Ensure the
onClick handler is connected to the selected theme implementation and remove
unavailable useTheme usage from the home page.
In
`@sites/docs-devsy-sh/content/docs/developing-in-workspaces/devcontainer-json.mdx`:
- Around line 145-149: Update the `devsy workspace up` example in the workspace
devcontainer documentation to explicitly select the SSH provider by adding the
documented `--provider ssh` option, while preserving the existing repository URL
and `--ide=none` arguments.
In
`@sites/docs-devsy-sh/content/docs/developing-in-workspaces/dotfiles-in-a-workspace.mdx`:
- Around line 29-31: Restore the recognized installer path to script/setup in
the documented setup-location list, replacing setup/setup, so repositories using
script/setup are detected and executed before falling back to hidden-file
linking.
In
`@sites/docs-devsy-sh/content/docs/developing-in-workspaces/inactivity-timeout.mdx`:
- Line 27: Update the inactivity-timeout documentation paragraph to use “it's”
for the contractions and remove the redundant “again” from “restart the
container again,” while preserving the existing meaning.
In `@sites/docs-devsy-sh/content/docs/developing-providers/agent.mdx`:
- Line 49: Update the path option description in the agent configuration
documentation to state that path controls the remote agent location, while local
execution requires setting local: true; remove the implication that using
${DEVSY} alone selects the local machine.
In `@sites/docs-devsy-sh/content/docs/fragments/add-provider.mdx`:
- Around line 4-13: Update the alt attributes on the two images in the provider
setup instructions so each conveys its distinct screen: provider selection for
add-provider-1.png and provider configuration/add-provider action for
add-provider-2.png. Do not retain the generic “Devsy Flow” text; use empty alt
text only if the adjacent figcaptions fully describe the images.
In `@sites/docs-devsy-sh/content/docs/fragments/setup-virtualbox.mdx`:
- Around line 4-15: Update the “Recommended machine requirements” table to
require at least 16GB of host RAM, matching the 8192 MB guest allocation
described in the related VirtualBox walkthrough; keep the other minimum
requirements unchanged.
In `@sites/docs-devsy-sh/content/docs/fragments/virtualbox-ubuntu-22.04.mdx`:
- Line 7: Update the Ubuntu 22.04 ISO download instruction to explicitly state
that this tutorial requires an x86-64 host and guest image, or provide a tested
arm64 VirtualBox installation path instead. Keep the existing Ubuntu 22.04
download guidance aligned with the supported architecture.
In `@sites/docs-devsy-sh/content/docs/managing-machines/manage-machines.mdx`:
- Line 58: Update the description near the machine configuration JSON output to
remove the claim that it is the “full configuration.” State that it prints the
machine configuration, including provider and provider options, with sensitive
values redacted and hidden options omitted.
In `@sites/docs-devsy-sh/content/docs/troubleshooting/linux-troubleshooting.mdx`:
- Line 12: Correct the spelling in the troubleshooting documentation by
replacing “neccesary” with “necessary” in the explanatory sentence.
- Around line 96-113: Correct the Podman provider guidance in
sites/docs-devsy-sh/content/docs/troubleshooting/linux-troubleshooting.mdx lines
96-113 and sites/docs-devsy-sh/content/docs/tutorials/podman-provider-setup.mdx
lines 205-222: remove docker-compose-plugin as the default Option 2, document
only podman-compose or a real docker-compose executable, and update each
verification command to check the provider actually installed.
In `@sites/docs-devsy-sh/content/docs/tutorials/podman-provider-setup.mdx`:
- Around line 70-74: Update both Podman API service examples in
podman-provider-setup.mdx at lines 70-74 and 187-191 to use a detached or
persistent launcher instead of relying on trailing “&” alone, so the service
survives terminal closure. Retain “--time=0” solely to disable the API
inactivity shutdown timeout.
In
`@sites/docs-devsy-sh/content/docs/tutorials/reduce-build-times-with-cache.mdx`:
- Around line 35-39: Update the containerd verification command in the “Verify
the active storage driver” section to query Docker’s DriverStatus using the
formatted docker info output, rather than grepping the storage driver field.
Keep the check focused on confirming the containerd snapshotter status.
In `@sites/docs-devsy-sh/content/docs/what-is-devsy.mdx`:
- Line 9: Update the img element’s alt text to summarize the workflow
information shown in devsy-flow.gif; if the surrounding content already conveys
it, use an empty alt attribute to mark the image decorative.
In `@sites/docs-devsy-sh/lib/cn.ts`:
- Line 1: Declare cnfast as a direct dependency in the site’s package manifest
so the existing cn re-export remains backed by an explicitly installed package;
alternatively, replace the import in the cn module with an equivalent dependency
already declared by the site.
In `@sites/docs-devsy-sh/README.md`:
- Around line 5-30: Update the Installation, Local Development, Build, and Check
Links headings to level 2, mark each command fence as sh, and remove the leading
$ prompts from the commands while preserving the surrounding documentation.
---
Nitpick comments:
In `@sites/docs-devsy-sh/app/`(home)/home.css:
- Around line 155-163: Resolve the unused nav-link-single styling consistently
across sites/docs-devsy-sh/app/(home)/home.css lines 155-163 and 260-265 and
sites/docs-devsy-sh/app/(home)/page.tsx lines 69-74: either remove both CSS
rules when the class is not intended, or move the Docs link out of nav-links in
page.tsx and assign className nav-link-single so both selectors apply to the
intended mobile nav-cta link.
In `@sites/docs-devsy-sh/app/`(home)/page.tsx:
- Around line 485-524: Add post-submit feedback to the contact form by setting
its action attribute to an existing thank-you route, or implement client-side
submission handling that displays a clear success state after Netlify accepts
the form. Update the form element identified by name="contact" while preserving
its existing Netlify and honeypot configuration.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: fa22e096-2a0c-47d8-a1bc-442ee4edd059
⛔ Files ignored due to path filters (20)
sites/docs-devsy-sh/app/icon.svgis excluded by!**/*.svgsites/docs-devsy-sh/package-lock.jsonis excluded by!**/package-lock.jsonsites/docs-devsy-sh/public/docs/media/add-provider-1.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/add-provider-2.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_build.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_build_k8s.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_k8s.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_machines.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/c4_workspaces.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/cluster-compatibility.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/devsy-dark.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/devsy-favicon.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/devsy-flow.gifis excluded by!**/*.gifsites/docs-devsy-sh/public/docs/media/devsy-icon.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/devsy-logo-horizontal-dark.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/devsy-logo-horizontal.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/devsy.pngis excluded by!**/*.pngsites/docs-devsy-sh/public/docs/media/slack.svgis excluded by!**/*.svgsites/docs-devsy-sh/public/docs/media/up_sequence.pngis excluded by!**/*.pngsites/docs-devsy-sh/yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (96)
sites/docs-devsy-sh/.gitignoresites/docs-devsy-sh/README.mdsites/docs-devsy-sh/app/(home)/home.csssites/docs-devsy-sh/app/(home)/layout.tsxsites/docs-devsy-sh/app/(home)/page.tsxsites/docs-devsy-sh/app/api/search/route.tssites/docs-devsy-sh/app/docs/[[...slug]]/page.tsxsites/docs-devsy-sh/app/docs/layout.tsxsites/docs-devsy-sh/app/global.csssites/docs-devsy-sh/app/layout.tsxsites/docs-devsy-sh/app/llms-full.txt/route.tssites/docs-devsy-sh/app/llms.mdx/docs/[[...slug]]/route.tssites/docs-devsy-sh/app/llms.txt/route.tssites/docs-devsy-sh/app/og/docs/[...slug]/route.tsxsites/docs-devsy-sh/components/mdx.tsxsites/docs-devsy-sh/components/provider.tsxsites/docs-devsy-sh/components/search.tsxsites/docs-devsy-sh/content/docs/developing-in-workspaces/connect-to-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/continuous-integration.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/create-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/credentials.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/devcontainer-json.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/dotfiles-in-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/inactivity-timeout.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/mcp-server.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/meta.jsonsites/docs-devsy-sh/content/docs/developing-in-workspaces/prebuild-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/secrets.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/stop-and-delete-a-workspace.mdxsites/docs-devsy-sh/content/docs/developing-in-workspaces/workspace-snapshots.mdxsites/docs-devsy-sh/content/docs/developing-providers/agent.mdxsites/docs-devsy-sh/content/docs/developing-providers/binaries.mdxsites/docs-devsy-sh/content/docs/developing-providers/driver.mdxsites/docs-devsy-sh/content/docs/developing-providers/meta.jsonsites/docs-devsy-sh/content/docs/developing-providers/options.mdxsites/docs-devsy-sh/content/docs/developing-providers/quickstart.mdxsites/docs-devsy-sh/content/docs/fragments/add-provider.mdxsites/docs-devsy-sh/content/docs/fragments/meta.jsonsites/docs-devsy-sh/content/docs/fragments/setup-virtualbox.mdxsites/docs-devsy-sh/content/docs/fragments/virtualbox-ubuntu-22.04.mdxsites/docs-devsy-sh/content/docs/getting-started/install.mdxsites/docs-devsy-sh/content/docs/getting-started/meta.jsonsites/docs-devsy-sh/content/docs/getting-started/quickstart.mdxsites/docs-devsy-sh/content/docs/getting-started/update.mdxsites/docs-devsy-sh/content/docs/how-it-works/deploying-workspaces.mdxsites/docs-devsy-sh/content/docs/how-it-works/meta.jsonsites/docs-devsy-sh/content/docs/how-it-works/overview.mdxsites/docs-devsy-sh/content/docs/managing-machines/manage-machines.mdxsites/docs-devsy-sh/content/docs/managing-machines/meta.jsonsites/docs-devsy-sh/content/docs/managing-machines/what-are-machines.mdxsites/docs-devsy-sh/content/docs/managing-providers/manage-providers.mdxsites/docs-devsy-sh/content/docs/managing-providers/meta.jsonsites/docs-devsy-sh/content/docs/managing-providers/what-are-providers.mdxsites/docs-devsy-sh/content/docs/meta.jsonsites/docs-devsy-sh/content/docs/troubleshooting/linux-troubleshooting.mdxsites/docs-devsy-sh/content/docs/troubleshooting/meta.jsonsites/docs-devsy-sh/content/docs/troubleshooting/troubleshooting.mdxsites/docs-devsy-sh/content/docs/tutorials/docker-provider-via-wsl.mdxsites/docs-devsy-sh/content/docs/tutorials/meta.jsonsites/docs-devsy-sh/content/docs/tutorials/minikube-vscode-browser.mdxsites/docs-devsy-sh/content/docs/tutorials/podman-provider-setup.mdxsites/docs-devsy-sh/content/docs/tutorials/reduce-build-times-with-cache.mdxsites/docs-devsy-sh/content/docs/what-is-devsy.mdxsites/docs-devsy-sh/docusaurus.config.jssites/docs-devsy-sh/lib/cn.tssites/docs-devsy-sh/lib/layout.shared.tsxsites/docs-devsy-sh/lib/shared.tssites/docs-devsy-sh/lib/source.tssites/docs-devsy-sh/netlify.tomlsites/docs-devsy-sh/next.config.mjssites/docs-devsy-sh/package.jsonsites/docs-devsy-sh/pages/developing-in-workspaces/delete-a-workspace.mdxsites/docs-devsy-sh/pages/developing-in-workspaces/environment-variables-in-devcontainer-json.mdxsites/docs-devsy-sh/pages/developing-in-workspaces/what-are-workspaces.mdxsites/docs-devsy-sh/pages/developing-providers/driver.mdxsites/docs-devsy-sh/pages/how-it-works/building-workspaces.mdxsites/docs-devsy-sh/pages/how-it-works/deploy-k8s.mdxsites/docs-devsy-sh/pages/how-it-works/deploy-machines.mdxsites/docs-devsy-sh/pages/how-it-works/deploying-workspaces.mdxsites/docs-devsy-sh/pages/managing-providers/remove-provider.mdxsites/docs-devsy-sh/pages/managing-providers/rename-provider.mdsites/docs-devsy-sh/pages/managing-providers/set-source.mdxsites/docs-devsy-sh/postcss.config.mjssites/docs-devsy-sh/public/_redirectssites/docs-devsy-sh/public/index.htmlsites/docs-devsy-sh/scripts/check-links.mtssites/docs-devsy-sh/sidebars.jssites/docs-devsy-sh/src/components/Highlight/Highlight.jssites/docs-devsy-sh/src/components/Highlight/styles.module.csssites/docs-devsy-sh/src/components/Step/Step.jssites/docs-devsy-sh/src/components/Step/styles.module.csssites/docs-devsy-sh/src/css/custom.csssites/docs-devsy-sh/src/pages/index.jssites/docs-devsy-sh/src/pages/styles.module.csssites/docs-devsy-sh/static/js/custom.jssites/docs-devsy-sh/tsconfig.json
💤 Files with no reviewable changes (23)
- sites/docs-devsy-sh/content/docs/getting-started/update.mdx
- sites/docs-devsy-sh/pages/developing-in-workspaces/delete-a-workspace.mdx
- sites/docs-devsy-sh/pages/managing-providers/rename-provider.md
- sites/docs-devsy-sh/pages/how-it-works/deploying-workspaces.mdx
- sites/docs-devsy-sh/pages/how-it-works/building-workspaces.mdx
- sites/docs-devsy-sh/src/components/Highlight/styles.module.css
- sites/docs-devsy-sh/docusaurus.config.js
- sites/docs-devsy-sh/pages/developing-providers/driver.mdx
- sites/docs-devsy-sh/pages/how-it-works/deploy-k8s.mdx
- sites/docs-devsy-sh/src/pages/index.js
- sites/docs-devsy-sh/pages/developing-in-workspaces/environment-variables-in-devcontainer-json.mdx
- sites/docs-devsy-sh/public/index.html
- sites/docs-devsy-sh/src/components/Step/styles.module.css
- sites/docs-devsy-sh/pages/how-it-works/deploy-machines.mdx
- sites/docs-devsy-sh/pages/managing-providers/remove-provider.mdx
- sites/docs-devsy-sh/pages/managing-providers/set-source.mdx
- sites/docs-devsy-sh/pages/developing-in-workspaces/what-are-workspaces.mdx
- sites/docs-devsy-sh/src/components/Highlight/Highlight.js
- sites/docs-devsy-sh/src/css/custom.css
- sites/docs-devsy-sh/src/components/Step/Step.js
- sites/docs-devsy-sh/src/pages/styles.module.css
- sites/docs-devsy-sh/static/js/custom.js
- sites/docs-devsy-sh/sidebars.js
🛑 Comments failed to post (3)
sites/docs-devsy-sh/content/docs/fragments/add-provider.mdx (1)
4-13: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Replace the generic image alternative text.
Both images use
alt="Devsy Flow". Screen reader users cannot distinguish the provider-selection screen from the provider-configuration screen. Use specific alternative text for each image, or use emptyalttext only if the caption fully provides the needed description.Proposed fix
- <img src="/docs/media/add-provider-1.png" alt="Devsy Flow" /> + <img src="/docs/media/add-provider-1.png" alt="Provider selection screen" /> ... - <img src="/docs/media/add-provider-2.png" alt="Devsy Flow" /> + <img src="/docs/media/add-provider-2.png" alt="Provider configuration screen" />📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.<figure> <img src="/docs/media/add-provider-1.png" alt="Provider selection screen" /> <figcaption>Select Provider</figcaption> </figure> After selecting a provider, fill out the options (if necessary) and click on 'Add Provider' <figure> <img src="/docs/media/add-provider-2.png" alt="Provider configuration screen" /> <figcaption>Add Provider</figcaption>🤖 Prompt for 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. In `@sites/docs-devsy-sh/content/docs/fragments/add-provider.mdx` around lines 4 - 13, Update the alt attributes on the two images in the provider setup instructions so each conveys its distinct screen: provider selection for add-provider-1.png and provider configuration/add-provider action for add-provider-2.png. Do not retain the generic “Devsy Flow” text; use empty alt text only if the adjacent figcaptions fully describe the images.sites/docs-devsy-sh/content/docs/fragments/setup-virtualbox.mdx (1)
4-15: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Increase the host memory requirement.
The related walkthrough assigns
8192 MBto the guest VM. A host with only8GBcannot retain memory for the host OS and VirtualBox. Require host memory above the guest allocation, such as 16GB, or reduce the guest-memory recommendation and align both documents.🧰 Tools
🪛 LanguageTool
[grammar] ~12-~12: Use a hyphen to join words.
Context: ...imum requirement| |---|---| | CPU | dual core CPU | | RAM | 8GB | | Storage | 30G...(QB_NEW_EN_HYPHEN)
🤖 Prompt for 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. In `@sites/docs-devsy-sh/content/docs/fragments/setup-virtualbox.mdx` around lines 4 - 15, Update the “Recommended machine requirements” table to require at least 16GB of host RAM, matching the 8192 MB guest allocation described in the related VirtualBox walkthrough; keep the other minimum requirements unchanged.sites/docs-devsy-sh/content/docs/what-is-devsy.mdx (1)
9-9: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Describe the workflow image in the alt text.
alt="Devsy Flow"does not describe the information in the image. Use alt text that summarizes the workflow, or mark the image as decorative if the surrounding text provides the same information.🤖 Prompt for 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. In `@sites/docs-devsy-sh/content/docs/what-is-devsy.mdx` at line 9, Update the img element’s alt text to summarize the workflow information shown in devsy-flow.gif; if the surrounding content already conveys it, use an empty alt attribute to mark the image decorative.
Fixes 13 legitimate findings from a follow-up CodeRabbit review; 3
findings (useTheme lacking a provider ancestor, a dotfiles install
script name, the "39 vs 33 pages" count) were verified against actual
source/wiring and confirmed to be false positives or already correct,
so left unchanged:
- SSH provider example command now passes --provider ssh explicitly.
- Clarified that ${DEVSY} alone doesn't select local execution; the
separate `local` field does.
- Fixed grammar (its/it's, "an workspace", "neccesary") and redundant
wording.
- Corrected VirtualBox minimum host RAM (was equal to the guest VM's
own allocation, leaving no headroom) and flagged the walkthrough as
x86-64-only.
- Fixed generic alt text on 3 images to describe their actual content.
- Corrected podman-compose guidance: docker-compose-plugin ships a
Docker CLI subcommand, not the standalone docker-compose binary
Podman's compose delegation looks for.
- Backgrounded podman system service with setsid/nohup instead of a
bare `&`, which doesn't survive terminal closure.
- Switched a storage-driver check from grepping docker info's text
output to querying the structured DriverStatus field.
- Softened an "inspect" command's "full configuration" claim to match
its actual redacted/hidden-field behavior.
- Declared cnfast as an explicit dependency (was resolving only
transitively via fumadocs-ui).
- Removed a dead, unused .nav-link-single CSS rule.
- Normalized README.md heading levels, code fence language tags, and
removed shell-prompt characters from copyable commands.
The original static homepage (public/index.html on main) had a plain
html { scroll-behavior: smooth } rule, which was dropped during the
Fumadocs port since the whole document's <html> is now shared with
the docs pages. Scope it to only apply while the homepage is mounted,
via html:has(.home-page), so nav anchor clicks (#features, #agents,
etc.) animate again without affecting docs-page scrolling.
Trim "Migrating off an abandoned tool like DevPod" to "Migrating off an abandoned tool" — avoid naming a specific competing tool directly.
Summary
sites/docs-devsy-shin place from Docusaurus to Fumadocs (Next.js-based), covering all 42 content pages, theme/branding, static assets, the production marketing homepage, and the Netlify build pipeline.Notable fixes caught during review
<head>metadata — restored.metadataBasecaused all 42 docs pages' OG/Twitter preview images to resolve tolocalhost:3000in the static export — fixed.Summary by CodeRabbit