Skip to content

Repository files navigation

ArkFlame Studios — arkflame.com

This repository is the production static website for ArkFlame Studios: the public company and product hub for the studio's Minecraft plugin catalogue. It is built with Astro and deployed to GitHub Pages at arkflame.com.

Stack

  • Astro 7.3.4 (output: 'static')
  • Tailwind CSS 4.3.3 via @tailwindcss/vite 4.3.3
  • daisyUI 5.7.38 (primitives only)
  • @astrojs/sitemap 3.7.4
  • TypeScript (astro/tsconfigs/strict, extended by tsconfig.json)
  • Node 24 baseline for CI
  • npm as the package manager

Requirements

Node 24 and npm.

Commands

npm ci                    # install exact dependencies from package-lock.json
npm run dev               # local development server
npm run build             # emits the static site into dist/
npm run verify            # checks the generated dist/ against the production invariants
npm run preview           # serve the built dist/ locally

verify must be run against a fresh build. It inspects the generated output, so run it as:

npm run build && npm run verify

Project structure

astro.config.mjs                  site URL, static output, sitemap, Tailwind Vite plugin
tsconfig.json                     TypeScript configuration (extends astro/tsconfigs/strict)
src/styles/global.css             Tailwind entry point
src/data/
  site.ts                         company, founder and editorial constants
  categories.ts                   the five category routes and their copy
  products.ts                     single product authority
src/layouts/BaseLayout.astro      document shell, head, SEO and structured data
src/components/                   reusable UI: header, footer, product and section components
src/pages/
  index.astro                     home
  about.astro                     about
  404.astro                       not found
  plugins/index.astro             full catalogue index
  plugins/[slug].astro            per-product detail route, generated from products.ts
public/
  CNAME                           custom domain (arkflame.com)
  robots.txt                      crawler policy, points at the sitemap index
  .nojekyll                       bypasses Jekyll processing on GitHub Pages
  site.webmanifest                PWA manifest
  favicon.ico, favicon.webp       favicons
  assets/img/                     approved brand, founder, product artwork and product icons
scripts/verify-site.mjs           production invariant checks run against dist/
.github/workflows/deploy.yml      GitHub Pages deployment

Content authority

src/data/products.ts is the single product authority. Each record carries slug, name, category, summary, tags, optional image and icon, officialUrl, storeUrl and featured.

src/data/categories.ts owns the five category routes and their copy. src/data/site.ts owns company, founder and editorial constants.

Rules:

  • Add a product only in src/data/products.ts.
  • Never duplicate a product list in a component or a page; read it from the data module.
  • Never introduce price, rating, purchase/download count, Minecraft-version badge or any unverified compatibility claim. Omit a field rather than guess it.

Assets

Use the existing approved imagery under public/assets/img/ (brand logo and OG image, founder portrait, product artwork, product icons).

  • Never generate replacement decorative SVG artwork.
  • Never embed base64 or data: images.
  • Never add the legacy generated product-icons/smp-*.svg icons.

Deployment

The site is deployed to GitHub Pages by the workflow in .github/workflows/deploy.yml, triggered by a push to master.

The custom domain comes from public/CNAME (arkflame.com), and public/.nojekyll bypasses Jekyll processing.

Astro is configured with site: https://arkflame.com and no base path, so generated URLs are root-relative.

sitemap-index.xml and sitemap-0.xml are generated by @astrojs/sitemap; public/robots.txt points at the sitemap index.

In the repository Settings -> Pages, the source must be set to build and deploy with GitHub Actions. DNS and custom-domain configuration lives outside this repository.

Releases

Packages

Contributors

Languages