castle-docs/CLAUDE.md
Padreug 38d891bc3b Add Sunday cleaning party guide and CLAUDE.md
Document weekly cleaning party roles (toilets, mop floors, kitchen,
utility room, surfaces, sweep, vacuum, DJess) with checklists and
room assignments. Link from shared responsibilities page.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 14:45:50 +02:00

2.3 KiB

CLAUDE.md

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

Project Overview

Castle Docs is a community documentation site for a collective farm and artist residency, built on Quartz v4.5.2 (a static site generator for markdown-based sites). Content is written in Markdown with Obsidian-flavored syntax. Published at docs.ariege.io.

Commands

npx quartz build --serve -d content   # Dev server for site content
npm run docs                           # Dev server for Quartz framework docs (docs/ directory)
npm run check                          # Type checking + Prettier validation
npm run format                         # Auto-format with Prettier
npm test                               # Run tests (tsx --test)
npx quartz build                       # Production build (content/ directory)

Node 22+ and npm 10.9.2+ required (.node-version, .npmrc engine-strict).

Architecture

Content pipeline: Markdown files in content/ are processed through a three-stage plugin pipeline defined in quartz.config.ts:

  1. Transformers — parse markdown (remark/rehype), extract frontmatter, resolve links, syntax highlight, render LaTeX
  2. Filters — exclude drafts and unpublished content
  3. Emitters — generate HTML pages, search index, RSS, sitemap, OG images

Key configuration files:

  • quartz.config.ts — site settings, plugin pipeline, theme colors/fonts
  • quartz.layout.ts — page layout (which components appear in header/body/sidebar)

Framework source (quartz/): TypeScript + Preact. Components are QuartzComponent types with optional CSS and client-side scripts. The build system uses esbuild with sass/lightningcss for styles.

Content Conventions

  • Markdown with YAML frontmatter (title, description, tags, draft)
  • Obsidian-flavored links: [[page-name]] or [[page-name|display text]]
  • Callouts: > [!warning], > [!danger], > [!tip], etc.
  • Ignored patterns: private/, templates/, .obsidian/
  • Dates default to git modified time; override with frontmatter

Code Style

  • No semicolons, 100-char line width, trailing commas (Prettier config in .prettierrc)
  • TypeScript strict mode
  • ESM ("type": "module")

Git Remote

Hosted on Forgejo at git.atitlan.io:padreug/castle-docs.git.