super-productivity/docs/documentation-guide.md
johannesjo eddcea7070 docs: trim CLAUDE.md and split E2E reference into e2e/CLAUDE.md
Drop the architecture overview (derivable from code and already
covered in docs/sync-and-op-log/ and ARCHITECTURE-DECISIONS.md),
collapse the long sync invariants into one-liners with pointers,
and dedupe the anti-patterns table against the rule lists. Move
the SuperSync docker-compose block and E2E iteration tips into
e2e/CLAUDE.md where the rest of the E2E reference lives. Tighten
the new docs/documentation-guide.md by dropping content that
duplicates docs/wiki/0.00-Wiki-Structure-and-Organization.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 23:04:03 +02:00

4.2 KiB

Documentation Guide

Rules and conventions for keeping Super Productivity's documentation in sync with the code.

Why this matters

The docs/wiki/ directory is the manually curated, human-focused wiki that ships to the GitHub Wiki via CI. It is intentionally separate from the auto-generated DeepWiki, which describes code mechanics. The wiki is what users read for context, intent, and how features fit together.

When to update the wiki

When user-facing functionality changes, update docs/wiki/ in the same PR. Common cases and their target notes:

Change Note to edit
New/changed/removed setting, preference, or config option 3.02-Settings-and-Preferences.md
Added/changed/removed keyboard shortcut 3.03-Keyboard-Shortcuts.md
Short-syntax additions or changes 3.04-Short-Syntax.md
New or changed REST / Plugin / Sync API surface 3.01-API.md
New issue or sync provider, or behavior change in an existing one 3.07-Issue-Integration-Comparison.md / 3.08-Sync-Integration-Comparison.md
User data shape, storage location, or backup/import behavior changes 3.06-User-Data.md
New theming hook or theme variable change 3.09-Theming.md
Web vs desktop capability differences 3.05-Web-App-vs-Desktop.md

If a change does not map to any of the above and is purely internal (refactor, test, perf, build), no wiki update is needed.

How to write wiki content

Read docs/wiki/0.00-Wiki-Structure-and-Organization.md before editing. It defines the four note categories (Quickstarts, How-To, Reference, Concepts), the numbering scheme, and the Diátaxis-style writing guidance for each. Reference notes describe accurately, comprehensively, and consistently — nothing more.

Default to Reference notes (3.XX)

Reference notes are mechanical descriptions of what exists (settings, shortcuts, APIs, data shapes, comparisons). They are the safest target for code-driven updates. The other categories are more human-authored and should be touched with care:

  • Quickstarts (1.XX) — teaching/onboarding narratives. Don't rewrite voice or restructure on your own.
  • How-To (2.XX) — task recipes with assumed audience and tone. Update steps if a workflow genuinely changed; don't expand scope.
  • Concepts (4.XX) — explanatory background and design rationale. Touch only with strong evidence; flag rather than rewrite.

If a change clearly affects a non-Reference note (e.g. a How-To step is now wrong because the UI moved), make the minimal correction needed and call it out in the PR description so a human can review the prose. If unsure which note to edit, or whether a change warrants a wiki update at all, ask before writing.

Wiki linting and quality

Wiki notes are linted in CI before being synced to GitHub Wiki. See docs/wiki/0.02-Wiki-QA-and-Maintenance.md for linting rules and link-checking, and docs/wiki/0.01-Style-Guide.md for markdown and formatting conventions.

Developer-facing docs

The wiki is for end users. Developer-facing docs (docs/styling-guide.md, docs/sync-and-op-log/, docs/plugin-development.md, ARCHITECTURE-DECISIONS.md) follow the same "update alongside the code" rule when their subject changes.