# Astro Template Minimal Astro development environment with React, Tailwind CSS, and Cloudflare Pages deployment. ## Stack - **Astro 5** - Static site framework - **React 19** - Interactive components - **Tailwind CSS 4** - Styling - **MDX** - Markdown with JSX - **TypeScript** - Type safety - **Cloudflare Pages** - Deployment - **pnpm** - Package manager ## Quick Start ```bash # Install dependencies pnpm install # Start dev server pnpm dev # Build pnpm build # Deploy pnpm deploy ``` ## Project Structure ``` src/ ├── assets/ # Images (processed by Astro) ├── components/ # React/Astro components ├── content/ # MDX content collections │ ├── blog/ # Blog posts │ ├── sections/ # Homepage sections │ └── pages/ # Page content ├── layouts/ # Page layouts ├── pages/ # Routes ├── styles/ # Global CSS └── utils/ # Utility scripts public/ └── media/ # Static assets dev/ ├── design.json # Design system docs └── continuity.md # Development log ``` ## Content Collections ### Blog Posts (`src/content/blog/`) ```yaml --- title: 'Post Title' description: 'Description' pubDate: 'Dec 27 2024' heroImage: '../../assets/image.avif' featured: true category: 'Category' tags: ['tag1', 'tag2'] --- Content here... ``` ### Sections (`src/content/sections/`) - `hero.mdx` - Hero section - `experience.mdx` - Work history - `skills.mdx` - Skills - `featured-project.mdx` - Featured work See files for schema examples. ## Utilities ```bash # AI-powered commit messages pnpm commit # Convert images to AVIF pnpm convert:avif:all pnpm convert:avif:jpeg pnpm convert:avif:png # Generate Cloudflare types pnpm cf-typegen ``` ## Configuration - `src/consts.ts` - Site constants - `astro.config.mjs` - Astro config - `wrangler.jsonc` - Cloudflare config - `dev/design.json` - Design system ## Development See `CLAUDE.md` for detailed architecture and development patterns. ## License MIT