Build a high-performance developer blog that features a "Projects" section for linking to GitHub repositories.
- Base Project Setup (Astro, Tailwind, Folder Structure)
- Core Layout & Navbar (Includes links to Home, Blog, and GitHub)
- Project Showcase Component (Card UI for GitHub Repo links)
- Blog Content System (Markdown Collections)
- Deployment Config (GitHub Actions for GitHub Pages)
- Cycle 1: Initialize the Astro project. Create 'src/layouts/BaseLayout.astro' and 'src/pages/index.astro'.
- Setup Tailwind CSS with a dark-themed 'slate' color palette.
- Ensure the Navbar has a specific link to your primary GitHub profile.
- Use Astro 5.x or 4.x.
- Use Tailwind CSS for all styling.
- Create a 'src/components/ProjectCard.astro' for external repository links.
- Output ONLY valid code blocks via the Worker.
Strictly use the CREATE/UPDATE/DELETE block format defined in the system prompt.
Implement the Project Showcase system using environment variables for data fetching and secure external linking.
- Setup '.env' support and '.gitignore' for security.
- Create 'src/data/projects.json' to store GitHub repo metadata.
- Build 'src/components/ProjectCard.astro' with hover effects and external link icons.
- Map the project data onto the Home page or a dedicated /projects page.
- Cycle 1: Create '.env.example' and update '.gitignore' to include '.env'.
- Cycle 2: Create 'src/data/projects.json'. Use this structure: [{"title": "Repo Name", "description": "...", "url": "https://github.com/.../...", "tags": ["Astro", "Tailwind"]}]
- Cycle 3: Build the 'ProjectCard.astro' component.
- IMPORTANT: Use 'target="_blank"' and 'rel="noopener noreferrer"' for all GitHub links.
- Style the card with a subtle border and shadow using Tailwind 'group' hover states.
- Access env variables via 'import.meta.env'.
- Use the 'astro-icon' library or simple SVGs for the GitHub logo.
- Ensure the UI is fully responsive (1 column on mobile, 2-3 on desktop).
Strictly use the CREATE/UPDATE/DELETE block format. No talk.