Story: Build and publish user manual PDF via CMake
Table of Contents
This page documents a story in Sprint 18. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
A deploy_manual CMake target compiles user_manual.org to a PDF via
Emacs/LaTeX. The resulting PDF is committed to the repository and linked
from the documentation so readers can download it without running the
build themselves.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 18 |
| Now | Nothing. |
| Waiting on | — |
| Next | — |
| Last touched | 2026-05-29 |
Acceptance
cmake --build ... --target deploy_manualproducesdoc/manual/user_guide/user_manual.pdf.- The PDF is committed to the repository.
- A download link to the PDF appears in the user manual and/or the site nav.
- The PDF build does not break the existing
deploy_sitetarget.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Task: User manual restructure | DONE | 2026-05-24 | 2026-05-24 | Retrospective record of PR #807: restructured user_manual.org into chaptered layout, wrote the introduction chapter, migrated screenshots to assets/images. |
| Task: Add CMake target to build user manual PDF and commit it | DONE | 2026-05-24 | 2026-05-24 | Follow the existing deploy_site pattern to add a deploy_manual CMake target that runs Emacs/LaTeX to export user_manual.org as PDF. Commit the PDF and add a download link. |
| Task: Write Chapter 1: Login and Connection Manager | DONE | 2026-05-24 | 2026-05-28 | Flesh out system_bootstrapping.org with full prose covering the login screen and all Connection Manager functionality, with screenshot placeholders. |
| Task: Write Chapter 1: System bootstrapping concepts and provisioning wizards | DONE | 2026-05-24 | 2026-05-24 | Explain the multi-tenant/multi-party model and walk through the system, tenant, and party provisioner wizards with screenshot placeholders. |
| Task: Create documentation update skill | DONE | 2026-05-24 | 2026-05-24 | A Claude Code skill that instructs the LLM to update the user manual whenever functionality is added or changed. |
| Task: Generate all missing screenshots for the manual | DONE | 2026-05-25 | 2026-05-28 | Capture every [SCREENSHOT NEEDED] placeholder image across the user manual chapters and wire them in. |
| Task: Add user_manual_site.org and update manuals.org | DONE | 2026-05-28 | 2026-05-28 | Create a site-friendly HTML entry point for the user manual with a chapter table, and update manuals.org to use a structured manuals table. |
| Task: Add site:pdf publish component and switch manual to book LaTeX class | DONE | 2026-05-25 | 2026-05-25 | Wire site:pdf into .build-site.el; change user_manual.org to book class; regenerate user_manual.pdf. |
Decisions
Out of scope
- Automated PDF update on every commit — the PDF is rebuilt and committed manually when the manual content changes significantly.