Build-time (not runtime) integration with tweakcn.com theme URLs.
Ships a shellui theme apply <tweakcn-url> CLI subcommand that fetches the theme JSON and rewrites the user's input.css (:root and .dark blocks). Tailwind then compiles the theme into their app.css during dotnet build. No runtime dependency on tweakcn, works offline, exactly-what-you-see is exactly-what-ships.
Scope
Why not runtime fetch?
Considered a ShellUI.applyTweakcnTheme(url) JS helper that fetches at page load. Trade-offs made runtime a bad default:
- Flash of wrong theme (FOUT)
- Runtime dep on tweakcn.com availability
- Doesn't work offline / airgapped / CI
- Extra HTTP round-trip on every page load
Build-time bake gives the user exactly what they want ("CSS shipped, exactly what user wants") without those costs. Runtime helper can ship as an opt-in later if there's demand.
Depends on
feat/nuget-precompiled-bundle — merges the precompiled CSS pipeline this feature layers onto.
Build-time (not runtime) integration with tweakcn.com theme URLs.
Ships a
shellui theme apply <tweakcn-url>CLI subcommand that fetches the theme JSON and rewrites the user's input.css (:rootand.darkblocks). Tailwind then compiles the theme into their app.css duringdotnet build. No runtime dependency on tweakcn, works offline, exactly-what-you-see is exactly-what-ships.Scope
shellui theme apply <url>— fetch tweakcn theme, rewrite input.css:root/.darkblocksshellui theme apply <url> --emit-override <path>— for Path A/D users, write an override CSS file (they link it after shellui-all.css)shellui theme init <url>— combinedinit+apply(chain during setup)shellui theme update— refresh from last-used URLshellui.theme.lock— records source URL + hash for reproducible re-appliesshellui-installation-tests/with theme-apply examplespath-c-cli-tweakcn/— end-to-end demoWhy not runtime fetch?
Considered a
ShellUI.applyTweakcnTheme(url)JS helper that fetches at page load. Trade-offs made runtime a bad default:Build-time bake gives the user exactly what they want ("CSS shipped, exactly what user wants") without those costs. Runtime helper can ship as an opt-in later if there's demand.
Depends on
feat/nuget-precompiled-bundle— merges the precompiled CSS pipeline this feature layers onto.