This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is Michael Koper's personal website built with Middleman (Ruby static site generator) and ESBuild for JavaScript bundling.
# Start Middleman development server with live reload
bundle exec middleman server
# Start ESBuild in watch mode (runs automatically with Middleman)
npm start# Build the static site
bundle exec middleman build
# Build JavaScript only
npm run build# Install Ruby dependencies
bundle install
# Install Node dependencies
npm install- Middleman 4.3: Ruby-based static site generator handling HTML generation, asset management, and build process
- ESBuild: JavaScript bundler configured to watch and compile from
assets/javascript/main.jstotmp/dist/javascripts/ - Ruby 2.x: Required for Middleman (check
.ruby-version) - Node.js: Required for ESBuild (check
.node-version)
source/: Contains all source files for the static site (HTML templates, images, stylesheets)assets/javascript/: JavaScript source files (entry point:main.js)tmp/dist/: ESBuild output directory integrated with Middleman's external pipelinebuild/: Generated static site output (created after runningmiddleman build)
- ESBuild compiles JavaScript from
assets/javascript/totmp/dist/javascripts/ - Middleman's external pipeline (configured in
config.rb) integrates ESBuild output - Middleman processes ERB templates, applies layouts, and generates final HTML
- In production builds, Middleman applies asset hashing (except images) and gzip compression
config.rb: Middleman configuration with external pipeline setup for ESBuild, helpers, and build settingsesbuild.config.js: ESBuild configuration for JavaScript bundlingGemfile: Ruby dependenciespackage.json: Node dependencies and npm scripts