How do I deploy all org-mode artefacts?
Table of Contents
The deploy_org CMake target is the composite for all org-mode publishing.
For individual targets see How do I deploy the site?,
How do I deploy the skills?, and How do I deploy the settings?.
For CMake setup and preset names see CMake setup.
Question
How do I rebuild the website, Claude Code skills, settings, and PlantUML diagrams all at once?
Answer
The deploy_org target (alias dorg) depends on deploy_site,
deploy_skills, deploy_settings, and make_all_diagrams. Running it
rebuilds every org-mode artefact in dependency order:
cmake --build --preset linux-clang-debug-ninja --target deploy_org
Or with the shorter alias:
cmake --build --preset linux-clang-debug-ninja --target dorg
This must be run outside the sandbox (Emacs, CMake, PlantUML, and
ores-babel.el all need a full environment); use
dangerouslyDisableSandbox: true on the Bash tool call.
deploy_org stays on cmake because it aggregates make_all_diagrams,
which needs java/PlantUML and has no compass equivalent. In a light
environment (no cmake/vcpkg) build the non-diagram artefacts directly:
compass build --direct site skills settings.
Individual targets
Run a single target if you only changed one kind of artefact. The three
org-export artefacts have a light-environment (--direct) path; diagrams
need cmake:
| Target | Light-env command | What it rebuilds |
|---|---|---|
deploy_site |
compass build --direct site |
HTML website under build/output/site/ |
deploy_skills |
compass build --direct skills |
Claude Code skills under .claude/skills/ |
deploy_settings |
compass build --direct settings |
.claude/settings.json from its org source |
make_all_diagrams (mad) |
cmake only (PlantUML) | PlantUML diagrams across the repository |
Prerequisites
- Emacs on
PATH. - PlantUML on
PATH(formake_all_diagrams; skipped if absent). - The project must be configured (
cmake --preset ...).
Script
The deploy_org target has no script of its own — it delegates to the
four sub-targets listed above. The CMake definition lives in
CMakeLists.txt near add_custom_target(deploy_org ...).
Tested by
Manual. Run dorg after any change to doc/llm/, doc/recipes/, or any
.org file. Verified working when all four sub-targets complete without
error.
See also
- How do I deploy the site? — sub-target for the website.
- How do I deploy the skills? — sub-target for Claude Code skills.
- How do I deploy the settings? — sub-target for
.claude/settings.json. - How do I generate PlantUML diagrams? — sub-target for diagrams.
- CMake setup — preset names and output directory layout.