AGENTS.md
AGENTS.md
Instructions for any coding agent working in this repository.
This is Nicolas Mugnier’s Jekyll blog. Live site: https://blog.anyvoid.dev
GitHub Pages from main. Theme: Minima (remote) plus custom layouts and SCSS.
CLAUDE.md is stale (it still says French-only content and Disqus). This file and .agents/ win.
Where to look
- Always-on constraints:
.agents/rules/ - Task workflows:
.agents/skills/blog-postswhen drafting, editing, publishing, or unpublishing an articlecover-imageswhen generating or replacing a post cover
Repo map
_posts/published articles. Category folder must match frontmattercategories:_drafts/unpublished. GitHub Pages does not build these. Localdocker composedoes._layouts/post.htmlarticle page. Cover is.post-cover img_layouts/home.htmlhero + cards_includes/custom-head.htmlMermaid v10, KaTeX, Giscus theme hook_sass/minima/custom-styles.scsscover crop, cards, heroassets/img/covers and inline images (WebP)_config.ymlhero:is a post slug (example:mc-deploy-check). Do not change it unless asked.
Local preview
docker compose up -d
Serves http://localhost:4000 including drafts. Restart after _config.yml changes.
There is no test suite. Verify in the browser.
Non-negotiables (detail in rules)
- New posts: English,
locale: en_US, extension.markdown - Never Unicode em dash U+2014
- Never duplicate
title:as a body H1 - Mermaid: fenced
mermaidblock (GitHub + blog). Never a raw<div class="mermaid">on new diagrams. - Covers: 1280x720, motif in the vertical center band (article page crops to a wide banner)
- Convert covers with host
ffmpegto WebP. Never the repo Dockerconvert-image/cwebpservice - Draft in
_drafts/first. Publish only when asked, by moving to_posts/<category>/YYYY-MM-DD-slug.markdown - No new Web3 / Farcaster / BIP39 posts. Leave existing ones and their images alone unless asked
- Do not invent metrics, quotes, or architecture. If the domain polarity is unclear, ask
- Comments are Giscus, not Disqus
- LinkedIn (his): https://www.linkedin.com/in/nicolas-mugnier/ (homonym without the hyphen is someone else)
Voice
Staff backend, not a 2018 tutorial blog. First person when it is his work. Factual. No motivation theater.
Prefer: search, matching, jobs/queues, cache, observability, serverless, PHP/Symfony, Node/TS, PostgreSQL, AWS, Docker.