@modelgrid.com/landingpage

The landing page of modelgrid chat at modelgrid.com, a chat for your models on FlexHarness, and its installer at install.modelgrid.com.

Issue Reporting and Security

For reporting bugs, issues, or security vulnerabilities, please visit community.foss.global/. This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a code.foss.global/ account to submit Pull Requests directly.

How it works

  • The page is one web component, <mg-landing> (ts_web/), bundled into dist_serve/ with html/index.html and assets/. It is dark only; its colours and fonts are custom properties on the document (html/index.html). It loads nothing from other origins and sets no cookies.
  • The conversation under the hero, <mg-chat-demo>, is modelgrid chat's own interface: the dees-harness-session-list and dees-harness-chat elements of @design.estate/dees-catalog 22.7, in their dark theme, fed a scripted turn through their properties on a timer: the question with its two files, the reasoning, a run_code call from running to done, the answer streaming, a steer waiting in the chat's queue and taken in, the steered answer with its table, and Stop and Steer, then Send, as the chat draws them. One loop takes 13 s. It is inert, labelled as an illustration and can be paused; it plays only while it is on screen and shows its last frame still when the visitor asks for reduced motion. On a phone it shows at 80 %, as a screenshot of the app would.
  • The code is split: the page loads bundle.js and two shared chunks (774 KB, 239 KB gzipped, as without the demo); the demo and the harness elements follow as their own chunk (1.75 MB, 403 KB gzipped; the server sends it brotli-compressed). The catalog's charts, terminal and code highlighting stay in chunks the demo never loads.
  • The installer is install/install.sh. The server answers / of install.modelgrid.com and /install.sh of every host with it as text/plain; charset=utf-8, so curl -fsSL https://install.modelgrid.com | bash installs modelgrid chat. The script checks for Node.js 24 or later (what modelgrid and FlexHarness declare in engines), runs npm install -g modelgrid, or installs into ~/.local when npm's global directory is not writable, and prints how to start it (modelgrid-chat --agl, or with MODELGRID_BACKENDS) and where its data lives. POSIX sh, no sudo, nothing piped to a shell.
  • The server is @api.global/typedserver's UtilityWebsiteServer on port 3000, with its health endpoint at /healthz on every host. www.modelgrid.com answers every other path with a 301 to the same path and query on modelgrid.com.

assets/logo/ holds copies of the modelgrid icon from the chat app (modelgrid.com/chat, html/logo/), which is its master: modelgrid-mark.svg in currentColor, modelgrid-app-icon.svg and favicon.svg. Change them there and copy them here. The header draws the same icon inline as a light tile (ts_web/brand.ts).

The page sets its type in Geist and Geist Mono (SIL Open Font License 1.1, assets/fonts/OFL.txt), subset to Latin and served from assets/fonts/.

Development

pnpm install
pnpm test         # builds the server and the production bundle, then runs test/
pnpm run watch    # rebuilds and restarts on changes, at http://localhost:3000
pnpm start        # the built server

The test runs the installer against fake node and npm, starts the server, and opens the page in the system's Chrome or Chromium (google-chrome, chromium or chromium-browser).

Deployment

.smartconfig.json carries the serve.zone declaration (@git.zone/tsdeploy.deployment): the image from Dockerfile_##version## for linux/amd64 and linux/arm64, modelgrid.com, www.modelgrid.com and install.modelgrid.com routed to port 3000 with readiness at /healthz, no capabilities, no environment and built-in release evidence. The image installs its packages from verdaccio.lossless.digital (the owner's registry, read without login) and runs as uid 10001. The gitzone release has a Git target only, with pnpm test and pnpm build as preflight.

www.modelgrid.com is declared so it gets its DNS record and certificate; the server redirects it to modelgrid.com, so the page keeps one address.

This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the license.md file.

Please note: The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.

Trademarks

This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein.

Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar.

Company Information

Task Venture Capital GmbH
Registered at District Court Bremen HRB 35230 HB, Germany

For any legal inquiries or further information, please contact us via email at hello@task.vc.

By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.

S
Description
The modelgrid.com website and install.modelgrid.com.
Readme
452 KiB
Languages
TypeScript 88.3%
Shell 5.4%
HTML 5.3%
JavaScript 1%