Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,9 @@ jobs:
- name: Check claude/blender-rules.md and the rules skill are regenerated from rules/*.mdc
run: python3 scripts/build_claude_rules.py --check

- name: Check examples/index.json and each skill's Runnable examples section are regenerated
run: python3 scripts/build_examples_index.py --check

- name: Check the plugin-dist build assembles, carries every skill, and stays slim
run: python3 scripts/build_plugin_dist.py --check

Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,10 @@ example still carries a `tests/smoke/catalog.json` row and a falsifier.
gallery's source of truth. When authoring a new gallery example, copy the anatomy of
`examples/bmesh-gear/` (script structure, README shape, dark-studio render recipe) and
wire all of: gallery.json entry (with an `alt` sentence describing the still; the build fails without one),
a `tests/smoke/catalog.json` row, hero webp (1280×720) in
a `tests/smoke/catalog.json` row, an `examples/skills.json` entry naming the skills it proves (`python scripts/build_examples_index.py` then regenerates `examples/index.json` and each skill's Runnable examples section; Validate fails on a missing entry), hero webp (1280×720) in
`docs/gallery/assets/` + its 640×360 card variant `<name>-hero-640.webp` (`python scripts/make_thumbs.py`; the gallery build exits 5 without it) + preview webp (1200×675), then run `python scripts/build_gallery.py`.
A check-only example wires only the
`tests/smoke/catalog.json` row and its README — it is deliberately absent from
`tests/smoke/catalog.json` row, its `examples/skills.json` entry, and its README — it is deliberately absent from
`examples/gallery.json` and `docs/gallery/`.
Renders must conform to the gallery look spec at `docs/VISUAL-STYLE.md`.
Render paths gate framing through the shared helper `examples/gallery_framing.py` —
Expand Down
4 changes: 3 additions & 1 deletion docs/new-example-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,12 @@ shape from neighboring examples and repository configuration, including the exam
directory, README, gallery metadata and assets, plugin manifest, smoke catalog
(`tests/smoke/catalog.json`, whose row must list the falsifier under
`falsifiers` with its exact `expect_exit` so CI re-proves it on every run),
the skills mapping (`examples/skills.json`, then `python scripts/build_examples_index.py`
to regenerate `examples/index.json` and the skills' Runnable examples sections),
the top-level README's aggregate counts (it no longer carries a per-example
row; the gallery is the catalog), and generated gallery pages. A
check-only example skips the gallery metadata, assets, and generated pages — it wires
the plugin manifest, the smoke catalog row, and its README, and nothing else. After regenerating the gallery with
the plugin manifest, the smoke catalog row, the skills mapping, and its README, and nothing else. After regenerating the gallery with
`python scripts/build_gallery.py`, read the **generated** output character by
character—not only `examples/gallery.json` source fields. Open
`docs/gallery/index.html` and `docs/gallery/<name>/index.html` and inspect the
Expand Down
Loading
Loading