mirror of
https://github.com/jimeh/commonflow.org.git
synced 2026-02-19 05:46:40 +00:00
3.0 KiB
3.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is the source for commonflow.org, an Astro-based static site that documents the Git Common-Flow specification. Common-Flow is a git workflow specification that combines GitHub Flow with versioned releases.
Build Commands
# Install tooling (node) via mise
mise install
# Install dependencies
npm install
# Development server
npm run dev
# Build site (outputs to dist/ directory)
npm run build
# Preview built site
npm run preview
# Type checking
npm run check
# Linting
npm run lint
# Formatting
npm run format
npm run format:check
# Update specs from upstream (fetches from github.com/jimeh/common-flow)
npm run update-specs
The site is built to dist/ and deployed to Cloudflare Workers.
Architecture
- Astro 5.x static site generator
- Tailwind CSS 4.x for styling with dark mode support
- astro-icon with Heroicons and Simple Icons for icons
- Content Collections for spec markdown files
- TypeScript throughout
- Node.js as JavaScript runtime (managed via mise)
Key Files
src/config.ts- Site configuration (metadata, update settings)src/content.config.ts- Astro content collection definitionsrc/styles/global.css- Global Tailwind stylessrc/layouts/BaseLayout.astro- Base layout with head, meta tags, theme scriptssrc/layouts/SpecLayout.astro- Spec page layout composing all sectionssrc/components/- UI components:Header.astro- Site header with navigationFooter.astro- Site footerHero.astro- Landing page hero sectionAboutSection.astro- About Common-Flow sectionFAQSection.astro- FAQ sectionSectionHeader.astro- Reusable section header (title + subtitle)SpecSection.astro- Spec section with terminology and specificationSpecSidebar.astro- Spec page table of contents sidebarTocLink.astro- Reusable TOC link componentThemeToggle.astro- Dark/light mode toggleVersionSelector.astro- Spec version dropdown
src/scripts/- Client-side TypeScript:activeSectionTracker.ts- Scroll-based active section trackingclauseHighlight.ts- Clause highlight on anchor navigation
src/pages/index.astro- Landing pagesrc/pages/404.astro- 404 error pagesrc/pages/spec/[version].astro- Dynamic route for spec versionssrc/pages/spec/[version]/raw.astro- Raw markdown spec pagesrc/utils/- Utility functions:parseSpecContent.ts- Markdown parsing utilitiesversions.ts- Version info helper (derives current version from specs)
src/content/spec/*.md- Versioned spec documentspublic/spec/*.svg- SVG diagrams for each versionscripts/update-specs.ts- Fetches specs from GitHubwrangler.jsonc- Cloudflare Workers deployment config
Updating Spec Versions
- Run
npm run update-specsto fetch specs from GitHub - Run
npm run buildto rebuild the site