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.
1. Question
How do I rebuild the website, Claude Code skills, settings, and PlantUML diagrams all at once?
2. 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:
Via compass build (not raw cmake --build, so it takes the
host-wide build lock — see How do I build the system?):
./compass.sh build deploy_org
Or with the shorter alias:
./compass.sh build 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.
2.1. Individual targets
Run a single target if you only changed one kind of artefact. The four
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 |
.claude/settings.json from its org source |
deploy_dsh_settings |
compass build --direct settings --dsh |
.dsh/, copied into ~/.dsh |
make_all_diagrams (mad) |
cmake only (PlantUML) | PlantUML diagrams across the repository |
The settings alias deploys both agent surfaces; --claude and --dsh
narrow it to one, as the two rows above do.
2.2. Prerequisites
- Emacs on
PATH. - PlantUML on
PATH(formake_all_diagrams; skipped if absent). - The project must be configured (
cmake --preset ...).
3. Script
The deploy_org target has no script of its own — it delegates to the
five sub-targets listed above. The CMake definition lives in
CMakeLists.txt near add_custom_target(deploy_org ...).
4. Tested by
Manual. Run dorg after any change to doc/llm/, doc/recipes/, or any
.org file. Verified working when all five sub-targets complete without
error.
5. 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.