Skip to content

EAOS Astro Site Framework

Astro site developers use this framework to turn shared content contracts into consistent static sites.

Keep content, media and section contracts independent of hosting providers. Build from one pinned publication, then add optional UI and storage adapters only where needed.

  • Typed content, media, routes and section plugins.
  • One content source per build, with revision and image integrity checks.
  • Optional Cloudflare projection, commerce, analytics and Studio adapters.
  • Reusable hotel routes and CMS-driven presentation in a separate package.

The packages use GitHub Packages. Prerequisites: Bun, access to the package registry, and registry authentication configured outside source files. Examples use fictional site identifiers and reserved example domains.

Terminal window
bun add @dataarthub/eaos-host-site-astro astro

Save as example.ts, then run bun example.ts.

import { defineSite } from '@dataarthub/eaos-host-site-astro/config';
const site = defineSite({
id: 'example',
revision: 1,
content: { snapshot: { siteId: 'example', revision: 1, posts: [], assets: [] } },
});
console.log(site.id, site.revision); // example 1