Skip to content

datum-cloud/agents.datum.net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

agents.datum.net

A small, content-driven public website that communicates what Datum is in a format equally legible to AI agents and humans. See agents-datum.md for the full project brief.

Stack

Theme

Light + dark via the user's OS prefers-color-scheme. Default is light; dark only activates when the OS explicitly prefers dark. No toggle UI in v1.

Implemented via @datum-cloud/datum-ui's ThemeProvider in system mode (attribute="class", defaultTheme="system", enableSystem). An inline <ThemeScript /> in <head> resolves the theme before hydration so there's no flash of incorrect theme. See §5.6 of the brief, app/root.tsx, and app/styles/globals.css.

Prerequisites

Setup

bun install
cp .env.example .env

Develop

bun run dev
# http://localhost:3000

To verify theme switching: open the page, then change your OS appearance (macOS: System Settings → Appearance → Dark). The page should flip colors live with no reload.

Build & run production

bun run build
bun run start

Quality

bun run lint
bun run typecheck
bun run format:check   # check only (CI)
bun run format         # auto-fix

CI

The GitHub Actions pipeline (.github/workflows/ci.yml) runs on every PR and push to main:

  1. Installbun install --frozen-lockfile (cached by bun.lock hash)
  2. Lint & Formatbun run lint && bun run format:check (parallel with Typecheck)
  3. Type Checkbun run typecheck (parallel with Lint)
  4. Buildbun run build (only after Lint + Typecheck both pass)
  5. Status Gate — final aggregated pass/fail

Docker

Build and run the production image locally (simplest):

docker compose up --build
# http://localhost:3000

Or build and run directly:

docker build -t agents-datum-net:local .
docker run --rm -p 3000:3000 agents-datum-net:local

To tag a specific version (e.g. for CI):

docker build --build-arg VERSION=$(git rev-parse --short HEAD) -t agents-datum-net:local .

The image uses Debian (not Alpine), runs as a non-root datum user (UID 1001), and includes a HEALTHCHECK against GET /. Dev dependencies are pruned during the build stage so the final image contains only production deps.

Project structure

app/
├── root.tsx              HTML shell + ThemeProvider + global meta
├── routes/
│   └── _index.tsx        Homepage placeholder
├── lib/                  env, utils (cn re-exported from datum-ui)
└── styles/globals.css    Tailwind v4 + datum-ui tokens

Hono server: virtual default from `react-router-hono-server`. Materialize
with `bunx react-router-hono-server reveal file` when custom routes
(`/llms.txt`, `/manifest.json`, etc.) are needed in Phase 4.

About

Showcasing our commitment to the agentic future, this site proves to humans we are serious about building for agents, and also digestible for agents.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors