Release docs checklist
For every release PR or feature PR, check:Validation
Run:docs.jsonis valid JSON- Every nav page exists
- No MDX page is missing from nav
- Each MDX file has frontmatter with
titleanddescription - Internal docs links point to a known page or public asset
openapi.yamlcontains routes- The connection registry can be read from code
Screenshot workflow
Screenshots come from app e2e specs:apps/screenpipe-app-tauri/e2e/screenshots/ into:
Ownership map
Drift rules
- If a route is added to code, OpenAPI and docs should mention it or intentionally keep it reference-only.
- If a connection is added to
screenpipe-connect, docs must include it in the reference. - If release notes mention a feature, the durable guide should also explain how to use it.
- If a screenshot changes materially, update the image in the same PR.
Match current product terminology
Use scheduled task in page titles, navigation, prompts, descriptions, and UI instructions. The app uses Scheduled tasks, My tasks, Discover, and NEW; an empty task list offers examples and a creation form. Keep executable identifiers unchanged:screenpipe pipe, /pipes, pipe.md, configuration keys, and source filenames still use technical names. Explain that distinction in reference material. When renaming a docs route, update internal links and add a redirect so saved links continue to work. Remove or replace screenshots that display retired labels.
Casing, icons, and visual style
Use sentence case for page titles, sidebar labels, headings, cards, and instructions. Preserve product names and acronyms such as Screenpipe, ChatGPT, macOS, AI, API, MCP, and CLI. Write casing in the source; never use CSS text transforms. Keep commands, paths, URLs, configuration keys, code examples, and quoted output unchanged. Every page needs a shortsidebarTitle and a named Lucide icon in frontmatter. Use the shared icons.library setting in docs.json for both navigation and cards. Avoid mixing icon libraries, emoji, and custom integration logos in the sidebar. Check new icon names in the Mintlify preview.
Keep shared colors, fonts, and light/dark logos in docs.json, and reading typography and corner sizes in style.css. Follow the repository design guide: Space Grotesk headings, Crimson Text prose, IBM Plex Mono code, neutral ink and bone surfaces, and 8px surfaces with 6px controls. Check light and dark mode and a narrow viewport before pushing visual changes.
The docs validator checks navigation casing, product names, required page icons, and logo assets. Run bunx mint validate for the full Mintlify build and bunx mint broken-links for link checks.
Review analytics as documentation evidence
Use comparable date windows and exclude partial days when comparing trends. Keep human page views separate from agent requests; repeatedllms.txt or page fetches are not unique users or product adoption.
Review unanswered assistant conversations and negative feedback for concrete failed steps. An answered label measures coverage, not correctness or customer resolution. Conversation categories can overlap, and live table totals can differ from the chart’s scope. Cluster incremental search strings into user intents before prioritizing work.
For each fix, record the source-backed answer, affected guide, and a question to retest after deployment. Useful regression questions include:
- Why does the desktop download ask for payment details?
- Does my plan include Claude Pro, or can I use an Anthropic API key?
- Where is Live meeting notes, and does it fix a failed summary?
- What should I do about an invalid bundled Pi compaction patch?
- Can I change the interface to Spanish or record an iPhone?
- How do I verify MCP or Ollama retrieved a real recording?