CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is Angel M's personal website (angel.kiwi) built with Eleventy 2.0.0, a static site generator. The site is multilingual (English/Spanish) and includes a blog, project showcase, and interactive playground demos.

Development Commands

# Start development server with hot reload (port 8080)
npm run dev

# Build production site to _site/
npm run build

# Optimize SVG files
npm run optimize-svg

Architecture

The site follows Eleventy's conventions with a clear separation between content, templates, and configuration:

Key Technical Details

  1. Internationalization: Custom i18n implementation using Eleventy's i18n plugin with locale-specific collections and filters
  2. Date Handling: Uses dayjs for date formatting with locale support
  3. Syntax Highlighting: Code blocks use @11ty/eleventy-plugin-syntaxhighlight
  4. Cache Busting: Static assets use MD5 hashes for cache invalidation
  5. Analytics: Integrated with self-hosted Plausible Analytics

Important Files

Development Environment

The project uses Nix flakes for a reproducible development environment. If you have Nix installed:

nix develop

Otherwise, ensure you have Node.js 20+ installed.

Writing Style Guidelines

Spanish Articles

When writing Spanish content for the blog:

  1. Opening sentences: Start with temporal context when appropriate (e.g., "Siempre que trabajo en...")
  2. Word preferences:
  3. Direct communication:
  4. Transitions: Use transition words like "Finalmente" instead of "Ahora" for better flow
  5. Technical terms: Keep technical terms in English (Vim, Unraid, etc.) without translation