From 1ca726698f7d251945b8e11c67c2eb720ebebe37 Mon Sep 17 00:00:00 2001 From: Paulo Ribeiro Date: Mon, 27 Apr 2026 08:02:13 +0100 Subject: [PATCH] chore: Add CLAUDE.md and Claude Code project settings Co-Authored-By: Claude Sonnet 4.6 --- .claude/settings.json | 8 ++++++++ CLAUDE.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 .claude/settings.json create mode 100644 CLAUDE.md diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..4d94a83 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,8 @@ +{ + "permissions": { + "allow": [ + "Bash(uv sync)", + "Bash(uv run pelican *)" + ] + } +} diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..886e2b0 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,28 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Commands + +| Task | Command | +|---|---| +| Install dependencies | `uv sync` | +| Build (dev) | `uv run pelican content` | +| Build, serve, and watch | `uv run pelican --listen` | +| Production build | `uv run pelican content -s publishconf.py` | + +There is no Makefile or tasks.py — all tasks run via `uv run`. + +## Configuration split + +`pelicanconf.py` is the development config: `SITEURL = ""` and `RELATIVE_URLS = True`. `publishconf.py` imports from it and overrides for production: absolute `SITEURL`, Atom feeds enabled, and `DELETE_OUTPUT_DIRECTORY = True`. + +When editing site-wide settings, be careful which config file needs to change — production-only settings (feeds, absolute URLs) belong in `publishconf.py`; everything else in `pelicanconf.py`. + +## Theme + +The [Attila](https://github.com/arulrajnet/attila) theme is installed as a Python package via `pyproject.toml` (pinned to a specific git commit). Its path is resolved at runtime with `attila.get_path()` in `pelicanconf.py`. To update the theme, change the commit SHA in `pyproject.toml` and run `uv sync`. + +## CI + +The GitHub Actions workflow (`.github/workflows/build.yml`) only verifies the build succeeds — it does not deploy the site.