git submodule update --init --recursive
dotnet build CodexGui.slnx
dotnet pack CodexGui.slnx -c Release -o artifacts/packages
dotnet tool restore
bash ./build-docs.sh
bash ./check-docs.sh
bash ./serve-docs.sh
PowerShell equivalents are also available:
./build-docs.ps1
./check-docs.ps1
./serve-docs.ps1
build.yml initializes submodules and validates build, docs generation, and CodexGui package creation.docs.yml deploys the Lunet site to GitHub Pages for the main or master branch.release.yml builds tagged releases, publishes the CodexGui app and app-server packages, and creates the GitHub release.The Lunet site lives under site/ and follows the template-first pattern:
site/config.scriban for project metadata and theme configurationsite/menu.yml for top navigationsite/articles/ for documentation content and section menussite/.lunet/css/template-main.css for the precompiled template stylesheet used by the macOS-safe docs bundlesite/.lunet/css/site-overrides.css for project-specific branding, home-page polish, and site-wide Lunet visual refinementssite/.lunet/includes/_builtins/bundle.sbn-html for bundle link resolution when pages opt into the custom docs bundleThe generated output goes to site/.lunet/build/www/ and should never be committed. The docs validation scripts also verify that the generated css/lite.css bundle includes the CodexGui home-page selectors so styling regressions are caught in CI.