Files
Eric WagonerandClaude Fable 5.2 4dc9a51731 Rename to Kestrel's Builds, restyle index after Kestrel's Hall
Index copy no longer promises templates or print files for every build.
Add tip jar link and back links from the Green Man page to the index.

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

2.6 KiB

CLAUDE.md

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

Project Overview

Kestrel's Builds is a static site of craft build write-ups. Builds vary (foam and printed parts, paint techniques, sewing, electronics), so each one ships a guide plus whatever files that project needs. The index must not promise templates or print files for every build. 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 <a class="build"> card per build, newest first; the newest also has class first (full-width card).
  • 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.
  • The index is a sister page to Kestrel's Hall (gamehall.kestrelsnest.social): the same dark ink / bone / gold tokens, the same serif stack, the same card and section structure. Keep them in step.
  • Every build page links back to the index with <a href="../"> at its top and bottom (.home in greenman/index.html).
  • 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, then re-add the two .home back links and their CSS.

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.