Files
git-website-engine-control-…/README.md
T

2.4 KiB

Labyricorn Website Engine Control Plane

A React control plane and Express backend for discovering Git-hosted Markdown, validating canonical site configuration, and producing deterministic static website releases.

Engine capabilities

The build engine now:

  • validates routes, route collisions, content state, raw-HTML policy, and media references;
  • renders published content and navigation indexes into static HTML;
  • escapes source HTML and renders a safe CommonMark-style subset;
  • emits deterministic build-manifest.json and checksums.json files;
  • calculates an artifact checksum from generated file checksums;
  • writes releases atomically beneath the configured build root;
  • activates releases through an atomic current symlink/junction;
  • survives process restarts without reusing existing build numbers; and
  • serves the active generated release through the live-preview endpoint.

Development

Requires Node.js 22 or later.

npm install
npm test
npm run lint
npm run dev

Create a production bundle with:

npm run build
npm start

The development server listens on port 3000 by default. In the current production deployment, the Node service listens privately on 127.0.0.1:3001; Nginx exposes the control plane on port 80 and the active rendered release on port 3000.

Operations

See Website Engine Operations for the verified private-network topology, deployment procedure, service checks, key fingerprints, credential-handling rules, and recovery guidance. The operations document intentionally contains no passwords, tokens, or private-key material.

Build artifacts

By default, releases are written to the platform temporary directory under labyricorn-builds/. Set LABYRICORN_BUILD_ROOT to use a persistent release directory in production.

Each successful release contains:

  • generated route directories with index.html;
  • 404.html;
  • build-manifest.json; and
  • checksums.json.

Validation failures produce a failed build record but never publish a partial release directory.

Current boundaries

  • The built-in renderer is used until repository-provided theme templates are implemented.
  • Git source synchronization supports HTTP(S), SSH-style Git URLs, and local paths; other source types remain unavailable.
  • Remote rsync deployment is still represented by the existing control-plane simulation and must not be treated as a completed production deploy path.