This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a personal portfolio and blog website built with Astro, deployed to GitHub Pages at https://tavobarrientos.github.io. The site features technical blog posts, project showcases, and is built using modern web technologies.
# Install dependencies
npm install
# Start development server (http://localhost:4321)
npm run dev
# Build for production (includes TypeScript checking)
npm run build
# Preview production build locally
npm run preview
# Start development server on specific host
npm run dev -- --hostsrc/content/blog/: Blog posts in Markdown/MDX format with frontmatter metadatasrc/content/projects/: Project descriptions with metadata (title, description, link, github, updatedDate)src/content/authors/: Author data in JSON formatpublic/blog/: Blog post images and assets
src/components/: Reusable Astro componentsBaseHead.astro: SEO meta tags, schema.org markupHeader.astro&Footer.astro: Site navigation and footerBlogPostMeta.astro: Post metadata displayui/: UI-specific components like pagination
src/pages/: File-based routingindex.astro: Homepageblog/[...page].astro: Blog listing with paginationblog/[slug].astro: Individual blog postsprojects/[...page].astro: Projects listingrss.xml.js: RSS feed generation
src/styles/global.css: Global styles and CSS variables- Uses Atkinson Hyperlegible font for improved readability
Blog posts require:
{
title: string
description: string
publishDate: Date
updatedDate?: Date
tags?: string[]
draft?: boolean
}Projects require:
{
title: string
description: string
link?: string
github?: string
updatedDate: Date
}The site automatically deploys to GitHub Pages via GitHub Actions when pushing to the master branch. The workflow:
- Builds the site using Astro's official GitHub Action
- Deploys to GitHub Pages
- No manual deployment needed
- Astro Configuration: MDX support, sitemap generation, GitHub Dark syntax highlighting theme, Tailwind CSS integration
- Styling: Tailwind CSS v4 with custom theme configuration, Typography plugin for blog content
- TypeScript: Strict mode enabled via Astro's preset
- Image Optimization: Uses Astro's Image component for automatic optimization
- SEO: Automatic sitemap, RSS feed, and schema.org structured data
- Custom Design System:
- Colors: Custom accent (#2337ff), gray palette, Atkinson font family
- Responsive breakpoints: 720px, 480px, 360px
- Typography scale with custom heading sizes
- No testing framework or linter: Currently no automated tests or linting setup