Files
builds/CLAUDE.md
T
Eric WagonerandClaude Fable 5.2 2dba395059 Add site index, deploy script and Green Man mask build
Static site for builds.kestrelsnest.social: an index page with one card per build, an rsync deploy script modelled on pantry, and the Green Man mask guide with its templates and print files.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GrX9qMoNihcWLX3xoJhabw
2026-11-10 17:05:34 -05:00

2.2 KiB

CLAUDE.md

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

Project Overview

Builds is a static site of craft build write-ups: templates, 3D print files and step-by-step guides. There is no build step and no backend.

Live URL: https://builds.kestrelsnest.social

File Structure

  • index.html - Site index (HTML/CSS in one file, no JavaScript). One <li class="build"> card per build, newest first.
  • og-image.jpg - OpenGraph image for the index, 1200 x 630
  • deploy - Rsync deployment script
  • <build>/ - One folder per build, self-contained: index.html, img/, dl/
    • greenman/ - Green Man mask

Conventions

  • Each build folder is self-contained and uses relative links, so it works at any path.
  • Build pages and the index share a look: Bricolage Grotesque for headings, Inter for text, the same green accent and neutral tokens, light and dark via prefers-color-scheme.
  • Downloads live in <build>/dl/. Zip files there are part of the site, so *.zip is deliberately NOT in .gitignore.
  • greenman/index.html is generated from the mask kit's own source (not in this repo). Hand edits to it are lost when the kit is regenerated; change the source and re-copy.

Adding a build

  1. Create <name>/index.html with its img/ and dl/.
  2. Add a card to the top of the list in the top-level index.html.
  3. ./deploy -n, then ./deploy.

Development

python3 -m http.server 8000

Then open http://localhost:8000.

Deployment

The deploy script uses rsync to push to YunoHost (a My Webapp static app, like pantry):

./deploy -n    # dry run, changes nothing
./deploy       # push

Important deployment notes:

  • DIR in deploy is /var/www/my_webapp__3/www. The script refuses to run if it is ever reset to the my_webapp__N placeholder.
  • rsync runs with --delete: anything on the server that is not in this folder is removed. Do not keep server-only files in the web root.
  • HOST=social is an SSH config alias, the same one pantry uses.

OpenGraph

Meta tags in the index <head> point to https://builds.kestrelsnest.social/og-image.jpg. If the URL changes, update og:image, og:url and twitter:image.