angrymichigander/CLAUDE.md
Derek Slenk a837049a4f Add CLAUDE.md documentation for future Claude Code instances
Includes project overview, development commands, architecture details, and tea CLI commands for Forgejo integration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-17 14:30:30 -04:00

2.7 KiB

CLAUDE.md

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

Project Overview

This is a Hugo static site generator project for "The Angry Michigander" blog. The site uses the Lynx theme (github.com/jpanther/lynx) via Hugo modules.

Development Commands

  • Local development: hugo server -D (serves locally with drafts)
  • Build for production: hugo --minify (outputs to public/ directory)
  • Build regular: hugo (outputs to public/ directory)

Architecture

  • Framework: Hugo static site generator with Go modules
  • Theme: Lynx theme (github.com/jpanther/lynx v1.4.0) imported as Hugo module
  • Configuration: hugo.yaml (main config file)
  • Content: Markdown files in content/ directory
  • Static assets: static/ directory for static files
  • Build output: public/ directory (generated, not tracked in git)

Key Files and Directories

  • hugo.yaml - Main Hugo configuration
  • go.mod - Go module dependencies for Hugo modules
  • content/ - Markdown content files
  • archetypes/ - Content templates (default.md, post.md)
  • layouts/partials/ - Custom layout overrides
  • static/ - Static assets
  • assets/ - Source assets (CSS, images)

CI/CD

The project has dual CI/CD setup:

  • GitHub Actions: .github/workflows/ (ubuntu-latest runner)
  • Forgejo Actions: .forgejo/workflows/ (self-hosted runner)

Both include build and deploy workflows that:

  1. Check out code with submodules
  2. Set up Hugo extended version
  3. Build with hugo --minify
  4. Upload artifacts to public/ directory

Forgejo Integration

This project uses Forgejo for source control. Use the tea CLI tool (https://gitea.com/gitea/tea) for Forgejo operations instead of gh CLI:

  • Setup: tea login add (first-time setup)
  • List pull requests: tea pulls or tea pulls list
  • Create pull request: tea pulls create
  • View pull request: tea pulls [PR index]
  • Merge pull request: tea pulls merge [PR index]
  • List issues: tea issues or tea issues list
  • Create issue: tea issues create
  • View issue: tea issues [issue index]

Always prefer tea commands over gh commands when working with this repository's Forgejo instance.

Theme Customization

The Lynx theme is used via Hugo modules. Custom overrides can be placed in:

  • layouts/ - Layout overrides
  • assets/css/custom.css - Custom CSS
  • static/ - Static file overrides

Content Creation

Use archetypes for new content:

  • archetypes/default.md - Default content template
  • archetypes/post.md - Blog post template with extensive frontmatter options

Create new posts with: hugo new posts/my-post.md