Description
We want to move this site to Astro and deploy it via GitHub Pages, using the existing index.html from the new-homepage branch as the foundation.
This should be done in a way that preserves the current homepage content while setting us up for future expansion (docs, additional pages, etc.).
Goals
- Set up an Astro project in this repo
- Configure deployment to GitHub Pages via GitHub Actions
- Convert the existing
index.html (from new-homepage) into an Astro layout/template
- Use the existing homepage content as the site’s root (
/)
Requirements
1. Astro setup
- Initialize Astro in the repo
- Use minimal setup (no unnecessary integrations)
- Ensure the project builds to static output
2. GitHub Pages deployment
- Add a GitHub Actions workflow to:
- Install dependencies
- Build the Astro site
- Deploy to GitHub Pages
- Use the official GitHub Pages action (no custom hacks)
- Ensure this works for the default branch
3. Homepage migration
- Pull
index.html from the new-homepage branch
- Convert it into an Astro layout (e.g.,
src/layouts/MainLayout.astro)
- Preserve:
- Structure
- Styles
- Scripts (only if necessary; prefer removing anything non-essential)
4. Home page
- Create
src/pages/index.astro
- Use the layout created above
- Move the content from
index.html into this page
- The rendered output should closely match the current homepage visually
5. Asset handling
- Ensure any referenced assets (CSS, JS, images, fonts) are:
- Moved into appropriate directories (
public/ or src/)
- Properly referenced in Astro
Constraints
- Do not introduce a heavy framework (no React/Vue unless required)
- Keep things simple and easy to understand
- Prefer static-first approach (minimal client-side JS)
Acceptance Criteria
- Running
npm run build produces a static site
- GitHub Actions successfully deploys to GitHub Pages
- Visiting the site shows the same homepage content as
new-homepage/index.html
- Code is clean and easy to extend for additional pages
Manual Acceptance Tests
If anything is ambiguous, prioritize simplicity and preserving the current homepage experience.
Description
We want to move this site to Astro and deploy it via GitHub Pages, using the existing
index.htmlfrom thenew-homepagebranch as the foundation.This should be done in a way that preserves the current homepage content while setting us up for future expansion (docs, additional pages, etc.).
Goals
index.html(fromnew-homepage) into an Astro layout/template/)Requirements
1. Astro setup
2. GitHub Pages deployment
3. Homepage migration
index.htmlfrom thenew-homepagebranchsrc/layouts/MainLayout.astro)4. Home page
src/pages/index.astroindex.htmlinto this page5. Asset handling
public/orsrc/)Constraints
Acceptance Criteria
npm run buildproduces a static sitenew-homepage/index.htmlManual Acceptance Tests
npm installandnpm run dev, verify homepage renders correctlynpm run buildand preview output, verify no broken assetsindex.htmlIf anything is ambiguous, prioritize simplicity and preserving the current homepage experience.