Skip to main content

Website Templates

Every Work generated by Ever® Works™ gets a dedicated website repository — a deployable site that displays the Work's content. The shape of that site is chosen at Work creation time from a set of base templates, each tuned for a different combination of stack (Next.js vs Astro), feature surface (directory-style vs general-purpose), and richness (full-featured vs minimal).

Template selection in the UI

When you create a new Work, the Website Template selector picks the base for the website repository that gets cloned into your account. The default is classic. You can change a Work's template later from /works/:id/settings → Website template.

The chosen template's branch (configurable per template — main by default, stage/develop for testing) is force-pushed into the new website repo, then content placeholders are filled from your Work's data.

Template lookup, internally

The active template registry lives at packages/agent/src/generators/website-generator/config/website-template.config.ts. Each entry is a WebsiteTemplateConfig:

interface WebsiteTemplateConfig {
id: WebsiteTemplateId; // e.g. 'classic', 'minimal'
name: string; // display name
description: string;
owner: string; // GitHub org/user
repo: string; // Concrete repo name
branch: string; // Branch to clone from
syncBranches: string[]; // Branches kept in sync upstream
betaBranch?: string | null; // Optional beta branch
}

Templates the Works platform supports:

Available templates

  • Repo: ever-works/directory-web-template
  • Stack: Next.js (App Router, React 19, Tailwind CSS)
  • For: AI-generated directory-style websites with rich features — search, faceted filters, item detail pages, categories, tags, comparisons, community-PR submissions, etc.
  • Status: ✅ Production-ready, default for new Works.

2. minimal — directory-web-minimal-template (Astro, minimal)

  • Repo: ever-works/directory-web-minimal-template
  • Stack: Astro 6 (static output, optional ISR via @astrojs/vercel), Preact islands for interactivity, Tailwind CSS, TypeScript strict mode.
  • For: AI-generated directory-style websites with extreme performance and minimum JavaScript — lightweight static-rendered alternative to the Next.js classic template.
  • Philosophy: Intentionally blank canvas with headless, composable building blocks. Plugin architecture — almost every feature is a plugin (SEO, pagination, filters, search, sort, sitemap, breadcrumbs, RSS, analytics, related items). No auth, no database, no payments by default — add as plugins when needed.
  • Status: ✅ Available; opt-in by setting the minimal template id when creating a Work, or via the website-template selector in Work settings.
  • Enable in API: set the WEBSITE_TEMPLATE_MINIMAL_REPO env var to directory-web-minimal-template to register it in website-template.config.ts.

3. web-template — generic Next.js (planned)

  • Repo: ever-works/web-template (planned, not yet published)
  • Stack: Next.js (same shape as classic)
  • For: AI-generated general-purpose websites that aren't directories — landing pages, marketing sites, content-heavy sites — with a similar rich feature set to directory-web-template minus the directory-specific affordances (no item lists, no faceted filters by default).
  • Status: 🗓️ Planned. Once published it will register as WebsiteTemplateId = 'web' (or similar) and ship a default branch + beta-branch contract identical to the classic template.

4. web-minimal-template — generic Astro minimal (planned)

  • Repo: ever-works/web-minimal-template (planned, not yet published)
  • Stack: Astro (same shape as directory-web-minimal-template)
  • For: AI-generated general-purpose websites with the same performance / static-output / plugin-driven philosophy as the minimal directory template — minus the directory-specific affordances.
  • Status: 🗓️ Planned.

Roadmap

The four base templates above cover the matrix of (directory vs general) × (full-featured Next.js vs minimal Astro). Beyond that, the platform is designed to host many more templates — each new template is a single-row addition to WEBSITE_TEMPLATES plus a published GitHub repo. Anyone can author and contribute one; the only contract is that the repo's branch layout matches WebsiteTemplateConfig (i.e. main and a sensible default branch).