This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the KnoxDevs community website — a GitHub Pages-hosted static site for a 501(c)(3) nonprofit umbrella of tech meetups in Knoxville, TN. Built with Astro and Tailwind CSS v4.
npm install # Install dependencies
npm run dev # Dev server at http://localhost:4321
npm run build # Build to dist/
npm run preview # Preview the built site locallyDeployment is automatic: push to master → GitHub Actions builds and deploys to GitHub Pages.
First-time GitHub Pages setup: Go to Settings → Pages → Source and set it to GitHub Actions (not the legacy "Deploy from branch" option).
- Astro 5 — static site generator, file-based routing, content collections
- Tailwind CSS v4 — utility styling via
@tailwindcss/viteplugin (notailwind.config.jsneeded) - Brand color defined in
src/styles/global.cssas--color-brand: #0180ab
All editable data lives in src/content/ as YAML files. Schemas are defined in src/content/config.ts.
| Collection | Path | Purpose |
|---|---|---|
groups |
src/content/groups/*.yml |
Developer meetup groups |
organizers |
src/content/organizers/*.yml |
Community organizers |
conferences |
src/content/conferences/*.yml |
Regional conferences |
organizations |
src/content/organizations/*.yml |
Supporting orgs |
spaces |
src/content/spaces/*.yml |
Coworking/event spaces |
- Edit (or create) the YAML file in
src/content/{collection}/ - If adding a new entry with an image, drop the image in
public/images/{collection}/and addimage: yourfile.jpgto the YAML - Commit and push — the site redeploys automatically
Images live in public/images/{collection}/. Each YAML entry has an optional image field containing just the filename (e.g., image: knoxpy.jpg). Cards show a fallback initial avatar if no image is set.
| Page | Source | Route |
|---|---|---|
| Home | src/pages/index.astro |
/ |
| About + Organizers + CoC | src/pages/about.astro |
/about/ |
| Groups | src/pages/groups.astro |
/groups/ |
| Resources | src/pages/resources.astro |
/resources/ |
src/layouts/Layout.astro— base HTML shell (nav + footer)src/components/Nav.astro— sticky nav with mobile menusrc/components/Footer.astro— simple dark footersrc/components/Card.astro— reusable card for groups, organizers, conferences, etc.src/components/SlackModal.astro— Slack join button + CoC modal dialog