From 3ccd68c7f7fabca3e79897ef2bfcc373ac088e57 Mon Sep 17 00:00:00 2001 From: Roanny Lamas Date: Sun, 11 Oct 2026 18:35:58 -0300 Subject: [PATCH] docs: AGENTS.md at the root, imported by CLAUDE.md A root AGENTS.md, one screen and tool-neutral, now carries what the site is and must never do, how it is previewed and checked (the same commands as CI), the language split and where the dictionaries live, the design tokens mirrored from Coabana's DESIGN.md, the commit, author and landing conventions, and where the rules live. .claude/CLAUDE.md imports it on its first line and keeps only what holds for a Claude Code session: the rulesets, the coupling check, the index, the settings sentence. rules-discipline.md's paths list AGENTS.md (the shared block's hash does not move); README lists the file (operator-sites-agents-md). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01WYawTHteKW5v8W8ZYNrycG --- .claude/CLAUDE.md | 36 ++++++------------------------- .claude/rules/rules-discipline.md | 2 +- AGENTS.md | 33 ++++++++++++++++++++++++++++ README.md | 2 ++ 4 files changed, 43 insertions(+), 30 deletions(-) create mode 100644 AGENTS.md diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index fa05817..a6a4b66 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -1,42 +1,20 @@ -# roanny-site +@../AGENTS.md -The operator's personal CV and portfolio, served at https://roanny.github.io/. The repository is `roanny/roanny.github.io`, under his personal GitHub account rather than the Coabana organization. It is a site, not a product: nothing consumes it, and it names no fleet product. +# roanny-site — Claude Code -## The tree +`AGENTS.md`, imported above, says what the site is, how it is previewed and checked, and the conventions a change respects; this file adds what holds only for a Claude Code session. -- `index.html` — the whole site: content, styles, the `i18n` dictionaries and the script. No framework, no build step. -- `404.html` — the themed not-found page, self-contained. -- `favicon.svg`, `favicon-32.png`, `og-image-2.jpg` (the 1200×630 social card), `robots.txt`, `sitemap.xml`, `googlede4b53d1c977dbfc.html` (Search Console verification; never removed). -- `.nojekyll` — Pages serves the tree as it is, without Jekyll. -- `.github/scripts/check_site.py`, `.github/htmlvalidate.json` — the site's own gates, run by `Validate`. +## Serving and landing -## Editing and previewing - -- Text lives in the `i18n` object at the end of `index.html`: two dictionaries, `en` and `es`, with the same keys; each translatable element carries `data-i18n=""`, and the English default in the HTML stays aligned with `en`. -- Preview: `python3 -m http.server 8000`, then http://localhost:8000 (`?lang=en|es` and `?theme=light|dark` force the language and the theme). -- The gates by hand, as CI runs them: `npx --yes html-validate@11.16.0 --config .github/htmlvalidate.json index.html 404.html`, `python3 .github/scripts/check_site.py i18n`, `python3 .github/scripts/check_site.py sitemap`. -- A content change updates `lastmod` in `sitemap.xml`. -- A changed social card takes a new filename (`og-image-.jpg`) and the three references in `index.html` (`og:image`, `twitter:image`, the JSON-LD `image`): LinkedIn, WhatsApp and X cache a card by its URL. After it is live, LinkedIn's Post Inspector (https://www.linkedin.com/post-inspector/) refetches it. - -## Serving - -GitHub Pages serves the root of `main`; a push to `main` is live in 1–2 minutes. Two rulesets guard `main`: "Protect main branch" (24806684: no deletion, no force push, linear history; no bypass) and "Require Validate" (24807145: `Validate` green; the repository admin bypasses it so the operator can fix by hand — a session never does, `git-hygiene.md`). There is no release and no `/release`: the fleet's `release` shared block does not apply, and a landing that changes the pages is a deploy (`git-hygiene.md`). +Two rulesets guard `main`: "Protect main branch" (24806684: no deletion, no force push, linear history; no bypass) and "Require Validate" (24807145: `Validate` green; the repository admin bypasses it so the operator can fix by hand — a session never does, `git-hygiene.md`). There is no release and no `/release`: the fleet's `release` shared block does not apply, and a landing that changes the pages is a deploy (`git-hygiene.md`). ## The one coupling -The design tokens (palette, type, chips, buttons, motion) mirror `DESIGN.md` of `coabana-site` (`Coabana/coabana.github.io`), the canonical source, copied by hand into the `