Refresh documentation screenshots
The screenshot manifest attools/docs-screenshots.json maps each application section to the documentation pages that use it. The capture script refreshes all sections in light and dark themes, at 1280 × 900 CSS pixels on desktop and 390 × 844 CSS pixels on mobile. Images use 2× pixel density for guide examples and 4× for the homepage lead image; the receipt records both viewport and image dimensions.
For optional manual documentation capture, install the capture browser once, then build the application and run the tool:
DATABASE_URL for a disposable local PostgreSQL database. The script creates a new isolated database schema, starts a temporary loopback server, and creates an example workspace through the real API. It never logs in to an existing installation. The example includes multiple boards, tasks, people, comments, notifications, and API keys. API key values, passwords, invitation links and session cookies are never written to the screenshot receipt or shown in captured dialogs.
The script captures every manifest entry, including setup, sign-in, empty, missing-page and server-error states. It replaces assets under docs/assets/screenshots/release-v1 and writes file dimensions, hashes, guide mappings, failures and cleanup status to tmp/docs-screenshots-receipt.json. A missing section, failed page or unconfirmed schema cleanup fails the command. These are the canonical lossless PNG assets served directly by Mintlify; run the documentation build after refreshing them.
To capture every page of the documentation site as well, start the local Mintlify preview and supply its loopback URL:
tmp/docs-page-screenshots; application assets remain limited to the visible viewport.
To capture only an already regenerated documentation preview without changing application assets:
--section board-settings. This writes a separate section receipt and does not establish that the full set has been refreshed. Failed captures retain a diagnostic image and HTTP status/path information under tmp, without recording response bodies or credentials. Requests are paced to respect Mill’s normal rate limits.
After a failed full capture, pnpm docs:screenshots --resume keeps complete sections only when their image hashes, dimensions and content-readiness checks still pass, the previous isolated schema was removed, and the application build has not changed. Remaining sections use a new isolated workspace. The receipt records both capture phases; rebuilding the application requires a fresh full capture.