This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Personal portfolio and resume website for Kim Wonwoong. Built with Astro v5, deployed to GitHub Pages.
Live: https://woonge.github.io
bun install # Install dependencies
bun dev # Dev server at localhost:4321
bun build # Production build to ./dist/
bun preview # Preview production build- Framework: Astro v5 with TypeScript (strict mode)
- Runtime: Bun (not npm)
- Integrations: MDX, Sitemap, RSS
- Deployment: GitHub Actions → GitHub Pages (auto-deploy on push to
main)
- Astro's native i18n routing (no external library)
- Default locale: Korean (
ko) at/ - English at
/en/ - Language detection in components:
pathname.startsWith('/en')
Career content lives in src/content/careers/{ko,en}/ as Markdown files.
Career frontmatter schema:
title: "Project Title"
company: "Company Name"
role: "Role"
startDate: "2024.01"
endDate: "Present"
lang: "ko" # or "en"
order: 10 # Higher = appears first
summary: "One-line summary"src/components/BaseHead.astro- SEO meta tags (OG, Twitter, canonical)src/components/Header.astro- Navigation + language switchersrc/layouts/ResumeLayout.astro- Template for resume pagessrc/content.config.ts- Content Collections schemasrc/consts.ts- Global constants (SITE_TITLE, SITE_DESCRIPTION)src/styles/global.css- CSS variables for theming
- File-based routing in
src/pages/ - Dynamic career routes:
src/pages/career/[...slug].astroandsrc/pages/en/career/[...slug].astro
- Place in
src/assets/ - Use
astro:assetsImage component for automatic optimization