nomoreide-daemon 0.20.4

The NoMoreIDE daemon: the local HTTP server, its route registry, and the embedded web dashboard.
Documentation
<!doctype html>
<html lang="en" class="dark" style="color-scheme: dark">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/assets/nomoreide-favicon-Ds7Tgj9p.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>NoMoreIDE</title>
    <script>
      (() => {
        let theme = "system";
        let density = "comfortable";
        let codeFontSize = 12;
        let reducedMotion = window.matchMedia?.("(prefers-reduced-motion: reduce)").matches ?? false;
        try {
          const raw = window.localStorage.getItem("nomoreide:ui-preferences");
          const stored = raw ? JSON.parse(raw) : null;
          if (stored?.version === 1 || stored?.version === 2) {
            if (["light", "dark", "system"].includes(stored.theme)) theme = stored.theme;
            if (["comfortable", "compact"].includes(stored.density)) density = stored.density;
            if (Number.isInteger(stored.codeFontSize) && stored.codeFontSize >= 10 && stored.codeFontSize <= 18) codeFontSize = stored.codeFontSize;
            if (typeof stored.reducedMotion === "boolean") reducedMotion = stored.reducedMotion;
          } else {
            const legacyTheme = window.localStorage.getItem("nomoreide-theme-choice");
            if (["light", "dark", "system"].includes(legacyTheme)) theme = legacyTheme;
          }
        } catch {}
        const resolvedTheme = theme === "system"
          ? (window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light")
          : theme;
        const root = document.documentElement;
        root.classList.toggle("dark", resolvedTheme === "dark");
        root.style.colorScheme = resolvedTheme;
        root.dataset.density = density;
        root.dataset.reducedMotion = String(reducedMotion);
        root.style.setProperty("--code-font-size", `${codeFontSize}px`);
      })();
    </script>
    <script type="module" crossorigin src="/assets/index-1aVqJ0nU.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-ymkP-X5E.css">
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>