This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
npm run dev # Start local dev server (localhost:4321)
npm run build # Generate static site in dist/
npm run preview # Preview production build locallyThis is an Astro static site for Italian AI/software development articles and guides, deployed to GitHub Pages.
Two Zod-validated content collections in src/content/:
- articles/ - Analysis pieces, roadmaps (7 markdown files)
- guides/ - Practical tutorials, cheatsheets (7 markdown files)
Frontmatter schema (both collections):
title: string # Required
description: string # Required - shown on cards
icon: string # Required - emoji icon
tag: string # Optional - category badge
date: date # Optionalsrc/pages/index.astro- Homepage with filterable card gridsrc/pages/articles/[...slug].astro- Dynamic route for articlessrc/pages/guides/[...slug].astro- Dynamic route for guides
Routes use getStaticPaths() + getCollection() for static generation.
BaseLayout.astro- HTML wrapper for homepageArticleLayout.astro- Wrapper for content pages (acceptscategory: 'article' | 'guide')Card.astro- Reusable content card with filtering support via data attributes
astro.config.mjs:
- Site:
https://giuseppealbrizio.github.io - Base path:
/software-engineering-3.0(useimport.meta.env.BASE_URLfor links) - Integration:
@astrojs/mdx
legacy-html/- Original HTML versions for backwards compatibilitysetup/- Claude Code automation files (macos.md, windows.md)public/setup/- Static setup files served directly
- Create
.mdfile insrc/content/articles/orsrc/content/guides/ - Add required frontmatter (title, description, icon)
- Slug derived from filename (e.g.,
my-guide.md→/guides/my-guide)